Adrian Sampson
f06b1a5f4c
give Subcommand constructor a default value for parser
2010-07-05 16:22:14 -07:00
Adrian Sampson
2ca121cb03
preliminary reorganization of CLI code; remove cmdln module dependency
2010-07-05 16:18:23 -07:00
Adrian Sampson
e50a26e8a4
correctly handle directories passed to import
...
When autotagging, die with an error if given a non-directory. When not
autotagging, just import the single file.
2010-07-04 00:04:28 -07:00
Adrian Sampson
4dcbb38d78
log a warning instead of silently ignoring corrupt files
2010-07-03 23:55:27 -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
37da0f4d49
note about fixed -A switch; bumped version to 1.0b2
2010-07-03 23:05:12 -07:00
Adrian Sampson
e8d14e461b
when importing without autotagging, don't bother identifying albums
2010-07-03 23:02:18 -07:00
Adrian Sampson
9c3db1e0b9
encode all terminal output, silently replacing unsupported characters
...
On terminals where the LANG environment variable didn't list UTF-8 as the
terminal's character encoding, the Python print statement throws an error when
it encounters a character that can't be encoded. So now we manually use the
"replace" policy for all output to the terminal.
2010-06-27 20:32:00 -07:00
Adrian Sampson
c76ddd7da8
fix error when no logfile is given
2010-06-27 20:04:59 -07:00
Adrian Sampson
76f52f9ea6
add a note about import log option
2010-06-27 01:38:44 -07:00
Adrian Sampson
93077c8410
added basic logging during imports
...
Just prints "skip" or "asis" followed by the album path for each untaggable
album.
2010-06-27 01:24:15 -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
ae3c42af05
note about new formats in NEWS
2010-06-26 02:27:58 -07:00
Adrian Sampson
3e23b412f4
a few more fields for Monkey's Audio support
2010-06-26 02:24:48 -07:00
Adrian Sampson
f7cdf60c53
add a couple more alternate field names while we're at it
2010-06-26 02:14:44 -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
08552e2046
remove download link for munkres (author updated pypi entry)
2010-06-10 10:25:25 -07:00
Adrian Sampson
144becf8d5
correct dependencies; add hosted munkres dist
2010-06-10 01:07:48 -07:00
Adrian Sampson
693944944f
fixed manifest inclusion of text files
2010-06-09 21:43:45 -07:00
Adrian Sampson
d1b4a867f2
add readme and news files
...
--HG--
rename : LICENSE.txt => LICENSE
2010-06-09 12:37:26 -07:00
Adrian Sampson
bf0043e02b
update setup.py description, metadata, dependencies
2010-06-09 12:25:18 -07:00
Adrian Sampson
e5f7ee67ca
avoid locking the database greedily during import
...
Previously, the db transaction was running concurrently with the file copying
and tag writing. This meant that the transaction went needlessly long and made
other db-writing processes time out. Now the transaction is short and occurs
after all the file operations.
2010-06-08 23:34:44 -07:00
Adrian Sampson
568c44275f
tagger now previews track index changes as well as title changes
2010-06-08 17:48:13 -07:00
Adrian Sampson
da69c391ec
add "beet stats" command for a few entertaining statistics
2010-06-08 17:08:23 -07:00
Adrian Sampson
d422f7423b
importer now walks directories in sorted order
2010-06-08 16:23:46 -07:00
Adrian Sampson
967e875d04
MPD protocol messages are now declared as strings (bytes), not unicode
...
arguments are still unicode-ized
2010-06-08 14:36:42 -07:00
Adrian Sampson
10b4d31784
escape url-problematic characters like # in gstplayer
2010-06-08 14:30:00 -07:00
Adrian Sampson
84d5ef9807
fix first-two-candidates-gap recommendation case
2010-06-08 13:45:09 -07:00
Adrian Sampson
2027d7f312
remove extraneous spaces from prompts
2010-06-07 23:06:23 -07:00
Adrian Sampson
c38158db39
autotag.tag_album now returns an empty list instead of raising UnknownAlbumError
...
This way, the client still gets current metadata information (allows duplicate
album checking in more cases).
2010-06-05 11:05:59 -07:00
Adrian Sampson
fc0c0c3e0e
remove some of the convoluted control flow in tag_album
2010-06-05 10:47:32 -07:00
Adrian Sampson
a0f80f4c12
helpful message when there's nothing to delete
2010-06-05 00:11:10 -07:00
Adrian Sampson
d23565b040
replace custom _input_yn with _input_options-based version
2010-06-05 00:09:50 -07:00
Adrian Sampson
20dcbb3294
factored out "choose an option" code into _input_options
2010-06-05 00:06:39 -07:00
Adrian Sampson
4db22e3203
move thresholds to autotag module (out of ui)
2010-06-04 23:32:27 -07:00
Adrian Sampson
9c8e726e4f
bypass candidate selection if second-best choice is much worse than first choice
2010-06-02 23:57:16 -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
237ad69bf1
raise auto-accept and auto-select thresholds to 0.05 (from 0.00) and 0.2 (from
...
0.1)
2010-05-29 14:36:18 -07:00
Adrian Sampson
a3cada9807
void divide-by-zero when comparing two zero-length strings (!!! problem)
2010-05-28 19:17:47 -07:00
Adrian Sampson
0b2f203654
make "1" the default candidate selection
2010-05-28 18:20:45 -07:00
Adrian Sampson
53b8ae60db
allow selection of [U]se as-is from "no match found" state
2010-05-28 18:16:54 -07:00
Adrian Sampson
e94e996bfa
skip the "candidates" selection if there's only one choice
2010-05-28 17:57:45 -07:00
Adrian Sampson
fc36443ca4
add existing metadata printout before candidates listing
2010-05-28 17:50:25 -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
634690a811
change name of command-line tool to "beet"
...
--HG--
rename : bts => beet
2010-05-28 08:37:38 -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
47fe87e5f0
friendly error message when gstreamer isn't installed
2010-05-27 23:57:07 -07:00
Adrian Sampson
2c218bf360
added -d flag to bpd command controlling debug output
2010-05-27 23:35:23 -07:00