Commit graph

13088 commits

Author SHA1 Message Date
Adrian Sampson
1ee07e116e flexible -f templates for album listings (and rdm) 2012-04-30 22:59:17 -07:00
Adrian Sampson
ef45461cf9 evaluate_template is now a method on Item 2012-04-30 21:40:02 -07:00
Adrian Sampson
792c5b5e5d cleanup and docs for -f option flexibility 2012-04-30 21:26:49 -07:00
Adrian Sampson
928730e0ed merge GH-33: more flexibility for -f arguments 2012-04-30 21:17:20 -07:00
Adrian Sampson
fa3e41c86a BPD: print messages reflecting tree (re)build 2012-04-30 12:02:00 -07:00
Adrian Sampson
6d7cbd6d2f get list of tmpl_* functions only once 2012-04-29 19:55:34 -07:00
Adrian Sampson
e85fe2d834 fix memoization presence check 2012-04-29 18:20:37 -07:00
Adrian Sampson
de87fb7489 memoize %aunique results (share among tracks) 2012-04-29 18:07:29 -07:00
Adrian Sampson
d042bed27c pre-parse path format templates
Instead of parsing the template at each call to destination(), it's now possible
to parse them *once*, a priori, and re-use the resulting template object. This
is analogous to the re module's compiled expressions.
2012-04-29 15:30:43 -07:00
Adrian Sampson
c4f9b452da docs for %aunique (#190) 2012-04-29 14:52:03 -07:00
Adrian Sampson
2087ff6e41 add items to DB before moving/copying (#190)
Previously, all files would be moved/copied/deleted before the corresponding
Items and Albums were added to the database. Now, the in-place items are added
to the database; the files are moved; and then the new paths are saved to the
DB. The apply_choices coroutine now executes two database transactions per task.
This has a couple of benefits:
- %aunique{} requires album structures to be in place before the destination()
  call, so this now works as expected.
- As an added bonus, the "in_album" parameter to move() and destination() --
  along with its associated ugly hacks -- is no longer required.
2012-04-29 14:14:11 -07:00
Steve Dougherty
c93e7e443e Run functions and substitute fields in list format strings. 2012-04-29 11:11:57 -04:00
Adrian Sampson
4b253df48c ensure album art path is unique when moving
Avoid filename collisions on cover art when running a "beet move". (This is
already covered for adding new art and for moving audio files.)
2012-04-28 21:14:11 -07:00
Adrian Sampson
ca5af1d62b add featInTitle to "other plugins" list 2012-04-28 21:05:41 -07:00
Matteo Mecucci
f4a0595b32 Fixed the regexp function used with sqlite3. 2012-04-28 15:24:42 +02:00
Matteo Mecucci
46ec5db3fe Added unit tests for regexps in query expressions. 2012-04-28 15:24:42 +02:00
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