Commit graph

66 commits

Author SHA1 Message Date
Adrian Sampson
e834ffd44f make test suite runnable with "setup.py test" 2010-07-08 11:07:56 -07:00
Adrian Sampson
a0bf6112ae remove dead code: add_path 2010-07-05 21:15:28 -07:00
Adrian Sampson
75ec3fda86 some very basic UI unit tests (for "list" only, for now) 2010-07-05 19:58:30 -07:00
Adrian Sampson
40a965ea18 detect unreadable files that seem to be of the correct type
In the case that Mutagen throws an exception while trying to read a file, we
throw an UnreadableFileError, which is a new superclass for FileTypeError.
2010-07-03 23:44:28 -07:00
Adrian Sampson
4be6edab7b read-only metadata (length & bitrate) support for ogg and ape 2010-06-26 11:01:48 -07:00
Adrian Sampson
cd9cfbe6fc refactor generated and specific mediafile tests into separate modules
--HG--
rename : test/test_mediafile.py => test/test_mediafile_basic.py
2010-06-26 10:52:39 -07:00
Adrian Sampson
3e23b412f4 a few more fields for Monkey's Audio support 2010-06-26 02:24:48 -07:00
Adrian Sampson
f8c8bff694 support some alternate ogg field names 2010-06-26 02:12:55 -07:00
Adrian Sampson
f944952300 preliminary support for ogg voribis
This entailed:
- changing the "flac" storage style option to "etc" to encompass both
  flac and vorbis as the tags are very similar
- permitting multiple StorageStyles per field/format, to allow a
  read-any/store-all approach to multiple field options
2010-06-26 02:07:13 -07:00
Adrian Sampson
ed51369dce track ordering now always uses bipartite matching algorithm, no longer assumes
current metadata to be correct if it's complete

Previously, we were using the Munkres algorithm (minimum bipartite matching) to
order tracks intelligently only as a fallback if the current metadata was
paradoxical or incomplete. This was because of a concern about the performance
of the potentially-O(n^3) Munkres solver. However, it was found that (a) the
performance is actually not bad, taking on the order of 0.02 to perform a
matching, and (b) there was no recourse for the tagger to reorder tracks that
were legitimately in the wrong order. Now, we get intelligent reordering of
badly tagged music even when the metadata seems to be complete.

To retain some of the functionality of the old orderer, the track distance
metric was expanded to include a component reflecting the track index.

In doing this, another bug was discovered in the UI that showed the track name
differences based on an arbitrary ordering. Now, the tag_album function returns
a reordered items list with every candidate.
2010-05-30 23:52:54 -07:00
Adrian Sampson
d1a3311fdd deal with MusicBrainz 503 (server busy) errors by retrying a few times 2010-05-28 11:20:59 -07:00
Adrian Sampson
67c4ec9507 change to MIT license
--HG--
rename : COPYING.txt => LICENSE.txt
2010-05-28 00:07:11 -07:00
Adrian Sampson
f6a0345786 intuitive field restrictions on text queries for browsing functions 2010-04-10 13:17:44 -07:00
Adrian Sampson
6769c9b20d make sure pathnames are unicode everywhere 2010-04-09 15:52:31 -07:00
Adrian Sampson
38801813be Item no longer retains a Library (changed constructors)
--HG--
branch : device
2010-04-06 11:45:31 -07:00
Adrian Sampson
68d43380b4 remove remaining library-interaction methods from Item
--HG--
branch : device
2010-04-06 11:36:00 -07:00
Adrian Sampson
628cfbffe2 Item.move() now takes a library as an argument
--HG--
branch : device
2010-04-06 11:18:41 -07:00
Adrian Sampson
c7f98ccde1 make the PodLibrary interface class more consistent; remove more back-references
from Item to Library

(including removing the delete() method, which was unused)

--HG--
branch : device
2010-04-06 11:07:57 -07:00
Adrian Sampson
4d1944f939 better names: add vs. add_path
--HG--
branch : device
2010-04-06 10:17:53 -07:00
Adrian Sampson
d3d485195c move destination calculation to Library from Item
--HG--
branch : device
2010-04-06 10:07:58 -07:00
Adrian Sampson
ec861e499c better distance, multiple candidates, and distance threshold 2009-12-18 19:21:41 -08:00
Adrian Sampson
4280760191 truncate long filenames 2009-11-28 17:03:36 -08:00
Adrian Sampson
a348e19112 moved per-library settings to config file 2009-11-27 21:18:20 -08:00
Adrian Sampson
85b4d9a129 fixed handling of misnumbered tracks during ordering 2009-11-25 14:30:52 -08:00
Adrian Sampson
71c5141f80 correct super-attribute behavior 2009-11-17 23:15:51 -08:00
Adrian Sampson
0377a0c1e5 crawl for album directories 2009-11-08 20:36:57 -08:00
Adrian Sampson
ce49755200 tolerate missing data 2009-11-02 22:45:07 -08:00
Adrian Sampson
991411da8a method name change in test 2009-11-02 22:16:14 -08:00
adrian.sampson
94b071493b int casting is now more tolerant (allowing "0 BPM" in "It's Blitz")
--HG--
extra : convert_revision : svn%3A41726ec3-264d-0410-9c23-a9f1637257cc/trunk%40225
2009-05-12 19:56:49 +00:00
adrian.sampson
f6b53142a9 now tolerates space-separated release times
--HG--
extra : convert_revision : svn%3A41726ec3-264d-0410-9c23-a9f1637257cc/trunk%40221
2009-04-21 07:21:23 +00:00
adrian.sampson
debebc616c fixed safetifying of destination paths
--HG--
extra : convert_revision : svn%3A41726ec3-264d-0410-9c23-a9f1637257cc/trunk%40220
2009-04-15 05:48:40 +00:00
adrian.sampson
895806e8cc fixed handling of ID3 frames with empty lists
--HG--
extra : convert_revision : svn%3A41726ec3-264d-0410-9c23-a9f1637257cc/trunk%40218
2009-04-14 03:47:09 +00:00
adrian.sampson
9925a4d8e3 fixed handling of MusicBrainz release dates with no day
--HG--
extra : convert_revision : svn%3A41726ec3-264d-0410-9c23-a9f1637257cc/trunk%40214
2009-04-13 05:07:31 +00:00
adrian.sampson
4b7119855e BPD now reports empty path components as '(unknown)'
--HG--
extra : convert_revision : svn%3A41726ec3-264d-0410-9c23-a9f1637257cc/trunk%40201
2009-04-12 01:48:37 +00:00
adrian.sampson
0b309edd27 path encoding now works with slashes better
--HG--
extra : convert_revision : svn%3A41726ec3-264d-0410-9c23-a9f1637257cc/trunk%40199
2009-04-11 02:51:26 +00:00
adrian.sampson
60848d85ee added GPL license and accompanying notice
--HG--
extra : convert_revision : svn%3A41726ec3-264d-0410-9c23-a9f1637257cc/trunk%40197
2009-04-09 02:46:22 +00:00
adrian.sampson
155c9f7303 added likely_metadata
--HG--
extra : convert_revision : svn%3A41726ec3-264d-0410-9c23-a9f1637257cc/trunk%40196
2009-04-07 23:57:19 +00:00
adrian.sampson
7f6ace92be tests for mb.py
--HG--
extra : convert_revision : svn%3A41726ec3-264d-0410-9c23-a9f1637257cc/trunk%40195
2009-04-07 23:36:02 +00:00
adrian.sampson
1cdf13ea8d PEP8
--HG--
extra : convert_revision : svn%3A41726ec3-264d-0410-9c23-a9f1637257cc/trunk%40133
2009-02-10 02:54:11 +00:00
adrian.sampson
b6345fdd5d added forgotten test resource
--HG--
extra : convert_revision : svn%3A41726ec3-264d-0410-9c23-a9f1637257cc/trunk%40131
2009-02-10 02:07:39 +00:00
adrian.sampson
176b14e052 created setup.py and trimmings
--HG--
rename : bts.py => bts
rename : test/alltests.py => test/testall.py
extra : convert_revision : svn%3A41726ec3-264d-0410-9c23-a9f1637257cc/trunk%40130
2009-02-10 00:50:21 +00:00
adrian.sampson
cf556b8166 tolerate times in dates (but ignore them)
--HG--
extra : convert_revision : svn%3A41726ec3-264d-0410-9c23-a9f1637257cc/trunk%40127
2009-02-07 23:55:19 +00:00
adrian.sampson
7d7c625091 limit to 80-character lines
--HG--
extra : convert_revision : svn%3A41726ec3-264d-0410-9c23-a9f1637257cc/trunk%40121
2009-02-07 04:23:52 +00:00
adrian.sampson
647bd33b8e added bitrate support for flac
--HG--
extra : convert_revision : svn%3A41726ec3-264d-0410-9c23-a9f1637257cc/trunk%40120
2009-02-07 04:19:07 +00:00
adrian.sampson
b1a45fda0b added bitrate and length to mediafile
--HG--
extra : convert_revision : svn%3A41726ec3-264d-0410-9c23-a9f1637257cc/trunk%40119
2009-02-07 04:13:36 +00:00
adrian.sampson
22795c7124 added Mon Aug 25 00:52:14 PDT 2008 convenience field for MediaFile
--HG--
extra : convert_revision : svn%3A41726ec3-264d-0410-9c23-a9f1637257cc/trunk%4089
2008-08-25 07:52:18 +00:00
adrian.sampson
b294b2e1f9 slightly reduced the number of unnecessary tests
--HG--
extra : convert_revision : svn%3A41726ec3-264d-0410-9c23-a9f1637257cc/trunk%4088
2008-08-25 07:15:58 +00:00
adrian.sampson
08246c5f4b added file necessary for full-date test
--HG--
extra : convert_revision : svn%3A41726ec3-264d-0410-9c23-a9f1637257cc/trunk%4086
2008-08-04 05:52:00 +00:00
adrian.sampson
1294d573d6 dded full date access to MediaFile (yyyy-mm-dd)
--HG--
extra : convert_revision : svn%3A41726ec3-264d-0410-9c23-a9f1637257cc/trunk%4085
2008-08-04 05:46:44 +00:00
adrian.sampson
fb4344e937 item fields no longer dirtied if unchanged when assigned
This is especially important for read(), which will assign many times while, in many cases, causing few actual changes. A store() that follows soon after will now be much more lightweight.

--HG--
extra : convert_revision : svn%3A41726ec3-264d-0410-9c23-a9f1637257cc/trunk%4079
2008-07-09 21:44:15 +00:00