Commit graph

750 commits

Author SHA1 Message Date
Adrian Sampson
9ee4adc5e1 move remaining generic Query types to dbcore.query
NumericQuery is still broken. This, of course, is the whole reason for the
change.
2014-01-20 16:40:50 -08:00
Adrian Sampson
77daa542c8 fix infinite-recursion regression in rewrite
Reported by axion on IRC.
2014-01-20 11:39:33 -08:00
Adrian Sampson
dcee7b6219 dbcore: terminology
Replace "library" and "lib" references in dbcore with "database" and "db" for
short.
2014-01-18 16:36:04 -08:00
Adrian Sampson
cbbb38c417 new BytesQuery factors out MatchQuery's path logic 2014-01-13 16:17:30 -08:00
Adrian Sampson
1ad1f7634c py26 compatible format strings (fix #490) 2014-01-09 11:22:49 -08:00
Adrian Sampson
d30db10d10 mpdupdate: remove debug clause
Thanks to @phmongeau for pointing out this embarrassing mistake.
2014-01-08 22:43:10 -08:00
Heinz Wiesinger
7158f7aefc Make sure bpm values coming from echonest are stored as integers. 2014-01-05 20:21:04 +01:00
Adrian Sampson
04c0bd50fd smartplaylist: use new evaluate_template signature 2013-12-29 12:30:44 -08:00
Adrian Sampson
8a105b0cb9 Merged in yevgenybezman/beets/scrub-add-mp4 (BB pull request 1)
scrub: Added MP4 support to scrub plugin
2013-12-22 12:47:34 -08:00
Yevgeny Bezman
7310f0a371 scrub: Added MP4 support to scrub plugin
--HG--
branch : scrub-add-mp4
2013-12-22 22:04:47 +02:00
Adrian Sampson
938563e287 echonest: get audio_summary in search (fix #481) 2013-12-18 12:35:31 -08:00
Adrian Sampson
5e405f6b84 Merge pull request #480 from fortes/patch-1
Don't try to parse None as HTML when fetching lyrics
2013-12-18 12:04:45 -08:00
Adrian Sampson
5fb7c424ad use canonical parent, not base tag (#478) 2013-12-18 12:01:55 -08:00
Filipe Fortes
0824ccb85f Don't try to parse None as HTML when fetching lyrics
Fixes #479
2013-12-18 07:37:01 -08:00
Adrian Sampson
3338ef2ff2 lastgenre: multiple + canonical genres (fix #478) 2013-12-17 17:29:37 -08:00
Adrian Sampson
6ab0abfa90 detect missing echonest fingerprints (fix #477) 2013-12-17 17:18:16 -08:00
Adrian Sampson
16a6138f33 Merge branch 'master' of github.com:sampsyo/beets 2013-12-17 17:13:21 -08:00
Johann Klähn
0bb395fa8c mpdstats: fix typo/bug 2013-12-14 12:11:18 +01:00
Adrian Sampson
d0e53d48b3 echonest: tiny py26 fix 2013-12-12 15:50:08 -08:00
Adrian Sampson
19868946d5 mpdstats refactor: comments/credit 2013-12-12 15:47:26 -08:00
Johann Klähn
159a67e30f mpdstats: reload item before calculations
As mpdstats is a long running process the value of one of the attributes
may have changed since the song started to play (f.ex. through a manual
update using `modify`).
2013-12-12 08:29:01 +01:00
Johann Klähn
df274e2b15 mpdstats: refactor plugin 2013-12-12 08:29:01 +01:00
Johann Klähn
ad2028ddf7 mpdstats: do not call item.write
The attributes used by this plugin are not 'writable'[^1] anyway so this
leads to needless file access. Also we do not need to check for
`item._lib` as this will always be populated by the call to
`lib.items(...)`.

[^1]: As per `ITEM_KEYS_WRITABLE` in `beets/library.py`
2013-12-12 08:23:33 +01:00
Johann Klähn
97e4ccbbd9 expand '~' in host in mpdstats 2013-12-11 12:04:39 +01:00
Adrian Sampson
4ea5ed9eed echonest: always flatten results to dict
This avoids the need for two cases (song object or dict) in parts of the code.
2013-11-29 12:58:46 -08:00
Adrian Sampson
5e08c178e6 echonest: fix codegen/identify
I broke two things:
- forgot to return the fingerprint! oops
- need to handle raw Exception raised by pyechonest
2013-11-29 10:09:09 -08:00
Adrian Sampson
9bcd7aecae echonest: clean up FFmpeg-based audio conversion
subprocess.check_call helps a lot here.

--HG--
extra : amend_source : 009a79de8f97407fc60b62aa6b7bd23856286082
2013-11-27 19:09:54 -08:00
Adrian Sampson
a0056afeaf echonest: clean up analyze workflow
- handle the right exceptions
- add duration to from_track dict
2013-11-27 18:57:29 -08:00
Adrian Sampson
6b54514c65 echonest: simplify fingerprinting strategy
mostly expunging exception-based control flow
2013-11-27 18:35:21 -08:00
Adrian Sampson
d5dd68af24 echonest: sort analysis methods by priority
These are now ordered in the code in the same sequence that we try them:
- profile (ID)
- search (metadata)
- identify (fingerprint)
- analyze (upload)
2013-11-27 18:26:44 -08:00
Adrian Sampson
78688cc3f1 echonest: simplify ID-based lookup ("profile")
- don't use generic Exceptions for control flow
- extraneous .get() calls
2013-11-27 18:18:25 -08:00
Adrian Sampson
1ae2894a01 echonest: simplify method-aggregator loop 2013-11-26 18:20:25 -08:00
Adrian Sampson
4ad9635043 echonest: use pipeline stage
In addition to the performance benefit of running in our own thread, this also
obviates the need for the _songs dict to pass stuff between stages.
2013-11-26 18:11:14 -08:00
Adrian Sampson
d367bc31d4 echonest: don't needlessly write during import
On the import hook, the config['import']['write'] check (and writing at all)
is not necessary, since this will be taken care of later in the program.
2013-11-26 17:58:02 -08:00
Adrian Sampson
8fe254f086 echo nest: top-level code review pass
General Python/beets style changes:
- "x is None" can generally be replaced with "not x"
- prefer iteration over repetitive lines
- config[foo].get(bool) can be replaced with config[foo] in conditions
- removed extraneous "return None", which is what Python functions do
  automatically if you don't return anything
- 79-column wrap
2013-11-26 15:20:18 -08:00
Adrian Sampson
8483b67641 duplicates: only one type of deletion 2013-11-25 23:17:07 -08:00
Adrian Sampson
1966bc9bda duplicates: some config handling simplification 2013-11-25 23:15:55 -08:00
Adrian Sampson
1171f47e98 mpdstats: log with displayable_path, etc. 2013-11-25 22:58:43 -08:00
Adrian Sampson
0167f67a96 simplify MPD configuration 2013-11-25 22:45:42 -08:00
Adrian Sampson
0c32ad1dee mpdstats: style fixes 2013-11-25 22:15:22 -08:00
Adrian Sampson
2c0c8494ba mpdstats: clean up some unused code 2013-11-25 22:05:43 -08:00
Adrian Sampson
38ecb35718 lyrics -f (#455, closes #414): style, changelog 2013-11-25 15:58:53 -08:00
Pedro Silva
9b75db8326 merge Bitdemon-master
- minor style changes
- synchronize with documentation
2013-11-17 12:34:53 +01:00
Bitdemon
f87606869c Update lyrics.py 2013-11-10 23:18:53 +01:00
Bitdemon
de0f0792ef Update lyrics.py 2013-11-10 23:13:35 +01:00
Bitdemon
f5f73be2b5 Update lyrics.py 2013-11-10 22:58:36 +01:00
Bitdemon
86d74f7d39 Update lyrics.py
added -f option to lyrics plugin
first draft
2013-11-10 22:44:37 +01:00
Pedro Silva
e8d6c94995 revert debug print left over from previous commit 2013-11-07 22:15:52 +01:00
Pedro Silva
27da05f9d3 stringify key values prior to hashing 2013-11-07 22:13:42 +01:00
Mathijs de Bruin
2bab3135b3 Fix for #411: iHate fails with singletons. 2013-11-07 13:57:25 +01:00