Heinz Wiesinger
c86a5f9d97
Make tracktotal an item-level field.
...
This fixes tracktotal being stored incorrectly for multi-disc releases
where the individual discs have a different number of tracks and
per_disc_numbering is enabled.
2015-01-19 13:02:21 +01: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
30f158a95e
Move "from beets import logging" statements
...
Move the import next to other beets-related imports
2015-01-05 10:05:21 +01:00
Bruno Cauet
e2d3ba1c23
Fix 4 tests by str()-ing a logged exception
2015-01-04 17:02:27 +01:00
Bruno Cauet
7df8bef8b7
Update logging imports: logging → beets.logging
2015-01-04 17:02:27 +01:00
Bruno Cauet
e75f9a703d
Convert beets core to lazy logging
2015-01-04 17:02:27 +01:00
Thomas Scholtes
ec65408c3e
Escape path queries for SQLite
...
Fixes #1146
2014-12-21 12:26:04 +01:00
Adrian Sampson
66d02bc289
Add link parameter to Item.move ( #710 )
2014-11-15 12:41:40 -08:00
Adrian Sampson
8c58caed38
Merge pull request #710 from Rovanion/master
...
Add option to link files instead of moving or copying them.
2014-11-15 12:00:44 -08:00
Adrian Sampson
36d332ab6a
Fix #856 : album dirty tracking
2014-11-13 23:25:16 -08:00
Heinz Wiesinger
ec56f2bbd4
Make 'media' an item level field.
...
Releases can consist of discs of various media types, most typically
CD/DVD combo releases. Having the media value an album level field
forces all discs to be of the same type. Making it an item level
field instead seems to be the proper thing to do here.
Fixes #161
2014-10-12 12:21:13 +02:00
Rovanion Luckey
60af550b18
Merge branch 'master' of https://github.com/sampsyo/beets
...
Conflicts:
beets/library.py
2014-10-05 13:17:21 +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
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
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
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
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
67c043532c
More docstrings for try_sync ( #958 )
2014-09-14 12:22:56 -07:00
Rovanion Luckey
725cb9b60a
Merge branch 'master' of https://github.com/sampsyo/beets
2014-09-14 20:14:42 +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
Thomas Scholtes
629fc0087d
DateType inherits from Float type
2014-09-14 16:17:12 +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
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
f112c9610c
Add 'types' plugin for flexible field types
...
Conflicts:
beets/library.py
2014-09-14 12:34:46 +02:00
Adrian Sampson
369533d46f
Remove special_sorts
...
These are not extensible anyway; we'll need another mechanism for that.
2014-09-13 19:47:20 -07:00
e5e4eaeacd39c5cfba4d7c852c48277ae50331e6
66aee8094f
Clean up of logging messages as described here
...
All logging now prefers the ' (single quote) over the " (double quote)
https://github.com/sampsyo/beets/wiki/Hacking
2014-09-09 11:28:43 +10:00
Rovanion Luckey
3b898163ee
Style fixes.
2014-08-28 19:41:40 +02:00
Rovanion Luckey
36550a0f23
First commit towards a linking move_file().
2014-08-28 19:11:47 +02:00
Thomas Scholtes
91c5d0ae12
Item fields take precedence over Album fields in formatting
...
For consistency, this is reversed when formatting paths. Fixes #858 .
2014-08-25 14:38:58 +02:00
Thomas Scholtes
0798af7774
Refactor model formatting
...
Remove all formatting related code from models. It now lives in the
`FormattedMapping` class. Only API change is from `model.formatted` to
`model.formatted()`.
2014-08-25 14:24:39 +02:00
Jocelyn De La Rosa
dd58f1b452
Catch UnreadableFileError when reading files in a (try_)write context
2014-08-24 00:21:07 +02:00
Adrian Sampson
eb579cf14b
Merge pull request #823 from PierreRust/sortquery
...
Sorting support in beets query mecanism (dbcore)
2014-08-22 14:59:44 -07:00
Harry Khanna
1b61b97e7b
Fix bug causing autoscrubber to be ineffective
2014-08-18 19:12:35 -04:00
Adrian Sampson
7de6259c1d
MediaFile: make id3v23 a constructor parameter
...
For #899 , we need to change MediaFile's behavior (pre-write) based on whether
we're doing ID3v2.3 or not. So we need a field on the object, not a parameter
to `save()`.
2014-08-15 12:09:18 -07:00
Thomas Scholtes
76c7ba9186
Add asciify_paths configuration option
2014-08-06 17:53:44 +02:00
PierreRust
3130a6add9
Minor changes from review (mostly style)
2014-07-24 12:51:21 +02:00
Thomas Scholtes
b5426f72a1
Wrap mediafile read exceptions in library.ReadError
...
The ui only handles library Exceptions. Fixes #857 .
2014-07-06 13:19:43 +02:00
Pierre Rust
cd1dcf6969
Fix minor formatting and comments issues.
2014-07-02 13:05:33 +02:00
Pierre Rust
a90991b296
Removes unused import (flake8 warning)
2014-06-15 22:32:25 +02:00
Pierre Rust
86c34f8740
Moves default sort specification from code to conf
...
Default sort order can be set in configuration file with the
`sort_album` and `sort_item` keys.
2014-06-15 22:32:25 +02:00