Commit graph

8756 commits

Author SHA1 Message Date
Adrian Sampson
3873c29448 artresizer (#64): helper functions, not classes
The previous method was to change self.__class__ dynamically to make __init__
instantiate different classes. This new way, which uses bare functions instead
of separate functor-like classes, instead just forwards the resize() call to
a module-global implementation based on self.method.

Additionally, the semantics of ArtResizer have changed. Clients now *always*
call resize() and proxy_url(), regardless of method. The method makes *one* of
these a no-op. This way, clients need not manually inspect which method is
being used.
2012-10-31 23:33:59 -07:00
Adrian Sampson
1169d2095e misc. minor fixes for artresizer (#64)
- Safer proxy resize. The URL parameters are now properly encoded. And a
  spurious additional request has been removed.
- Removed manual search of $PATH. Invoking "convert" without a path does this
  automatically.
- More pyflakes-friendly test import of PIL.
- Do not delete the NamedTemporaryFile -- doing so creates a race condition
  where the file might be created between the filename generation and the tool
  invocation.
2012-10-31 23:01:09 -07:00
Adrian Sampson
29c6f9c342 changelog and light style fixes for #64 2012-10-31 17:52:21 -07:00
Fabrice Laporte
447454a62c fix few errors revealed by test_art.py 2012-10-28 23:02:45 +01:00
Fabrice Laporte
d271735dd2 fetchart: fix urlopen call 2012-10-28 17:09:39 +01:00
Fabrice Laporte
7f2aa44ac6 Add 'maxwidth' option to embedart and fetchart plugins.
artresizer.py instances an ArtResizer object that uses internally the PIL; ImageMagick
or a web proxy service to perform the resizing operations.
Because embedart works on input images located on filesystem it requires PIL or ImageMagick, whereas
fetchart is able to do the job with the fallback webproxy resizer.
2012-10-28 15:36:42 +01:00
Adrian Sampson
2fb6943f95 address a few leftover FIXMEs for confit 2012-10-27 18:55:49 -07:00
Adrian Sampson
7158c01ff8 clean up outdated FIXMEs 2012-10-27 18:47:04 -07:00
Adrian Sampson
1de53446f8 fix outdated config references 2012-10-27 18:39:28 -07:00
Adrian Sampson
a1ae84ec8f merge fix from master 2012-10-26 21:05:23 -07:00
Adrian Sampson
99e36d870e send "failed reading file" message to debug
This message was being logged as an error every time MediaFile failed to parse a
file. But this is not actually an error -- the importer uses FileTypeErrors to
determine whether a file is music or not. This resulted in error logs for every
album art file, .m3u, etc. in the imported directory. Verbose output is a better
home for this message.
2012-10-26 21:04:18 -07:00
Adrian Sampson
15add196f2 track down a few more misuses of confit 2012-10-26 21:00:57 -07:00
Adrian Sampson
a50397f2a4 fix a few old config references in importer 2012-10-26 20:54:37 -07:00
Adrian Sampson
56a2d41183 merge latest confit 2012-10-26 20:47:21 -07:00
Adrian Sampson
ac8109bb5f fix calls to _pick_format 2012-10-26 20:19:33 -07:00
Adrian Sampson
1ee304e105 remove config argument in command function sigs 2012-10-26 20:13:23 -07:00
Adrian Sampson
20d1485c90 remove some lingering ImportConfig references 2012-10-26 20:10:52 -07:00
Adrian Sampson
815fc83cb4 merge fixes and additions from master 2012-10-26 19:54:26 -07:00
Adrian Sampson
57e66d7b1a fetchart: sort image filenames (GC-452) 2012-10-25 18:02:22 -07:00
Jakob Schnitzer
cf98bfcbe6 convert: write tags from library to copied files 2012-10-25 01:05:06 +02:00
Adrian Sampson
02fd9bf809 convert: embed into destination file, not source file
Paging @yagebu: I think the old version of the code would embed album art into
the wrong file. Please correct me (and accept my apologies) if I'm wrong
though.
2012-10-24 15:17:00 -07:00
Adrian Sampson
dcb9ad7373 fix several non-unicode logging statements
A user reported a problem with one of the logging statements where .format()
tried to convert a Unicode string to bytes because the log message was '', not
u''. As a rule, we should ensure that all logging statements use Unicode
literals.
2012-10-24 15:14:33 -07:00
Adrian Sampson
3fbce8dfdd merge 2012-10-21 15:26:50 -07:00
Adrian Sampson
1a94d9e4b7 warnings about using syspath with some utils
Also pertaining to #58: for most utility functions, paths should *not* be
`syspath`-ified. (This only occurs right before a path is sent to the OS.) In
fact, as @Wessie discovered, using the result of `syspath` with `ancestry` leads
to incorrect behavior. I checked and this should not currently happen anywhere,
but these docstring changes make that requirement explicit.
2012-10-21 14:27:40 -07:00
Philippe Mongeau
78f2003eb0 simplify the random print code
We don't need the 'if opts.album' since we print with the same function and
argsuments.
2012-10-21 11:39:23 -04:00
Philippe Mongeau
e80dce6930 fuzzy: use the new print_obj function 2012-10-21 11:29:21 -04:00
Jakob Schnitzer
d6f20e91bd Speedup 'beet ls' if no format is specified 2012-10-21 13:54:24 +02:00
Jakob Schnitzer
54f29812cf convert: fix breakage due to recent API changes 2012-10-21 13:35:41 +02:00
Adrian Sampson
16f207e927 make syspath/bytestring_path roundtrip on Windows
This is an alternative to #58 that makes bytestring_path perform more like the
inverse of syspath on Windows. This way, we can convert to syspath, operate on
the path, and then bring back to internal representation without data loss. This
involves looking for the magic prefix on the Unicode string and removing it
before encoding to the internal (UTF-8) representation.
2012-10-20 23:49:43 -07:00
Adrian Sampson
1f8fff7445 fix tests for recent API changes in commands 2012-10-20 21:19:50 -07:00
Adrian Sampson
91ad913399 #62: simplify list (and random) code
With the new centralized print_obj function, we can greatly simplify the code
for the list command. This necessitated a couple of additional tweaks:

- For performance reasons, print_obj can now take a compiled template. (There's
  still an issue with using the default/configured template, but we can cross
  that bridge later).
- When listing albums, $path now expands to the album's item dir. So the format
  string '$path' now exactly corresponds to passing the -p switch.

As an added bonus, we can now also reduce copypasta in the random plugin (which
behaves almost exactly the same as list).
2012-10-20 21:10:39 -07:00
Adrian Sampson
2770b7d6fc #62: move format/print utilities to beets.ui
Now that these functions are generally useful, this is the right home for them.
Plugins should also use print_obj.
2012-10-20 20:55:14 -07:00
Adrian Sampson
93a7251b57 #62: use list_format_* in non-list commands
The list_format_album and list_format_item options now *actually* affect the
display in commands other than "beet list". This replaces the -f/--format flags
-- if any users want to control this on the command line, we can reconsider this
decision.

Note that this involved passing around a "config" object, which we previously
haven't done. This seems a little bit messy, but configuration is about to
change entirely to be more like this style -- so this isn't a huge liability.
2012-10-20 20:50:03 -07:00
Adrian Sampson
3952fbec62 docs & changelog for pervasive format config (#62)
This version of the (renamed) _print_obj function uses introspection to
determine whether we're printing an Album or an Item. It's like function
overloading for Python! 😁
2012-10-20 20:29:49 -07:00
Adrian Sampson
c0a04dc788 Merge pull request #62 from mk-fg/unified_presentation_format
Unified presentation format in ui commands
2012-10-20 20:07:15 -07:00
Adrian Sampson
00b23c39ef Merge pull request #61 from mk-fg/indentation_fix
Fix inconsistent three-space indentation
2012-10-20 17:08:35 -07:00
Adrian Sampson
b58e0ed7fc Merge pull request #60 from mk-fg/dont_update_mtime_for_different_path
library: don't set/update item mtime if read-path is passed to read()
2012-10-20 17:05:34 -07:00
Adrian Sampson
b9cc206093 changelog & cleanup for pull request #59 2012-10-20 16:57:56 -07:00
Adrian Sampson
d276a08205 Merge pull request #59 from mk-fg/log_read_failure_path
library: log path, reading of which has raised an exception
2012-10-20 16:53:17 -07:00
Adrian Sampson
9368075756 replaygain: reinstate albumgain config option 2012-10-20 16:49:52 -07:00
Adrian Sampson
848b56e54c replaygain: remove album noclip gain adjustment
as suggested by @kraYmer
2012-10-20 16:41:31 -07:00
Mike Kazantsev
037f290776 ui: add --format option to all commands that can use it 2012-10-20 23:06:58 +06:00
Mike Kazantsev
f8cf3817fc ui: use configured format when printing album/item from all commands 2012-10-20 22:58:05 +06:00
Mike Kazantsev
8b07ea157d Fix inconsistent three-space indentation 2012-10-20 21:45:14 +06:00
Mike Kazantsev
609e57f0a0 library: don't set/update item mtime if read-path is passed to read() 2012-10-20 20:10:29 +06:00
Mike Kazantsev
12cae9ee93 library: log path, reading of which has raised an exception 2012-10-20 20:07:27 +06:00
Jakob Schnitzer
492f168124 convert: Fix problem with "threads" config option 2012-10-20 13:25:25 +02:00
Adrian Sampson
4f164fb83e windows: use UTF-8 in displayable_path 2012-10-19 10:05:06 -07:00
Adrian Sampson
2c38c15fb8 replaygain: apply album gain in album mode 2012-10-18 11:33:13 -07:00
Adrian Sampson
da3eb7af58 Merge pull request #57 from mk-fg/fix_readme_links
readme: fix readthedocs.org links
2012-10-18 10:59:21 -07:00