Bruno Cauet
6408904a8c
Smartplaylit: fix log format string
...
{0.name} → {0[name]} since the argument is a dict.
2015-01-14 12:15:44 +01:00
Bruno Cauet
3804eb5b52
Stop on invalid queries instead of ignoring them
...
So far an invalid query won't be applied:
$ beet ls The Beatles year:196a
will be treaded as
$ beet ls The Beatles
With this commit it stops beets, returns 1 and produces
$ invalid query: u'196a' is not an int or a float
This applies to any querying and therefore on many command, plugins and
some configuration options.
Invalid queries exist on numeric fields and on regular expression usage.
Compile regular expression queries upon instantiation instead of upon
each match test.
The reporting can be improved (give more context). Fix #1219 .
2015-01-14 11:28:50 +01:00
Malte Ried
ad65242ebd
Merge branch 'master' into import-filefilter
...
Conflicts:
beets/importer.py
beets/plugins.py
beetsplug/ihate.py
2015-01-14 10:46:03 +01:00
Adrian Sampson
ccd5e71519
Merge pull request #1218 from brunal/no-global-no-print
...
Clean plugins: no global, no print
2015-01-13 10:37:56 -08:00
Bruno Cauet
9a2a9b0144
smartplaylist: fix docstring
2015-01-13 18:53:47 +01:00
Bruno Cauet
ca91bc8920
mpdupdate: fix indent
2015-01-13 18:53:30 +01:00
Bruno Cauet
753388550e
Clean PlexUpdate plugin
...
- no global variable
- use logging instead of prints
2015-01-13 12:36:16 +01:00
Bruno Cauet
de86b9b570
Clean MPDupdate plugin
...
- no global variable
- use logging instead of prints
- unicode logging
2015-01-13 12:30:40 +01:00
Bruno Cauet
a7beaa6d6e
Clean & shorten smartplaylist code
...
- better log messages
- more idiomatic code: "X not in Y" instead of "not (X in Y)"
- shorten _items_for_query:
- pre-detect whether it's album_query or query, hiding conf. spec to
the function.
- Let library.{items,album} parse the query string, therefore
falling back to beets-level sort spec. if none is given in the
query
2015-01-13 12:11:52 +01:00
Bruno Cauet
82772966c8
Smartplaylist: fix incorrect doc
...
With auto mode playlists are regenerated *at the end of the session, if
a database update happened*, and not after a database update.
2015-01-13 11:53:39 +01:00
Bruno Cauet
7c4496c110
Smartplaylist: log messages instead of printing
...
ui.print_ → self._log.info
Also change config['smartplaylist'] into self.config
2015-01-13 11:42:23 +01:00
Bruno Cauet
fdb768c9db
Simplify smartplaylist flow
...
Suppress the global variable, register listeners if it's needed only.
2015-01-13 11:31:42 +01:00
Bruno Cauet
2e57d8660e
Ensure there's no duplicate plugin listeners
...
A same function cannot be registered twice on a given event.
This will permit improvements of some plugins (e.g. smartplaylist)
2015-01-13 11:29:42 +01:00
Bruno Cauet
c8309cbe57
Simplify BeetsPlugin.listen()
...
Deduplicate code with BeetsPlugin.register_listener().
2015-01-13 11:11:16 +01:00
Bruno
a86fb19f92
Merge pull request #1217 from brunal/logging
...
Use a standard logger for the import log
2015-01-13 09:34:19 +01:00
Bruno Cauet
2cf327e0fd
beet.importer: remove unnecessary log.info() call
2015-01-13 09:23:55 +01:00
Bruno Cauet
81754e5760
beets.logging exports NullHandler on python 2.6
...
NullHandler is not available in python 2.6. We backport it so the
importer log can use it for it is more convenient than guarding calls to
self.logger (see beets/importer.py)
2015-01-13 09:20:29 +01:00
Bruno Cauet
cce0a5d81f
ImporterSession.tag_log(): improve docstring
2015-01-13 09:12:50 +01:00
Bruno Cauet
621ea60af4
Improve importer log unicode-handling test
...
Send unicode instead of utf8-encoded string and check that the
non-ASCII char is correctly handled.
Bonus: use unittest.TestCase.assertIn(A, B) instead of "assert A in B".
2015-01-12 22:20:58 +01:00
Bruno Cauet
8418fb6083
Use a standard logger for the import log
...
The import log now relies on a standard logger, named 'beets.importer'
and configured upon initialization of the import session.
2015-01-12 21:47:44 +01:00
Adrian Sampson
7a49c25e86
Merge pull request #1215 from brunal/clean-config-usage
...
Delete useless "config['mypluginname']" mentions
2015-01-12 11:09:47 -08:00
Bruno Cauet
4babc40fd8
Delete useless "config['mypluginname']" mentions
...
Replace with self.config where this is painless.
More plugins would benefit from this update but that requires turning
functions into methods.
2015-01-12 10:55:59 +01:00
Adrian Sampson
34c9caae67
Changelog for logging changes ( #1208 )
2015-01-11 15:44:38 -08:00
Adrian Sampson
e83b6ae297
Logging ( #1208 ): prefix plugin names, expand docs
...
We now add the plugin name to messages in verbose mode. This may not be the
best final policy, but it does help make the output more readable when many
plugins are talking at once.
2015-01-11 15:39:54 -08:00
Adrian Sampson
6d5945daa4
Use logger.getChild ( #1208 )
...
Let the library do the string formatting for us.
2015-01-11 15:08:42 -08:00
Adrian Sampson
f871ef9e21
Verbosity affects plugins ( #1208 )
...
This restores the -v flag affecting plugins. By default, plugin loggers use
the NOTSET level, which just reuses the base `beets` logger level. The level
is only auto-adjusted for the importer when not in verbose mode.
2015-01-11 15:00:20 -08:00
Adrian Sampson
24317fd4c7
Rename BeetsPlugin._import_stages to import_stages
...
For #1208 . Restores backwards-compatibility and matches the development docs.
2015-01-11 14:27:59 -08:00
Adrian Sampson
1aa04e4500
Merge pull request #1208 from brunal/logging
...
Plugins log everything through their `_log` attribute
2015-01-11 14:22:27 -08:00
Adrian Sampson
65fc5f8062
Disable PyPy on Travis
...
Something seems to be wrong: there's a "fatal RPython error" that I can't
reproduce locally.
2015-01-11 12:18:33 -08:00
Adrian Sampson
0cf9956d5b
Unicode logging formats, FFS ( fix #1214 )
2015-01-11 12:10:52 -08:00
Bruno Cauet
b27c5304d1
Merge branch 'master' into logging
...
Conflicts:
beetsplug/fetchart.py
beetsplug/mpdstats.py
2015-01-09 15:15:27 +01:00
Bruno Cauet
2a527598bf
Add logging usage recommendations to docs
2015-01-09 15:07:02 +01:00
Adrian Sampson
e9834ef51c
Changelog for #1212 , fix #773
2015-01-08 13:44:28 -08:00
Adrian Sampson
558d1f9639
Merge pull request #1212 from brunal/mpdstats-react-only-once
...
mpdstats: don't register a natural song change twice
2015-01-08 13:43:46 -08:00
Adrian Sampson
a7be928065
Changelog for #1211 , fix #1177
2015-01-08 13:41:00 -08:00
Adrian Sampson
1654fc82ce
Merge pull request #1211 from brunal/fetchart-check-isfile
...
Fetchart: check that the art found is a file
2015-01-08 13:40:21 -08:00
Frederik “Freso” S. Olesen
4b1f0cbf48
Happy 2015. ;)
...
See 7a410f636b
Command used:
git grep -l 'Copyright 201'|xargs sed -i -E 's/Copyright 201./Copyright 2015/'`
2015-01-08 21:37:09 +01:00
Bruno Cauet
23e6760e19
Partial rollback of bpd logging
2015-01-08 17:55:40 +01:00
Bruno Cauet
b7735bd3bf
Don't register a natural song change twice
...
mpd responds twice to an 'idle' command upon a 'natural' song change
(i.e. not a skip). Checking the reason for mpd response avoids
registering twice the song change.
Fix issue #773
2015-01-08 12:39:28 +01:00
Bruno Cauet
2e1b0d589d
Fetchart: check that the art found is a file
...
Fixes issue #1177
2015-01-08 10:58:08 +01:00
Bruno Cauet
1ca33a8a52
Avoid using partial() for the listener callback
...
partial() is not a instance of types.FunctionType so
inspect.getargspec() (used in beets/plugins:422) fails on it.
2015-01-08 10:10:42 +01:00
Bruno Cauet
422a7f6063
replaygain: fix backend instanciation
2015-01-06 22:13:17 +01:00
Bruno Cauet
974155f2bc
Fix pep8 in test
2015-01-06 22:10:30 +01:00
Bruno Cauet
00d5473187
Merge branch master into logging
...
Conflicts:
beetsplug/lyrics.py
2015-01-06 21:46:04 +01:00
Bruno Cauet
b2582c5d62
MusicBrainz collection plugin: delete "print" uses
2015-01-06 21:42:34 +01:00
Bruno Cauet
df82e113e5
Fix embedart tests
2015-01-06 21:42:34 +01:00
Bruno Cauet
f504c78681
Fix usage of embedart by convert plugin
...
Instanciation of EmbedCovertArtPlugin on the fly: there may be several
instances → problem with the listeners it registers?
2015-01-06 21:42:28 +01:00
Bruno Cauet
30562024d2
Fix Lyrics plugin tests
2015-01-06 21:42:10 +01:00
Bruno Cauet
1f62711221
Fix FetchArt tests
2015-01-06 21:42:10 +01:00
Bruno Cauet
1f0932968e
Simple test fixes
...
importfeeds, lastgenre
2015-01-06 21:42:10 +01:00