Commit graph

89 commits

Author SHA1 Message Date
Marc Addeo
8cd3d0059f Remove ArtistNotFoundException in favor of returning None for simplicity 2014-12-29 11:10:43 -05:00
Marc Addeo
e71c464c14 Initialize feat_part as None 2014-12-28 21:27:58 -05:00
Marc Addeo
8f41818434 Fix formatting to pass flake8 tests 2014-12-28 20:58:59 -05:00
Marc Addeo
a70820d8a1 Fix a bug in ftintitle with the order of album artist
There was a bug in the find_feat_part function that would cause it to
fail if the album artist was the second part of the featured string.

For example, if the Artist field was Alice & Bob, and the Album Artist
field was Bob it would return None due to the order.

This fixes that and adds test cases to ensure it doesn't return.
2014-12-28 20:23:17 -05:00
Marc Addeo
4d4113e3a4 Refactor ftintitle to extract the code to find the featured artist
This removes the code that extracts the featured artist from the
original artist field from the ft_in_title function and puts it into its
own.

It also adds a custom ArtistNotFoundException that find_feat_part will
throw if the album artist is not in the artist field.

This allows us to easily test the results of finding a featured artist
in the artist sting, and thus adds tests for the usual test cases that
the split_on_feat gets tested for.
2014-12-28 20:15:09 -05:00
Adrian Sampson
d0dcc74c7e Merge pull request #1181 from marcaddeo/fix-ftintitle-duplicate-album-artist
Fix handling of duplicate album artists in ftintitle
2014-12-28 18:58:36 -04:00
Marc Addeo
8c484a273c Fix handling of duplicate album artists in ftintitle
The code that determines the featured artist part of the artist only
handles two element lists. When the album artist is duplicated, it
splits into a three element list causing no featured artist to be found.

This ensures the albumartist_split can ever only have 2 elements.

Fixes #1179
2014-12-28 17:51:48 -05:00
Frederik "Freso" S. Olesen
0ec3396d3f ftintitle: Use log.log() instead of ui.print_().
Fixes #1172.
2014-12-28 20:33:56 +01:00
Frederik "Freso" S. Olesen
6182ef1b1e ftintitle: Remove empty ui.print_() call. 2014-12-28 20:33:15 +01:00
Fabrice Laporte
474adffe63 move helper functions from utils to plugins 2014-12-17 22:00:00 +01:00
Fabrice Laporte
829b623665 remove capturing parentheses 2014-12-15 22:48:01 +01:00
Fabrice Laporte
b62f15d9d9 feat_tokens: change argument name, fix regex flag 2014-12-14 22:46:51 +01:00
Fabrice Laporte
91a998df3c fix #1060 2014-12-13 23:34:50 +01:00
Adrian Sampson
a2d763b745 Fix ftintitle auto permanence (#485)
Oops. Plugins need to store to the database.
2014-11-09 19:21:09 -08:00
Adrian Sampson
05d5edcd0e Quiet down logging in #1070
This looks mostly helpful for debugging but redundant with the ordinary
logging.
2014-11-09 18:41:54 -08:00
David
edbb97bd09 Dropping unused argument 2014-10-25 16:16:32 -04:00
Fabrice Laporte
343972f5d0 move metadata management in command function 2014-10-18 11:04:10 +02:00
Fabrice Laporte
ac57ef0e67 restore write argument for ft_in_title 2014-10-14 20:58:36 +02:00
Fabrice Laporte
4884ae3c46 register import hook only if needed 2014-10-13 22:25:09 +02:00
Fabrice Laporte
740b510ed7 restoring ft_in_title implementation 2014-10-13 21:21:28 +02:00
Fabrice Laporte
cc6080fa21 ftintitle: add 'auto' option 2014-10-12 22:44:34 +02:00
Adrian Sampson
80bec3935e config name change, changelog for #692 2014-04-22 14:50:54 -07:00
SUTJael
4d616ceb93 Fix styling 2014-04-21 16:13:43 +02:00
SUTJael
345d47b40d Fix indent 2014-04-21 16:06:34 +02:00
SUTJael
974e3128a6 Fix formatting issues.
Drop parameter sticky
2014-04-21 13:07:26 +02:00
SUTJael
2b7538ee82 Add drop option to FtInTitlePlugin 2014-04-15 23:04:41 +02:00
Fabrice Laporte
3ead936fe5 flake8 cleaning beetsplug/*
Remaining warnings are related to visual indentation.
2014-04-13 23:24:57 +02:00
Thomas Scholtes
c3ea1ded30 Add item.try_write() to log errors
Many commands and plugins use `item.write()` to update tags. Since the success
of the call is not critical to the functionality of most consumers we want to
catch any exceptions, log an error and continue with our task. The new method
encapsulates this logic.

This fixes #675.
2014-04-10 15:26:05 +02:00
Adrian Sampson
ed44982f75 ftintitle: skip on empty albumartist (#418) 2013-10-15 10:03:15 -07:00
Adrian Sampson
8e2c1bbe68 ftintitle: check artist_sort for null (fix #418) 2013-10-14 21:11:40 -07:00
Adrian Sampson
f5252efbe8 ftintitle: restrict by query
Again, for symmetry with other metadata cleanup/extension commands.
2013-09-17 14:31:42 -07:00
Adrian Sampson
2e31a7c6bf ftintitle: store modifications to the database
A run of `beet update` is now no longer required. This is in line with the
behavior of lyrics, lastgenre, echonest_tempo, replaygain, ...
2013-09-17 14:30:00 -07:00
Adrian Sampson
63803a9742 ftintitle: use beets' ui.print_ function
This avoids encoding troubles. This also uses displayable_path to deal with
Unicode pathnames.
2013-09-17 14:26:24 -07:00
Adrian Sampson
a495635f90 ftintitle: remove duplicated field variables
Several fields were kept around in variables even though they were unused.
They can be read from the Item object at any time.
2013-09-17 14:19:28 -07:00
Adrian Sampson
2a93438969 ftintitle: reorganization and refactoring
- expand docstrings
- collapse some small/duplicative helper functions
- simplify control flow
2013-09-17 14:11:17 -07:00
Adrian Sampson
dfc5edec40 ftintitle: docstrings, new top-level function 2013-09-17 12:52:38 -07:00
Adrian Sampson
4bb3a481e2 ftintitle: move helper functions to module scope
These do not need to be closures.
2013-09-17 12:44:27 -07:00
Adrian Sampson
bd598696f0 ftintitle: syntactic/comment style cleanup
- expunge remaining CamelCase identifiers
- start adding PEP8 space around operators
- start wrapping to 79 columns
- access track fields with attribute syntax

--HG--
extra : amend_source : 9c916013230dd3cde187f2a55e89587b009bce6a
2013-09-17 12:38:16 -07:00
Adrian Sampson
8212cca498 add ftInTitle plugin by @Verrus
This is a snapshot of the plugin at its git revision
abb6bb94db79e9260e2062404c986316f1dc925c.
2013-09-17 12:12:22 -07:00