Hello community,
here is the log from the commit of package beets for openSUSE:Factory checked in at 2019-06-30 10:22:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/beets (Old)
and /work/SRC/openSUSE:Factory/.beets.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "beets"
Sun Jun 30 10:22:00 2019 rev:6 rq:712527 version:1.4.9
Changes:
--------
--- /work/SRC/openSUSE:Factory/beets/beets.changes 2019-05-20 13:18:34.487904312 +0200
+++ /work/SRC/openSUSE:Factory/.beets.new.4615/beets.changes 2019-06-30 10:22:05.179674725 +0200
@@ -1,0 +2,22 @@
+Sat Jun 29 09:28:04 UTC 2019 - Jaime Marquínez Ferrándiz
+
+- Update to 1.4.9:
+ * This small update is part of our attempt to release new versions more often!
+ There are a few important fixes, and we're clearing the deck for a change
+ to beets' dependencies in the next version.
+ * The new feature is:
+ * You can use the NO_COLOR environment variable to disable terminal colors.
+ * There are some fixes in this release:
+ * Fix a regression in the last release that made the image resizer fail to
+ detect older versions of ImageMagick.
+ * gmusic: The oauth_file config option now supports more flexible path
+ values, including ~ for the home directory.
+ * gmusic: Fix a crash when using version 12.0.0 or later of the gmusicapi
+ module.
+ * Fix an incompatibility with Python 3.8's AST changes.
+ * Here's a note for packagers:
+ * pathlib is now an optional test dependency on Python 3.4+, removing the
+ need for a Debian patch.
+- Remove fix-pathlib-requirement.diff: Incorporated upstream
+
+-------------------------------------------------------------------
Old:
----
beets-1.4.8.tar.gz
fix-pathlib-requirement.diff
New:
----
beets-1.4.9.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ beets.spec ++++++
--- /var/tmp/diff_new_pack.TQxoA8/_old 2019-06-30 10:22:07.003677559 +0200
+++ /var/tmp/diff_new_pack.TQxoA8/_new 2019-06-30 10:22:07.071677665 +0200
@@ -17,7 +17,7 @@
Name: beets
-Version: 1.4.8
+Version: 1.4.9
Release: 0
Summary: Music tagger and library organizer
License: MIT
@@ -27,8 +27,6 @@
Patch0: 0001-Fixed-failing-test-where.patch
# PATCH-FIX-UPSTREAM fix_test_command_line_option_relative_to_working_dir.diff alarrosa@suse.de - Fixes one of the tests to run successfully
Patch1: fix_test_command_line_option_relative_to_working_dir.diff
-# PATCH-FIX-UPSTREAM fix-pathlib-requirement.diff alarrosa@suse.de - Don't require pathlib for tests in python >= 3.4.0
-Patch2: fix-pathlib-requirement.diff
BuildRequires: python3-PyYAML
BuildRequires: python3-Unidecode
BuildRequires: python3-devel
@@ -110,7 +108,6 @@
%setup -q -n beets-%{version}
%patch0 -p1
%patch1 -p1
-%patch2 -p1
%build
python3 setup.py build
++++++ beets-1.4.8.tar.gz -> beets-1.4.9.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/beets-1.4.8/PKG-INFO new/beets-1.4.9/PKG-INFO
--- old/beets-1.4.8/PKG-INFO 2019-05-17 02:44:23.000000000 +0200
+++ new/beets-1.4.9/PKG-INFO 2019-05-31 02:06:34.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: beets
-Version: 1.4.8
+Version: 1.4.9
Summary: music tagger and library organizer
Home-page: http://beets.io/
Author: Adrian Sampson
@@ -134,24 +134,24 @@
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: Implementation :: CPython
-Provides-Extra: absubmit
-Provides-Extra: beatport
-Provides-Extra: replaygain
-Provides-Extra: plexupdate
Provides-Extra: embedart
Provides-Extra: embyupdate
-Provides-Extra: fetchart
+Provides-Extra: gmusic
Provides-Extra: import
-Provides-Extra: metasync
Provides-Extra: thumbnails
-Provides-Extra: chroma
-Provides-Extra: discogs
Provides-Extra: lyrics
-Provides-Extra: kodiupdate
-Provides-Extra: lastgenre
Provides-Extra: bpd
-Provides-Extra: mpdstats
-Provides-Extra: web
+Provides-Extra: discogs
+Provides-Extra: plexupdate
Provides-Extra: lastimport
+Provides-Extra: replaygain
+Provides-Extra: chroma
+Provides-Extra: lastgenre
+Provides-Extra: web
+Provides-Extra: beatport
+Provides-Extra: kodiupdate
Provides-Extra: sonosupdate
-Provides-Extra: gmusic
+Provides-Extra: fetchart
+Provides-Extra: mpdstats
+Provides-Extra: metasync
+Provides-Extra: absubmit
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/beets-1.4.8/beets/__init__.py new/beets-1.4.9/beets/__init__.py
--- old/beets-1.4.8/beets/__init__.py 2019-05-17 02:42:57.000000000 +0200
+++ new/beets-1.4.9/beets/__init__.py 2019-05-17 02:44:25.000000000 +0200
@@ -19,7 +19,7 @@
from beets.util import confit
-__version__ = u'1.4.8'
+__version__ = u'1.4.9'
__author__ = u'Adrian Sampson '
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/beets-1.4.8/beets/ui/__init__.py new/beets-1.4.9/beets/ui/__init__.py
--- old/beets-1.4.8/beets/ui/__init__.py 2019-05-17 02:42:57.000000000 +0200
+++ new/beets-1.4.9/beets/ui/__init__.py 2019-05-30 15:08:39.000000000 +0200
@@ -529,22 +529,22 @@
"""Colorize text if colored output is enabled. (Like _colorize but
conditional.)
"""
- if config['ui']['color']:
- global COLORS
- if not COLORS:
- COLORS = dict((name,
- config['ui']['colors'][name].as_str())
- for name in COLOR_NAMES)
- # In case a 3rd party plugin is still passing the actual color ('red')
- # instead of the abstract color name ('text_error')
- color = COLORS.get(color_name)
- if not color:
- log.debug(u'Invalid color_name: {0}', color_name)
- color = color_name
- return _colorize(color, text)
- else:
+ if not config['ui']['color'] or 'NO_COLOR' in os.environ.keys():
return text
+ global COLORS
+ if not COLORS:
+ COLORS = dict((name,
+ config['ui']['colors'][name].as_str())
+ for name in COLOR_NAMES)
+ # In case a 3rd party plugin is still passing the actual color ('red')
+ # instead of the abstract color name ('text_error')
+ color = COLORS.get(color_name)
+ if not color:
+ log.debug(u'Invalid color_name: {0}', color_name)
+ color = color_name
+ return _colorize(color, text)
+
def _colordiff(a, b, highlight='text_highlight',
minor_highlight='text_highlight_minor'):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/beets-1.4.8/beets/util/artresizer.py new/beets-1.4.9/beets/util/artresizer.py
--- old/beets-1.4.8/beets/util/artresizer.py 2019-05-17 02:42:57.000000000 +0200
+++ new/beets-1.4.9/beets/util/artresizer.py 2019-05-18 01:35:59.000000000 +0200
@@ -278,7 +278,7 @@
int(match.group(3)))
return version, legacy
- return None
+ return None
def get_pil_version():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/beets-1.4.8/beets/util/functemplate.py new/beets-1.4.9/beets/util/functemplate.py
--- old/beets-1.4.8/beets/util/functemplate.py 2019-05-17 02:42:57.000000000 +0200
+++ new/beets-1.4.9/beets/util/functemplate.py 2019-05-31 01:31:09.000000000 +0200
@@ -118,29 +118,30 @@
bytecode of the compiled function.
"""
if six.PY2:
- func_def = ast.FunctionDef(
- name=name.encode('utf-8'),
- args=ast.arguments(
- args=[ast.Name(n, ast.Param()) for n in arg_names],
- vararg=None,
- kwarg=None,
- defaults=[ex_literal(None) for _ in arg_names],
- ),
- body=statements,
- decorator_list=[],
+ name = name.encode('utf-8')
+ args = ast.arguments(
+ args=[ast.Name(n, ast.Param()) for n in arg_names],
+ vararg=None,
+ kwarg=None,
+ defaults=[ex_literal(None) for _ in arg_names],
)
else:
- func_def = ast.FunctionDef(
- name=name,
- args=ast.arguments(
- args=[ast.arg(arg=n, annotation=None) for n in arg_names],
- kwonlyargs=[],
- kw_defaults=[],
- defaults=[ex_literal(None) for _ in arg_names],
- ),
- body=statements,
- decorator_list=[],
- )
+ args_fields = {
+ 'args': [ast.arg(arg=n, annotation=None) for n in arg_names],
+ 'kwonlyargs': [],
+ 'kw_defaults': [],
+ 'defaults': [ex_literal(None) for _ in arg_names],
+ }
+ if 'posonlyargs' in ast.arguments._fields: # Added in Python 3.8.
+ args_fields['posonlyargs'] = []
+ args = ast.arguments(**args_fields)
+
+ func_def = ast.FunctionDef(
+ name=name,
+ args=args,
+ body=statements,
+ decorator_list=[],
+ )
# The ast.Module signature changed in 3.8 to accept a list of types to
# ignore.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/beets-1.4.8/beets.egg-info/PKG-INFO new/beets-1.4.9/beets.egg-info/PKG-INFO
--- old/beets-1.4.8/beets.egg-info/PKG-INFO 2019-05-17 02:44:22.000000000 +0200
+++ new/beets-1.4.9/beets.egg-info/PKG-INFO 2019-05-31 02:06:34.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: beets
-Version: 1.4.8
+Version: 1.4.9
Summary: music tagger and library organizer
Home-page: http://beets.io/
Author: Adrian Sampson
@@ -134,24 +134,24 @@
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: Implementation :: CPython
-Provides-Extra: absubmit
-Provides-Extra: beatport
-Provides-Extra: replaygain
-Provides-Extra: plexupdate
Provides-Extra: embedart
Provides-Extra: embyupdate
-Provides-Extra: fetchart
+Provides-Extra: gmusic
Provides-Extra: import
-Provides-Extra: metasync
Provides-Extra: thumbnails
-Provides-Extra: chroma
-Provides-Extra: discogs
Provides-Extra: lyrics
-Provides-Extra: kodiupdate
-Provides-Extra: lastgenre
Provides-Extra: bpd
-Provides-Extra: mpdstats
-Provides-Extra: web
+Provides-Extra: discogs
+Provides-Extra: plexupdate
Provides-Extra: lastimport
+Provides-Extra: replaygain
+Provides-Extra: chroma
+Provides-Extra: lastgenre
+Provides-Extra: web
+Provides-Extra: beatport
+Provides-Extra: kodiupdate
Provides-Extra: sonosupdate
-Provides-Extra: gmusic
+Provides-Extra: fetchart
+Provides-Extra: mpdstats
+Provides-Extra: metasync
+Provides-Extra: absubmit
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/beets-1.4.8/beetsplug/gmusic.py new/beets-1.4.9/beetsplug/gmusic.py
--- old/beets-1.4.8/beetsplug/gmusic.py 2019-05-17 02:42:57.000000000 +0200
+++ new/beets-1.4.9/beetsplug/gmusic.py 2019-05-18 22:32:01.000000000 +0200
@@ -31,12 +31,19 @@
def __init__(self):
super(Gmusic, self).__init__()
self.m = Musicmanager()
+
+ # OAUTH_FILEPATH was moved in gmusicapi 12.0.0.
+ if hasattr(Musicmanager, 'OAUTH_FILEPATH'):
+ oauth_file = Musicmanager.OAUTH_FILEPATH
+ else:
+ oauth_file = gmusicapi.clients.OAUTH_FILEPATH
+
self.config.add({
u'auto': False,
u'uploader_id': '',
u'uploader_name': '',
u'device_id': '',
- u'oauth_file': gmusicapi.clients.OAUTH_FILEPATH,
+ u'oauth_file': oauth_file,
})
if self.config['auto']:
self.import_stages = [self.autoupload]
@@ -62,7 +69,7 @@
return
# Checks for OAuth2 credentials,
# if they don't exist - performs authorization
- oauth_file = self.config['oauth_file'].as_str()
+ oauth_file = self.config['oauth_file'].as_filename()
if os.path.isfile(oauth_file):
uploader_id = self.config['uploader_id']
uploader_name = self.config['uploader_name']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/beets-1.4.8/docs/changelog.rst new/beets-1.4.9/docs/changelog.rst
--- old/beets-1.4.8/docs/changelog.rst 2019-05-17 02:42:59.000000000 +0200
+++ new/beets-1.4.9/docs/changelog.rst 2019-05-31 01:32:38.000000000 +0200
@@ -1,6 +1,41 @@
Changelog
=========
+1.4.9 (May 30, 2019)
+--------------------
+
+This small update is part of our attempt to release new versions more often!
+There are a few important fixes, and we're clearing the deck for a change to
+beets' dependencies in the next version.
+
+The new feature is:
+
+* You can use the `NO_COLOR`_ environment variable to disable terminal colors.
+ :bug:`3273`
+
+There are some fixes in this release:
+
+* Fix a regression in the last release that made the image resizer fail to
+ detect older versions of ImageMagick.
+ :bug:`3269`
+* :doc:`/plugins/gmusic`: The ``oauth_file`` config option now supports more
+ flexible path values, including ``~`` for the home directory.
+ :bug:`3270`
+* :doc:`/plugins/gmusic`: Fix a crash when using version 12.0.0 or later of
+ the ``gmusicapi`` module.
+ :bug:`3270`
+* Fix an incompatibility with Python 3.8's AST changes.
+ :bug:`3278`
+
+Here's a note for packagers:
+
+* ``pathlib`` is now an optional test dependency on Python 3.4+, removing the
+ need for `a Debian patch https://sources.debian.org/src/beets/1.4.7-2/debian/patches/pathlib-is-stdli...`_.
+ :bug:`3275`
+
+.. _NO_COLOR: https://no-color.org
+
+
1.4.8 (May 16, 2019)
--------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/beets-1.4.8/docs/conf.py new/beets-1.4.9/docs/conf.py
--- old/beets-1.4.8/docs/conf.py 2019-05-17 02:42:57.000000000 +0200
+++ new/beets-1.4.9/docs/conf.py 2019-05-17 02:44:25.000000000 +0200
@@ -16,7 +16,7 @@
copyright = u'2016, Adrian Sampson'
version = '1.4'
-release = '1.4.8'
+release = '1.4.9'
pygments_style = 'sphinx'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/beets-1.4.8/docs/guides/main.rst new/beets-1.4.9/docs/guides/main.rst
--- old/beets-1.4.8/docs/guides/main.rst 2019-05-17 02:42:57.000000000 +0200
+++ new/beets-1.4.9/docs/guides/main.rst 2019-05-30 15:08:39.000000000 +0200
@@ -26,37 +26,37 @@
as described below by running:
``apt-get install python-dev python-pip``
-* On **Arch Linux**, `beets is in [community]`_, so just run ``pacman -S
- beets``. (There's also a bleeding-edge `dev package`_ in the AUR, which will
+* On **Arch Linux**, `beets is in [community] <Arch community_>`_, so just run ``pacman -S
+ beets``. (There's also a bleeding-edge `dev package `_ in the AUR, which will
probably set your computer on fire.)
* For **Gentoo Linux**, beets is in Portage as ``media-sound/beets``. Just run
``emerge beets`` to install. There are several USE flags available for
optional plugin dependencies.
-* On **FreeBSD**, there's a `beets port`_ at ``audio/beets``.
+* On **FreeBSD**, there's a `beets port `_ at ``audio/beets``.
-* On **OpenBSD**, beets can be installed with ``pkg_add beets``.
+* On **OpenBSD**, there's a `beets port `_ can be installed with ``pkg_add beets``.
* For **Slackware**, there's a `SlackBuild`_ available.
-* On **Fedora** 22 or later, there is a `DNF package`_ (or three)::
+* On **Fedora** 22 or later, there is a `DNF package`_::
$ sudo dnf install beets beets-plugins beets-doc
* On **Solus**, run ``eopkg install beets``.
-* On **NixOS**, run ``nix-env -i beets``.
+* On **NixOS**, there's a `package `_ you can install with ``nix-env -i beets``.
-.. _copr: https://copr.fedoraproject.org/coprs/afreof/beets/
-.. _dnf package: https://apps.fedoraproject.org/packages/beets
-.. _SlackBuild: http://slackbuilds.org/repository/14.1/multimedia/beets/
-.. _beets port: http://portsmon.freebsd.org/portoverview.py?category=audio&portname=beets
-.. _beets from AUR: https://aur.archlinux.org/packages/beets-git/
-.. _dev package: https://aur.archlinux.org/packages/beets-git/
-.. _Debian details: http://packages.qa.debian.org/b/beets.html
+.. _DNF package: https://apps.fedoraproject.org/packages/beets
+.. _SlackBuild: http://slackbuilds.org/repository/14.2/multimedia/beets/
+.. _FreeBSD: http://portsmon.freebsd.org/portoverview.py?category=audio&portname=beets
+.. _AUR: https://aur.archlinux.org/packages/beets-git/
+.. _Debian details: https://tracker.debian.org/pkg/beets
.. _Ubuntu details: https://launchpad.net/ubuntu/+source/beets
-.. _beets is in [community]: https://www.archlinux.org/packages/community/any/beets/
+.. _OpenBSD: http://openports.se/audio/beets
+.. _Arch community: https://www.archlinux.org/packages/community/any/beets/
+.. _NixOS: https://github.com/NixOS/nixpkgs/tree/master/pkgs/tools/audio/beets
If you have `pip`_, just say ``pip install beets`` (or ``pip install --user
beets`` if you run into permissions problems).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/beets-1.4.8/man/beet.1 new/beets-1.4.9/man/beet.1
--- old/beets-1.4.8/man/beet.1 2019-05-17 02:44:22.000000000 +0200
+++ new/beets-1.4.9/man/beet.1 2019-05-31 02:06:33.000000000 +0200
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "BEET" "1" "May 16, 2019" "1.4" "beets"
+.TH "BEET" "1" "May 30, 2019" "1.4" "beets"
.SH NAME
beet \- music tagger and library organizer
.
@@ -32,7 +32,7 @@
..
.SH SYNOPSIS
.nf
-\fBbeet\fP [\fIargs\fP\&...] \fIcommand\fP [\fIargs\fP\&...]
+\fBbeet\fP [\fIargs\fP…] \fIcommand\fP [\fIargs\fP…]
\fBbeet help\fP \fIcommand\fP
.fi
.sp
@@ -63,7 +63,7 @@
Directories passed to the import command can contain either a single
album or many, in which case the leaf directories will be considered
albums (the latter case is true of typical Artist/Album organizations
-and many people\(aqs "downloads" folders). The path can also be a single
+and many people’s “downloads” folders). The path can also be a single
song or an archive. Beets supports \fIzip\fP and \fItar\fP archives out of the
box. To extract \fIrar\fP files, install the \fI\%rarfile\fP package and the
\fIunrar\fP command.
@@ -73,46 +73,46 @@
.IP \(bu 2
By default, the command copies files your the library directory and
updates the ID3 tags on your music. In order to move the files, instead of
-copying, use the \fB\-m\fP (move) option. If you\(aqd like to leave your music
-files untouched, try the \fB\-C\fP (don\(aqt copy) and \fB\-W\fP (don\(aqt write tags)
+copying, use the \fB\-m\fP (move) option. If you’d like to leave your music
+files untouched, try the \fB\-C\fP (don’t copy) and \fB\-W\fP (don’t write tags)
options. You can also disable this behavior by default in the
configuration file (below).
.IP \(bu 2
Also, you can disable the autotagging behavior entirely using \fB\-A\fP
-(don\(aqt autotag)\-\-\-then your music will be imported with its existing
+(don’t autotag)—then your music will be imported with its existing
metadata.
.IP \(bu 2
During a long tagging import, it can be useful to keep track of albums
-that weren\(aqt tagged successfully\-\-\-either because they\(aqre not in the
-MusicBrainz database or because something\(aqs wrong with the files. Use the
+that weren’t tagged successfully—either because they’re not in the
+MusicBrainz database or because something’s wrong with the files. Use the
\fB\-l\fP option to specify a filename to log every time you skip an album
-or import it "as\-is" or an album gets skipped as a duplicate.
+or import it “as\-is” or an album gets skipped as a duplicate.
.IP \(bu 2
Relatedly, the \fB\-q\fP (quiet) option can help with large imports by
autotagging without ever bothering to ask for user input. Whenever the
normal autotagger mode would ask for confirmation, the quiet mode
-pessimistically skips the album. The quiet mode also disables the tagger\(aqs
+pessimistically skips the album. The quiet mode also disables the tagger’s
ability to resume interrupted imports.
.IP \(bu 2
Speaking of resuming interrupted imports, the tagger will prompt you if it
seems like the last import of the directory was interrupted (by you or by
-a crash). If you want to skip this prompt, you can say "yes" automatically
-by providing \fB\-p\fP or "no" using \fB\-P\fP\&. The resuming feature can be
+a crash). If you want to skip this prompt, you can say “yes” automatically
+by providing \fB\-p\fP or “no” using \fB\-P\fP\&. The resuming feature can be
disabled by default using a configuration option (see below).
.IP \(bu 2
If you want to import only the \fInew\fP stuff from a directory, use the
\fB\-i\fP
option to run an \fIincremental\fP import. With this flag, beets will keep
track of every directory it ever imports and avoid importing them again.
-This is useful if you have an "incoming" directory that you periodically
+This is useful if you have an “incoming” directory that you periodically
add things to.
-To get this to work correctly, you\(aqll need to use an incremental import \fIevery
-time\fP you run an import on the directory in question\-\-\-including the first
+To get this to work correctly, you’ll need to use an incremental import \fIevery
+time\fP you run an import on the directory in question—including the first
time, when no subdirectories will be skipped. So consider enabling the
\fBincremental\fP configuration option.
.IP \(bu 2
When beets applies metadata to your music, it will retain the value of any
-existing tags that weren\(aqt overwritten, and import them into the database. You
+existing tags that weren’t overwritten, and import them into the database. You
may prefer to only use existing metadata for finding matches, and to erase it
completely when new metadata is applied. You can enforce this behavior with
the \fB\-\-from\-scratch\fP option, or the \fBfrom_scratch\fP configuration option.
@@ -125,7 +125,7 @@
instead want to import individual, non\-album tracks, use the \fIsingleton\fP
mode by supplying the \fB\-s\fP option.
.IP \(bu 2
-If you have an album that\(aqs split across several directories under a common
+If you have an album that’s split across several directories under a common
top directory, use the \fB\-\-flat\fP option. This takes all the music files
under the directory (recursively) and treats them as a single large album
instead of as one album per directory. This can help with your more stubborn
@@ -173,9 +173,9 @@
.sp
Queries the database for music.
.sp
-Want to search for "Gronlandic Edit" by of Montreal? Try \fBbeet list
+Want to search for “Gronlandic Edit” by of Montreal? Try \fBbeet list
gronlandic\fP\&. Maybe you want to see everything released in 2009 with
-"vegetables" in the title? Try \fBbeet list year:2009 title:vegetables\fP\&. You
+“vegetables” in the title? Try \fBbeet list year:2009 title:vegetables\fP\&. You
can also specify the sort order. (Read more in query\&.)
.sp
You can use the \fB\-a\fP switch to search for albums instead of individual items.
@@ -187,7 +187,7 @@
The \fB\-p\fP option makes beets print out filenames of matched items, which might
be useful for piping into other Unix commands (such as \fI\%xargs\fP). Similarly, the
\fB\-f\fP option lets you specify a specific format with which to print every album
-or track. This uses the same template syntax as beets\(aq path formats\&. For example, the command \fBbeet ls \-af \(aq$album: $tracktotal\(aq
+or track. This uses the same template syntax as beets’ path formats\&. For example, the command \fBbeet ls \-af \(aq$album: $tracktotal\(aq
beatles\fP prints out the number of tracks on each Beatles album. In Unix shells,
remember to enclose the template argument in single quotes to avoid environment
variable expansion.
@@ -206,8 +206,8 @@
Remove music from your library.
.sp
This command uses the same query syntax as the \fBlist\fP command.
-You\(aqll be shown a list of the files that will be removed and asked to confirm.
-By default, this just removes entries from the library database; it doesn\(aqt
+You’ll be shown a list of the files that will be removed and asked to confirm.
+By default, this just removes entries from the library database; it doesn’t
touch the files on disk. To actually delete the files, use \fBbeet remove \-d\fP\&.
If you do not want to be prompted to remove the files, use \fBbeet remove \-f\fP\&.
.SS modify
@@ -226,21 +226,21 @@
.sp
Supply a query matching the things you want to change and a
series of \fBfield=value\fP pairs. For example, \fBbeet modify genius of love
-artist="Tom Tom Club"\fP will change the artist for the track "Genius of Love."
+artist="Tom Tom Club"\fP will change the artist for the track “Genius of Love.”
To remove fields (which is only possible for flexible attributes), follow a
field name with an exclamation point: \fBfield!\fP\&.
.sp
The \fB\-a\fP switch operates on albums instead of individual tracks. Without
this flag, the command will only change \fItrack\-level\fP data, even if all the
tracks belong to the same album. If you want to change an \fIalbum\-level\fP field,
-such as \fByear\fP or \fBalbumartist\fP, you\(aqll want to use the \fB\-a\fP flag to
+such as \fByear\fP or \fBalbumartist\fP, you’ll want to use the \fB\-a\fP flag to
avoid a confusing situation where the data for individual tracks conflicts
with the data for the whole album.
.sp
-Items will automatically be moved around when necessary if they\(aqre in your
+Items will automatically be moved around when necessary if they’re in your
library directory, but you can disable that with \fB\-M\fP\&. Tags will be written
to the files according to the settings you have for imports, but these can be
-overridden with \fB\-w\fP (write tags, the default) and \fB\-W\fP (don\(aqt write
+overridden with \fB\-w\fP (write tags, the default) and \fB\-W\fP (don’t write
tags).
.sp
When you run the \fBmodify\fP command, it prints a list of all
@@ -271,10 +271,10 @@
destination directory with \fB\-d\fP manually, you can move items matching a query
anywhere in your filesystem. The \fB\-c\fP option copies files instead of moving
them. As with other commands, the \fB\-a\fP option matches albums instead of items.
-The \fB\-e\fP flag (for "export") copies files without changing the database.
+The \fB\-e\fP flag (for “export”) copies files without changing the database.
.sp
-To perform a "dry run", just use the \fB\-p\fP (for "pretend") flag. This will
-show you a list of files that would be moved but won\(aqt actually change anything
+To perform a “dry run”, just use the \fB\-p\fP (for “pretend”) flag. This will
+show you a list of files that would be moved but won’t actually change anything
on disk. The \fB\-t\fP option sets the timid mode which will ask again
before really moving or copying the files.
.SS update
@@ -299,8 +299,8 @@
also update these for \fBbeet update\fP to recognise that the files have been
edited.
.sp
-To perform a "dry run" of an update, just use the \fB\-p\fP (for "pretend") flag.
-This will show you all the proposed changes but won\(aqt actually change anything
+To perform a “dry run” of an update, just use the \fB\-p\fP (for “pretend”) flag.
+This will show you all the proposed changes but won’t actually change anything
on disk.
.sp
By default, all the changed metadata will be populated back to the database.
@@ -311,7 +311,7 @@
When an updated track is part of an album, the album\-level fields of \fIall\fP
tracks from the album are also updated. (Specifically, the command copies
album\-level data from the first track on the album and applies it to the
-rest of the tracks.) This means that, if album\-level fields aren\(aqt identical
+rest of the tracks.) This means that, if album\-level fields aren’t identical
within an album, some changes shown by the \fBupdate\fP command may be
overridden by data from other tracks on the same album. This means that
running the \fBupdate\fP command multiple times may show the same changes being
@@ -328,9 +328,9 @@
.UNINDENT
.UNINDENT
.sp
-Write metadata from the database into files\(aq tags.
+Write metadata from the database into files’ tags.
.sp
-When you make changes to the metadata stored in beets\(aq library database
+When you make changes to the metadata stored in beets’ library database
(during import or with the \fI\%modify\fP command, for example), you often
have the option of storing changes only in the database, leaving your files
untouched. The \fBwrite\fP command lets you later change your mind and write the
@@ -353,7 +353,7 @@
.UNINDENT
.UNINDENT
.sp
-Show some statistics on your entire library (if you don\(aqt provide a
+Show some statistics on your entire library (if you don’t provide a
query) or the matched items (if you do).
.sp
By default, the command calculates file sizes using their bitrate and
@@ -373,7 +373,7 @@
.sp
Show the item and album metadata fields available for use in query and
pathformat\&. The listing includes any template fields provided by
-plugins and any flexible attributes you\(aqve manually assigned to your items and
+plugins and any flexible attributes you’ve manually assigned to your items and
albums.
.SS config
.INDENT 0.0
@@ -392,7 +392,7 @@
.INDENT 0.0
.IP \(bu 2
With no options, print a YAML representation of the current user
-configuration. With the \fB\-\-default\fP option, beets\(aq default options are
+configuration. With the \fB\-\-default\fP option, beets’ default options are
also included in the dump.
.IP \(bu 2
The \fB\-\-path\fP option instead shows the path to your configuration file.
@@ -409,8 +409,8 @@
.UNINDENT
.SH GLOBAL FLAGS
.sp
-Beets has a few "global" flags that affect all commands. These must appear
-between the executable name (\fBbeet\fP) and the command\-\-\-for example, \fBbeet \-v
+Beets has a few “global” flags that affect all commands. These must appear
+between the executable name (\fBbeet\fP) and the command—for example, \fBbeet \-v
import ...\fP\&.
.INDENT 0.0
.IP \(bu 2
@@ -472,8 +472,8 @@
.UNINDENT
.UNINDENT
.sp
-(Don\(aqt worry about the slash in front of the colon: this is a escape
-sequence for the shell and won\(aqt be seen by beets.)
+(Don’t worry about the slash in front of the colon: this is a escape
+sequence for the shell and won’t be seen by beets.)
.sp
Completion of plugin commands only works for those plugins
that were enabled when running \fBbeet completion\fP\&. If you add a plugin
@@ -485,7 +485,7 @@
sourced in your \fB\&.zshrc\fP\&. Running \fBecho $fpath\fP will give you a list of
valid directories.
.sp
-Another approach is to use zsh\(aqs bash completion compatibility. This snippet
+Another approach is to use zsh’s bash completion compatibility. This snippet
defines some bash\-specific functions to make this work without errors:
.INDENT 0.0
.INDENT 3.5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/beets-1.4.8/man/beetsconfig.5 new/beets-1.4.9/man/beetsconfig.5
--- old/beets-1.4.8/man/beetsconfig.5 2019-05-17 02:44:22.000000000 +0200
+++ new/beets-1.4.9/man/beetsconfig.5 2019-05-31 02:06:33.000000000 +0200
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "BEETSCONFIG" "5" "May 16, 2019" "1.4" "beets"
+.TH "BEETSCONFIG" "5" "May 30, 2019" "1.4" "beets"
.SH NAME
beetsconfig \- beets configuration file
.
@@ -226,7 +226,7 @@
.UNINDENT
.SH GLOBAL OPTIONS
.sp
-These options control beets\(aq global operation.
+These options control beets’ global operation.
.SS library
.sp
Path to the beets library file. By default, beets will use a file called
@@ -248,7 +248,7 @@
Directories to search for plugins. Each Python file or directory in a plugin
path represents a plugin and should define a subclass of \fBBeetsPlugin\fP\&.
A plugin can then be loaded by adding the filename to the \fIplugins\fP configuration.
-The plugin path can either be a single string or a list of strings\-\-\-so, if you
+The plugin path can either be a single string or a list of strings—so, if you
have multiple paths, format them as a YAML list like so:
.INDENT 0.0
.INDENT 3.5
@@ -272,8 +272,8 @@
.SS ignore_hidden
.sp
Either \fByes\fP or \fBno\fP; whether to ignore hidden files when importing. On
-Windows, the "Hidden" property of files is used to detect whether or not a file
-is hidden. On OS X, the file\(aqs "IsHidden" flag is used to detect whether or not
+Windows, the “Hidden” property of files is used to detect whether or not a file
+is hidden. On OS X, the file’s “IsHidden” flag is used to detect whether or not
a file is hidden. On both OS X and other platforms (excluding Windows), files
(and directories) starting with a dot are detected as hidden files.
.SS replace
@@ -311,7 +311,7 @@
.sp
These substitutions remove forward and back slashes, leading dots, and
control characters—all of which is a good idea on any OS. The fourth line
-removes the Windows "reserved characters" (useful even on Unix for for
+removes the Windows “reserved characters” (useful even on Unix for for
compatibility with Windows\-influenced network filesystems like Samba).
Trailing dots and trailing whitespace, which can cause problems on Windows
clients, are also removed.
@@ -323,7 +323,7 @@
.sp
Note that paths might contain special characters such as typographical
quotes (\fB“”\fP). With the configuration above, those will not be
-replaced as they don\(aqt match the typewriter quote (\fB"\fP). To also strip these
+replaced as they don’t match the typewriter quote (\fB"\fP). To also strip these
special characters, you can either add them to the replacement list or use the
\fI\%asciify_paths\fP configuration option below.
.SS asciify_paths
@@ -331,7 +331,7 @@
Convert all non\-ASCII characters in paths to ASCII equivalents.
.sp
For example, if your path template for
-singletons is \fBsingletons/$title\fP and the title of a track is "Café",
+singletons is \fBsingletons/$title\fP and the title of a track is “Café”,
then the track will be saved as \fBsingletons/Cafe.mp3\fP\&. The changes
take place before applying the \fI\%replace\fP configuration and are roughly
equivalent to wrapping all your path templates in the \fB%asciify{}\fP
@@ -344,7 +344,7 @@
cover art image should be placed. This is a template string, so you can use any
of the syntax available to /reference/pathformat\&. Defaults to \fBcover\fP
(i.e., images will be named \fBcover.jpg\fP or \fBcover.png\fP and placed in the
-album\(aqs directory).
+album’s directory).
.SS threaded
.sp
Either \fByes\fP or \fBno\fP, indicating whether the autotagger should use
@@ -418,7 +418,7 @@
.UNINDENT
.UNINDENT
.sp
-When this option is off (the default), even "pregap" hidden tracks are
+When this option is off (the default), even “pregap” hidden tracks are
numbered from one, not zero, so other track numbers may appear to be bumped up
by one. When it is on, the pregap track for each disc can be numbered zero.
.SS aunique
@@ -445,17 +445,17 @@
.SS terminal_encoding
.sp
The text encoding, as \fI\%known to Python\fP, to use for messages printed to the
-standard output. It\(aqs also used to read messages from the standard input.
+standard output. It’s also used to read messages from the standard input.
By default, this is determined automatically from the locale
environment variables.
.SS clutter
.sp
When beets imports all the files in a directory, it tries to remove the
-directory if it\(aqs empty. A directory is considered empty if it only contains
+directory if it’s empty. A directory is considered empty if it only contains
files whose names match the glob patterns in \fIclutter\fP, which should be a list
-of strings. The default list consists of "Thumbs.DB" and ".DS_Store".
+of strings. The default list consists of “Thumbs.DB” and “.DS_Store”.
.sp
-The importer only removes recursively searched subdirectories\-\-\-the top\-level
+The importer only removes recursively searched subdirectories—the top\-level
directory you specify on the command line is never deleted.
.SS max_filename_length
.sp
@@ -481,7 +481,7 @@
.SS color
.sp
Either \fByes\fP or \fBno\fP; whether to use color in console output (currently
-only in the \fBimport\fP command). Turn this off if your terminal doesn\(aqt
+only in the \fBimport\fP command). Turn this off if your terminal doesn’t
support ANSI colors.
.sp
\fBNOTE:\fP
@@ -552,7 +552,7 @@
overridden with the \fB\-c\fP and \fB\-C\fP command\-line options.
.sp
The option is ignored if \fBmove\fP is enabled (i.e., beets can move or
-copy files but it doesn\(aqt make sense to do both).
+copy files but it doesn’t make sense to do both).
.SS move
.sp
Either \fByes\fP or \fBno\fP, indicating whether to \fBmove\fP files into the
@@ -560,10 +560,10 @@
Defaults to \fBno\fP\&.
.sp
The effect is similar to the \fBcopy\fP option but you end up with only
-one copy of the imported file. ("Moving" works even across filesystems; if
+one copy of the imported file. (“Moving” works even across filesystems; if
necessary, beets will copy and then delete when a simple rename is
-impossible.) Moving files can be risky—it\(aqs a good idea to keep a backup in
-case beets doesn\(aqt do what you expect with your files.
+impossible.) Moving files can be risky—it’s a good idea to keep a backup in
+case beets doesn’t do what you expect with your files.
.sp
This option \fIoverrides\fP \fBcopy\fP, so enabling it will always move
(and not copy) files. The \fB\-c\fP switch to the \fBbeet import\fP command,
@@ -577,7 +577,7 @@
This option only works on platforms that support symbolic links: i.e., Unixes.
It will fail on Windows.
.sp
-It\(aqs likely that you\(aqll also want to set \fBwrite\fP to \fBno\fP if you use this
+It’s likely that you’ll also want to set \fBwrite\fP to \fBno\fP if you use this
option to preserve the metadata on the linked files.
.SS hardlink
.sp
@@ -591,10 +591,10 @@
.SS resume
.sp
Either \fByes\fP, \fBno\fP, or \fBask\fP\&. Controls whether interrupted imports
-should be resumed. "Yes" means that imports are always resumed when
-possible; "no" means resuming is disabled entirely; "ask" (the default)
+should be resumed. “Yes” means that imports are always resumed when
+possible; “no” means resuming is disabled entirely; “ask” (the default)
means that the user should be prompted when resuming is possible. The \fB\-p\fP
-and \fB\-P\fP flags correspond to the "yes" and "no" settings and override this
+and \fB\-P\fP flags correspond to the “yes” and “no” settings and override this
option.
.SS incremental
.sp
@@ -606,7 +606,7 @@
Either \fByes\fP or \fBno\fP, controlling whether skipped directories are
recorded in the incremental list. When set to \fByes\fP, skipped directories
will be recorded, and skipped later. When set to \fBno\fP, skipped
-directories won\(aqt be recorded, and beets will try to import them again
+directories won’t be recorded, and beets will try to import them again
later. Defaults to \fBno\fP\&.
.SS from_scratch
.sp
@@ -632,7 +632,7 @@
controls the same setting.
.SS log
.sp
-Specifies a filename where the importer\(aqs log should be kept. By default,
+Specifies a filename where the importer’s log should be kept. By default,
no log is written. This can be overridden with the \fB\-l\fP flag to
\fBimport\fP\&.
.SS default_action
@@ -644,8 +644,8 @@
.SS languages
.sp
A list of locale names to search for preferred aliases. For example, setting
-this to \fBen\fP uses the transliterated artist name "Pyotr Ilyich Tchaikovsky"
-instead of the Cyrillic script for the composer\(aqs name when tagging from
+this to \fBen\fP uses the transliterated artist name “Pyotr Ilyich Tchaikovsky”
+instead of the Cyrillic script for the composer’s name when tagging from
MusicBrainz. You can use a space\-separated list of language abbreviations, like
\fBen jp es\fP, to specify a preference order. Defaults to an empty list, meaning
that no language is preferred.
@@ -658,7 +658,7 @@
.SS group_albums
.sp
By default, the beets importer groups tracks into albums based on the
-directories they reside in. This option instead uses files\(aq metadata to
+directories they reside in. This option instead uses files’ metadata to
partition albums. Enable this option if you have directories that contain
tracks from many albums mixed together.
.sp
@@ -678,9 +678,9 @@
.sp
Either \fBskip\fP, \fBkeep\fP, \fBremove\fP, \fBmerge\fP or \fBask\fP\&.
Controls how duplicates are treated in import task.
-"skip" means that new item(album or track) will be skipped;
-"keep" means keep both old and new items; "remove" means remove old
-item; "merge" means merge into one album; "ask" means the user
+“skip” means that new item(album or track) will be skipped;
+“keep” means keep both old and new items; “remove” means remove old
+item; “merge” means merge into one album; “ask” means the user
should be prompted for the action each time. The default is \fBask\fP\&.
.SS bell
.sp
@@ -690,7 +690,7 @@
.SS set_fields
.sp
A dictionary indicating fields to set to values for newly imported music.
-Here\(aqs an example:
+Here’s an example:
.INDENT 0.0
.INDENT 3.5
.sp
@@ -731,8 +731,8 @@
The server must have search indices enabled (see \fI\%Building search indexes\fP).
.sp
The \fBratelimit\fP option, an integer, controls the number of Web service requests
-per second (default: 1). \fBDo not change the rate limit setting\fP if you\(aqre
-using the main MusicBrainz server\-\-\-on this public server, you\(aqre \fI\%limited\fP
+per second (default: 1). \fBDo not change the rate limit setting\fP if you’re
+using the main MusicBrainz server—on this public server, you’re \fI\%limited\fP
to one request per second.
.SS searchlimit
.sp
@@ -746,8 +746,8 @@
matching MusicBrainz results under the \fBmatch:\fP section. To control how
\fItolerant\fP the autotagger is of differences, use the \fBstrong_rec_thresh\fP
option, which reflects the distance threshold below which beets will make a
-"strong recommendation" that the metadata be used. Strong recommendations
-are accepted automatically (except in "timid" mode), so you can use this to
+“strong recommendation” that the metadata be used. Strong recommendations
+are accepted automatically (except in “timid” mode), so you can use this to
make beets ask your opinion more or less often.
.sp
The threshold is a \fIdistance\fP value between 0.0 and 1.0, so you can think of it
@@ -770,7 +770,7 @@
The \fBmedium_rec_thresh\fP and \fBrec_gap_thresh\fP options work similarly. When a
match is below the \fImedium\fP recommendation threshold or the distance between it
and the next\-best match is above the \fIgap\fP threshold, the importer will suggest
-that match but not automatically confirm it. Otherwise, you\(aqll see a list of
+that match but not automatically confirm it. Otherwise, you’ll see a list of
options to choose from.
.SS max_rec
.sp
@@ -781,7 +781,7 @@
\fImaximum\fP recommendations for each field:
.sp
To define maxima, use keys under \fBmax_rec:\fP in the \fBmatch\fP section. The
-defaults are "medium" for missing and unmatched tracks and "strong" (i.e., no
+defaults are “medium” for missing and unmatched tracks and “strong” (i.e., no
maximum) for everything else:
.INDENT 0.0
.INDENT 3.5
@@ -800,7 +800,7 @@
If a recommendation is higher than the configured maximum and the indicated
penalty is applied, the recommendation is downgraded. The setting for
each field can be one of \fBnone\fP, \fBlow\fP, \fBmedium\fP or \fBstrong\fP\&. When the
-maximum recommendation is \fBstrong\fP, no "downgrading" occurs. The available
+maximum recommendation is \fBstrong\fP, no “downgrading” occurs. The available
penalty names here are:
.INDENT 0.0
.IP \(bu 2
@@ -849,15 +849,15 @@
media types.
.sp
A distance penalty will be applied if the country or media type from the match
-metadata doesn\(aqt match. The specified values are preferred in descending order
+metadata doesn’t match. The specified values are preferred in descending order
(i.e., the first item will be most preferred). Each item may be a regular
expression, and will be matched case insensitively. The number of media will
-be stripped when matching preferred media (e.g. "2x" in "2xCD").
+be stripped when matching preferred media (e.g. “2x” in “2xCD”).
.sp
You can also tell the autotagger to prefer matches that have a release year
closest to the original year for an album.
.sp
-Here\(aqs an example:
+Here’s an example:
.INDENT 0.0
.INDENT 3.5
.sp
@@ -892,7 +892,7 @@
.sp
The available penalties are the same as those for the \fI\%max_rec\fP setting.
.sp
-For example, setting \fBignored: missing_tracks\fP will skip any album matches where your audio files are missing some of the tracks. The importer will not attempt to display these matches. It does not ignore the fact that the album is missing tracks, which would allow these matches to apply more easily. To do that, you\(aqll want to adjust the penalty for missing tracks.
+For example, setting \fBignored: missing_tracks\fP will skip any album matches where your audio files are missing some of the tracks. The importer will not attempt to display these matches. It does not ignore the fact that the album is missing tracks, which would allow these matches to apply more easily. To do that, you’ll want to adjust the penalty for missing tracks.
.SS required
.sp
You can avoid matches that lack certain required information. Add the tags you
@@ -932,7 +932,7 @@
.SS ignore_data_tracks
.sp
By default, audio files contained in data tracks within a release are included
-in the album\(aqs tracklist. If you want them to be included, set it \fBno\fP\&.
+in the album’s tracklist. If you want them to be included, set it \fBno\fP\&.
.sp
Default: \fByes\fP\&.
.SS ignore_video_tracks
@@ -948,7 +948,7 @@
These settings appear under the \fBpaths:\fP key. Each string is a template
string that can refer to metadata fields like \fB$artist\fP or \fB$title\fP\&. The
filename extension is added automatically. At the moment, you can specify three
-special paths: \fBdefault\fP for most releases, \fBcomp\fP for "various artist"
+special paths: \fBdefault\fP for most releases, \fBcomp\fP for “various artist”
releases with no dominant artist, and \fBsingleton\fP for non\-album tracks. The
defaults look like this:
.INDENT 0.0
@@ -1003,7 +1003,7 @@
First, you can set the \fBBEETSDIR\fP environment variable to a directory
containing a \fBconfig.yaml\fP file. This replaces your configuration in the
default location. This also affects where auxiliary files, like the library
-database, are stored by default (that\(aqs where relative paths are resolved to).
+database, are stored by default (that’s where relative paths are resolved to).
This environment variable is useful if you need to manage multiple beets
libraries with separate configurations.
.SS Command\-Line Option
@@ -1030,11 +1030,11 @@
the environment variable is set.
.UNINDENT
.sp
-Beets uses the first directory in your platform\(aqs list that contains
+Beets uses the first directory in your platform’s list that contains
\fBconfig.yaml\fP\&. If no config file exists, the last path in the list is used.
.SH EXAMPLE
.sp
-Here\(aqs an example file:
+Here’s an example file:
.INDENT 0.0
.INDENT 3.5
.sp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/beets-1.4.8/setup.py new/beets-1.4.9/setup.py
--- old/beets-1.4.8/setup.py 2019-05-17 02:42:57.000000000 +0200
+++ new/beets-1.4.9/setup.py 2019-05-31 00:15:09.000000000 +0200
@@ -56,7 +56,7 @@
setup(
name='beets',
- version='1.4.8',
+ version='1.4.9',
description='music tagger and library organizer',
author='Adrian Sampson',
author_email='adrian@radbox.org',
@@ -115,10 +115,12 @@
'rarfile',
'responses',
'pyxdg',
- 'pathlib',
'python-mpd2',
'discogs-client'
- ],
+ ] + (
+ # Tests for the thumbnails plugin need pathlib on Python 2 too.
+ ['pathlib'] if (sys.version_info < (3, 4, 0)) else []
+ ),
# Plugin (optional) dependencies:
extras_require={
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/beets-1.4.8/test/test_player.py new/beets-1.4.9/test/test_player.py
--- old/beets-1.4.8/test/test_player.py 2019-05-17 02:42:57.000000000 +0200
+++ new/beets-1.4.9/test/test_player.py 2019-05-31 00:15:09.000000000 +0200
@@ -29,6 +29,7 @@
import yaml
import tempfile
from contextlib import contextmanager
+import random
from beets.util import confit, py3_path
from beetsplug import bpd
@@ -261,12 +262,17 @@
self.unload_plugins()
@contextmanager
- def run_bpd(self, host='localhost', port=9876, password=None,
+ def run_bpd(self, host='localhost', port=None, password=None,
do_hello=True, second_client=False):
""" Runs BPD in another process, configured with the same library
database as we created in the setUp method. Exposes a client that is
connected to the server, and kills the server at the end.
"""
+ # Choose a port (randomly) to avoid conflicts between parallel
+ # tests.
+ if not port:
+ port = 9876 + random.randint(0, 10000)
+
# Create a config file:
config = {
'pluginpath': [py3_path(self.temp_dir)],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/beets-1.4.8/test/test_random.py new/beets-1.4.9/test/test_random.py
--- old/beets-1.4.8/test/test_random.py 2019-05-16 22:32:48.000000000 +0200
+++ new/beets-1.4.9/test/test_random.py 2019-05-30 15:08:39.000000000 +0200
@@ -80,3 +80,10 @@
self.assertAlmostEqual(0, median1, delta=1)
self.assertAlmostEqual(len(self.items) // 2, median2, delta=1)
self.assertGreater(stdev2, stdev1)
+
+
+def suite():
+ return unittest.TestLoader().loadTestsFromName(__name__)
+
+if __name__ == '__main__':
+ unittest.main(defaultTest='suite')