Thomas Scholtes
1e45ba597d
embed_item function does not raise if image file not found
...
Fixes #968
2014-09-18 16:19:05 +02:00
Adrian Sampson
9aa05bdb00
Version bump: 1.3.9
2014-09-17 19:19:22 -07:00
Adrian Sampson
c16c90b948
Date for 1.3.8 release
2014-09-17 19:17:03 -07:00
Adrian Sampson
893f4c5d9b
Changelog cleanup
2014-09-17 19:14:15 -07:00
Adrian Sampson
66f952bbb2
Merge pull request #965 from geigerzaehler/write-hook-mutate
...
Zero plugin can modify tags without changing the item
2014-09-17 12:02:01 -07:00
Thomas Scholtes
db391c8f20
zero: Only changes media file tags not database
...
Uses the new API from the previous commit and fixes #963 .
There is a possible issue with backwards compatibility: Changes to the
item in the 'write' event do not propagate to the tags anymore. But I'm
not aware of other plugins that use the API in that way.
2014-09-17 12:17:20 +02:00
Thomas Scholtes
0bf7c06f7d
Media file tags can be customized with the `write` event
2014-09-17 12:05:17 +02:00
Thomas Scholtes
a38a6b2de9
Decode bytestring paths to unicode when logging
...
Fixes #964 .
2014-09-17 11:25:29 +02:00
Thomas Scholtes
ad71af2c3d
Add NoneQuery
...
This makes fast SQL queries for singletons possible
2014-09-17 11:23:00 +02:00
Thomas Scholtes
89d7c5d896
Extend the documentation of the ImportTask
2014-09-17 11:21:06 +02:00
Adrian Sampson
c3f9b083d7
More on sorting in the changelog
2014-09-16 14:55:56 -07:00
Adrian Sampson
5f2ca0b75b
Rename smartartist to artist/albumartist ( #953 )
...
This is basically always what you want, so now you can just use the name of
the field without "smart".
2014-09-16 14:53:16 -07:00
Adrian Sampson
2795a01e28
Default sort configuration is global ( #953 )
...
It would be nice to cache the Sort object so we didn't have to re-parse this
every time...
2014-09-16 14:34:21 -07:00
Adrian Sampson
0bdd0c7159
Fix mocking in Spotify tests
...
The mock wasn't being triggered; these tests were going to the network. Now we
don't match on the query string and instead test that it was correct by
actually parsing it.
2014-09-16 10:43:53 -07:00
Thomas Scholtes
9a382eb581
Test importing unmatched tracks
2014-09-16 13:44:33 +02:00
Thomas Scholtes
e579db6f0a
Hide task specific code from importer stage
2014-09-16 12:52:15 +02:00
Adrian Sampson
f5e1846ff0
Add slow sort to SmartArtistSort
2014-09-15 19:49:05 -07:00
Adrian Sampson
f9c6dd6d67
Move SmartArtistSort to library ( #953 )
...
Models can now have a dict of special sort classes.
2014-09-15 19:43:22 -07:00
Adrian Sampson
e2b3fafefa
Remove SortedQuery ( #953 )
...
This turned out to be less useful than I was hoping.
2014-09-15 18:39:49 -07:00
Adrian Sampson
eb89d3a850
The demise of get_query_sort ( #953 )
...
The type tests now live where they ought to live.
2014-09-15 18:37:09 -07:00
Adrian Sampson
80116ccc9e
Introduce parse_query_string for the common case
...
Most clients other than Library._fetch know what type they have!
2014-09-15 18:21:22 -07:00
Adrian Sampson
9c93c0656a
Factor out parse_query from get_query_sort
2014-09-15 18:10:17 -07:00
Adrian Sampson
0f37737168
dbcore: parse_sorted_query ( #953 )
2014-09-15 17:52:52 -07:00
Adrian Sampson
08b9b90f74
convert: Fix #962 , extensions in auto mode
2014-09-15 17:00:59 -07:00
Adrian Sampson
84c0f909b6
replaygain: Check for bad mp3gain output ( #961 )
2014-09-15 10:25:57 -07:00
Thomas Scholtes
a17e8b54be
Flexible SQL columns have TEXT affinity
...
Reverts 2314f0f9ff
Also implements handling of text values for the base `Type` and
overwrites in the blob-based `PathType`
2014-09-15 01:14:06 +02:00
Thomas Scholtes
a92493cf12
Test queries on boolean fields
2014-09-15 00:48:18 +02:00
Thomas Scholtes
e5da5757c0
Preserve state in query tests
2014-09-15 00:36:24 +02:00
Thomas Scholtes
e864c2ff43
Document from/to SQL serialization of types
2014-09-15 00:30:34 +02:00
Adrian Sampson
77f7d18c00
Remove stray comment from #909
...
Yes, it is necessary.
2014-09-14 13:15:42 -07:00
Adrian Sampson
72436644a6
Merge pull request #909 from arogl/master
...
Clean up of logging messages as described here
2014-09-14 13:14:35 -07:00
Adrian Sampson
cc49c8cc18
Miniscule tweaks for #959
2014-09-14 13:11:47 -07:00
Adrian Sampson
c38d45e273
Merge pull request #959 from geigerzaehler/dbcore-refactor
...
Refactor DBcore without changing behaviour
2014-09-14 13:10:36 -07:00
Adrian Sampson
67b1ac46d7
Changelog for importfeeds echo ( #955 )
2014-09-14 13:06:25 -07:00
Adrian Sampson
20968a92ee
Merge pull request #955 from robotanarchy/master
...
importfeeds: add new 'echo' type that writes to stdout
2014-09-14 13:03:59 -07:00
Adrian Sampson
67c043532c
More docstrings for try_sync ( #958 )
2014-09-14 12:22:56 -07:00
Adrian Sampson
5ba3d98631
More docs/changelog for flex types ( #951 )
2014-09-14 12:10:47 -07:00
Adrian Sampson
8ec4f8bc24
Merge pull request #958 from geigerzaehler/item-sync
...
Update database mtimes in modify and write commands
2014-09-14 12:09:55 -07:00
robotanarchy
2039d2effe
don't use the _write_m3u function for stdout stuff
2014-09-14 20:17:53 +02:00
Thomas Scholtes
fafc56c95b
Unify similar code from Type subclasses in base class
...
Instead of implementing the `parse()` and `format()` methods and
setting the `null` attribute in subclasses, we set the `model_type`
field and the generic implementations of the two methods take care of
the rest.
Again: No change in behaviour!
2014-09-14 17:11:02 +02:00
Lucas Duailibe
b1a5189f68
Add default value for relative_to in play plugin
2014-09-14 12:07:08 -03:00
Thomas Scholtes
30addc12b4
Do not use abstract base class instance
...
We want to move common code into the base class with out changing the
behaviour of the default type.
2014-09-14 16:47:21 +02:00
Thomas Scholtes
629fc0087d
DateType inherits from Float type
2014-09-14 16:17:12 +02:00
Thomas Scholtes
492cf38927
Use item[field] instead of getattr(item, field)
2014-09-14 16:13:35 +02:00
Thomas Scholtes
19d3ca822e
Minor simplifications in Model class
2014-09-14 16:13:35 +02:00
Thomas Scholtes
4cfb59bfba
Add Type.to_sql() and simplify model code
...
Instead of encoding the conversion behaviour in the model class (via
the `_bytes_keys` attribute) we define it on the type. This gives us
a more extensible interface and separates logic.
This should not change any behaviour (as one can see by closely staring
at the code).
2014-09-14 16:13:33 +02:00
Thomas Scholtes
4134a5173a
Split Type.normalize() responsibilities into normalize() and from_sql()
...
Previously `normalize()` was used to convert values set by the model API
consumer and values received from the database. These are two
orthogonal uses.
The commit does not change behaviour since the `from_sql()` method uses
the `normalize()` implementation.
2014-09-14 16:13:33 +02:00
Thomas Scholtes
b86669fe05
Add integer query tests
2014-09-14 16:11:13 +02:00
Thomas Scholtes
1613a199fa
Combine try_write() and store() as try_sync()
...
This makes sure we store the updated file `mtime`. By providing the
same interface on `Album` and `item` we can also reduce some code
duplication in the `modify` command.
2014-09-14 14:44:32 +02:00
Thomas Scholtes
84acf17855
Test that mtimes are updated when writing files
...
Follows the discussion in #937 and the wiki [1].
[1]: https://github.com/sampsyo/beets/wiki/Architecture#modification-times-mtime
2014-09-14 14:19:11 +02:00