Commit graph

10772 commits

Author SHA1 Message Date
Matteo Mecucci
10a4e14045 Added regexps to queries, use with additional column before pattern eg 'title::^Quiet' or ':^Quiet'. 2012-04-28 15:24:17 +02:00
Adrian Sampson
ffed536d5d add %aunique to default path formats (#190)
At this point, everything's in place except for the import workflow. Album
directory uniquification works if you import two identically-named albums and
then immediately execute "beet move". Currently, however, a couple of things
prevent this from working as expected during the normal import process:
- The tmpl_aunique method expects the item to be associated with an album in the
  database before it is called. This is currently not the case.
- With the multithreaded importer, it's possible for both duplicates to have
  their destinations calculated before either is added to the database. This
  means that neither will detect a duplicate at the time of the move/copy.
- Even if the above issue is resolved, it will be the case that only the second
  album to be imported will have a uniquifying string added. If we want to add
  the string to the old album, we'll need to explicitly move it.
Also, documentation on this feature is still forthcoming.
2012-04-24 21:58:06 -07:00
Adrian Sampson
8f128876e2 %aunique: use a single field instead of a sequence
For a less cumbersome uniquifying string, only a single field value is now used
instead of a prefix of a list of fields. The old semantics had two problems that
made it both unnecessary and insufficient:
- In the vast majority of cases, a single field suffices (year OR label OR
  catalog number, for example) and forcing the string to include many identical
  fields is unnecessary.
- If the albums are very similar, a prefix may be insufficient; a better
  solution may be found with an arbitrary subset. (Of course, we can't afford to
  search the whole power set.)
So we're going with a single field for now. This should cause far less
confusion.
2012-04-24 21:15:50 -07:00
Adrian Sampson
8fe3738710 default arguments to %aunique{} (#190) 2012-04-24 20:34:51 -07:00
Adrian Sampson
938a9b2f96 catalognum is an album-level field 2012-04-24 20:03:11 -07:00
Adrian Sampson
f20fbede5e sanitize output of %unique 2012-04-20 10:17:19 -07:00
Adrian Sampson
2a38fcce6a typo in inline plugin docs 2012-04-20 09:58:02 -07:00
Adrian Sampson
e017a95154 docs: clarify single-quote comment is for Unix 2012-04-19 10:24:30 -07:00
Adrian Sampson
9c10d8163b back out readline addition (#376) 2012-04-19 10:21:39 -07:00
Adrian Sampson
7736e279fe typo in changelog for --noincremental 2012-04-15 21:44:36 -07:00
Adrian Sampson
c98aea9973 Merge pull request #31 from phmongeau/master
importfeeds plugin: use os.path.expanduser
2012-04-15 21:43:24 -07:00
Philippe Mongeau
97e202e015 importfeeds: use expanduser on feeds_dir 2012-04-15 21:18:38 -04:00
Adrian Sampson
a64dea25b2 docs for @djrtl's changes (#30) 2012-04-15 14:24:52 -07:00
Adrian Sampson
d3b9d9eaf8 Merge pull request #30 from djrtl/upstream
changes from @djrtl
2012-04-15 13:45:04 -07:00
Matteo Mecucci
594dca3529 Added the shortcut -I for --no-incremental. 2012-04-15 19:10:52 +02:00
Matteo Mecucci
2a76a60794 Added --no-incremental option to beet import. 2012-04-15 17:05:30 +02:00
Matteo Mecucci
43cebabcb6 Added sorting in listing command of bpd 2012-04-15 17:05:16 +02:00
Matteo Mecucci
1ebe1cf728 Added fields command to output a list of available fields for queries and format strings. 2012-04-15 16:57:44 +02:00
Adrian Sampson
2c11855b1e catch URL fetch exceptions in lyrics plugin 2012-04-10 21:05:01 -07:00
Adrian Sampson
ccaf0031cd changelog: wiki link and readline 2012-04-10 14:14:47 -07:00
Adrian Sampson
429ebf61ce readline on Unix (closes GH-28)
Silently skip loading readline when it's not available (e.g., on Windows).

Readline behaves strangely when a "print prompt," is followed by "raw_input()",
we're moving back to "raw_input(prompt)". This has caused problems with ANSI
colors in the past, so these might recur now.
2012-04-10 14:12:21 -07:00
Adrian Sampson
7b7658fc43 doc clarification: effect of moving 2012-04-10 13:52:32 -07:00
Adrian Sampson
6b696c842f cleanup and docs for import_move (GH-26, GC-266)
- Copying and moving are mutually exclusive. Moving overrides copying so the
  user only has to add one line ("import_move: true") to disable copying and
  enable moving in its place.
- Deleting is only possible when copying.
- Deprecating the "delete" option (moving is almost always better).
- Removed command-line switch for moving. It's somewhat "unsafe", so this
  removes some potential for accidental irreversible changes.
- Changelog & thanks.
- Update docs to refer to import_move instead of import_delete as the
  correct solution for ending up with only one copy of the file.
2012-04-10 13:41:24 -07:00
Adrian Sampson
d256aeb436 Merge pull request #26 from iElectric/master
import_move: move files (instead of copying & deleting)
2012-04-10 13:02:30 -07:00
Adrian Sampson
9c05f0ab7b link to FAQ on no match (GH-27) 2012-04-10 12:33:16 -07:00
Adrian Sampson
d8776b3ed2 doc fixes
(I obviously don't know how to use git-cherry-pick.)
2012-04-10 12:11:23 -07:00
kraymer
78fbe6d836 rename 'm3uupdate' plugin to 'importfeeds'. Handles two more output formats: multi m3u files (one per item imported) and symlinks. Update plugin docs.
Conflicts:

	docs/plugins/index.rst
2012-04-10 12:06:38 -07:00
kraymer
8d773e27a2 fix copy(): don't raise OSError because file exists if replace parameter is True 2012-04-10 12:05:12 -07:00
kraymer
00d47b1bff The default setting for the plugin is now a m3u directory path (m3u_dirpath).
User can specify a fixed name (eg *import.m3u*) by setting the `m3u_fixedname`, otherwise a dynamic m3u filename will be generated base on the imported items (album/track title).
2012-04-10 12:05:12 -07:00
Adrian Sampson
ed495765e2 tolerate missing language from MB (#373) 2012-04-10 11:38:45 -07:00
Domen Kožar
1af4f86c17 support move action when importing 2012-04-05 01:14:17 +02:00
Adrian Sampson
009596d0af use upper-case keys for case-insensitive formats 2012-04-04 09:19:24 -07:00
Adrian Sampson
4fdebcff2d parse & apply new set of fields 2012-04-04 09:13:26 -07:00
Adrian Sampson
251026b759 add a new batch of metadata fields
The new fields are:
ALBUM: mb_releasegroupid asin catalognum script language country albumstatus
media albumdisambig
TRACK: disctitle encoder
These are not yet parsed from MusicBrainz responses (just added to MediaFile
and the database).
2012-04-04 00:52:57 -07:00
Adrian Sampson
49d8e6bc21 whitespace/PEP8 in MediaFile 2012-04-03 21:00:02 -07:00
Adrian Sampson
ffa2402ff4 revamp default character substitutions
There's no longer a distinction between Unix and Windows substitutions. Enough
users reported problems with Windows-forbidden characters on Samba shares that
it seems appropriate to make all filenames Windows-safe, even on Unix. Users who
really want those additional characters (<>:"?*|\) can re-enable them via the
"replace" option. Nobody has complained about beets being *too* conservative.

This also adds sanitization of control characters, which is an all-around good
idea, and the substitution now runs in the Unicode (rather than byte) domain.
2012-04-03 14:22:38 -07:00
Adrian Sampson
2d20e3582b typo: >=, not > 2012-04-01 20:58:49 -07:00
Adrian Sampson
44bcc5b3bd chroma: "beet submit" command (#332) 2012-04-01 20:41:27 -07:00
Adrian Sampson
01dce53212 store Acoustid data in DB & file
This is accomplished via a new event, "import_task_apply", which is called
right after metadata is applied to newly-imported items.

This change makes chroma REQUIRE a new version (0.6) of pyacoustid. Users with
older versions installed will see complaints about a missing method
"fingerprint_file".
2012-04-01 19:38:46 -07:00
Adrian Sampson
82a4bafc3e chroma: fingerprint when task begins
The old "caching"-based approach to fingerprinting was kinda hacky to begin
with. Now, the chroma plugin has an explicit opportunity (in the form of a new
event) to perform its initial fingerprinting and lookup for all tracks. Then,
this information is used explicitly during the autotagging phase rather than
being used transparently through memoization of the lookup function.
2012-04-01 18:55:14 -07:00
Adrian Sampson
de6530f4a5 acoustid ID and fingerprint stored/tracked (#332) 2012-04-01 18:22:42 -07:00
Adrian Sampson
aeeb040fe4 chroma: more logging on match failure 2012-04-01 17:55:30 -07:00
Adrian Sampson
ef740740ce link to Homebrew gst-python instructions 2012-03-31 14:06:25 -07:00
Adrian Sampson
cbc889136e link to GitHub (not Google Code) for downloads 2012-03-27 11:14:10 -07:00
Adrian Sampson
781c26ffd0 normalize to NFC on non-Mac platforms (#367) 2012-03-27 10:44:11 -07:00
Adrian Sampson
037f751e23 display track count for failed album matches 2012-03-27 10:24:27 -07:00
Adrian Sampson
823e36ad01 normalize new filenames to with NFD 2012-03-26 12:14:30 -07:00
Adrian Sampson
3c4d8500e5 sort by sort names 2012-03-25 17:35:07 -07:00
Adrian Sampson
12998de8ee mark album artist sort as an album field 2012-03-25 17:13:12 -07:00
Adrian Sampson
2f1ac61d4f track and album artist sort names (GH-25, GC-77)
Previously, there was just an "artist sort name" field -- now there's a
corresponding sort name for both track artists and album artists. I also made
the names shorter (artist_sort and albumartist_sort).
2012-03-25 17:02:52 -07:00