Skip to content

Commit

Permalink
eyeD3: update to 0.9.5.
Browse files Browse the repository at this point in the history
v0.9.5 (2020-03-28) : I Knew Her, She Knew Me
----------------------------------------------

Fix
~~~
- `eyeD3 --genre ""` to clear genre frame restored.
- Genre id->name mapping for non-standard genres and custom maps.


v0.9.4 (2020-03-21) : The Devil Made Me Do It
-----------------------------------------------

New
~~~
- Relative volume adjustments (RVA2 and RVAD) (#399)
- Tag properties copyright and encoded_by
- Support GRP1 (Apple) frames.

Changes
~~~~~~~
- Genre serialization not ID3 v2.3 format by default, and other genre cleanup (#402)
  fixes #382

Fix
~~~
- Date correctness between ID3 versions (#396)
- PopularityFrame email encoding bug.
- Plugins more featured in docs


v0.9.3 (2020-03-01) : It Dawned On Me
--------------------------------------

Changes
~~~~~~~
- Track/disc numbers can be set with integer strings.
- Disc number getter and setter hooks

v0.9.2 (2020-02-10) : Into The Future
--------------------------------------

Fix
~~~
- Removed setting of PYTHONIOENCODING, it breaks MacOS.
  Fixes #388


v0.9.1 (2020-02-09) : Dead and Gone
------------------------------------

Fix
~~~
- Docs and pep8.

Other
~~~~~
- Experiment with setting utf-8 writer for stdout and stderr.


v0.9 (2020-01-01) : Favorite Thing
-----------------------------------

Major Changes
~~~~~~~~~~~~~
- Dropped support for Python versions 2.7, 3.4, and 3.5.
- File scanning is no longer recursive by default; use `-r / --recursive`.
- Default log-level changed from WARNING to ERROR.

New
~~~
- Mime-type detection uses filetype.py (libmagic no longer required)
- setFileScannerOpts function accepts `default_recursive` option.
- A new `jsontag` plugin for converting tags to JSON.
- A new `extract` plugin for extracting tags from media.
- A new `yamltag` plugin for converting tags to YAML.
- A new `mimetypes` plugin for listing file mime-types / measuring performance
- Original artist support (TOPE frame, --orig-artist)
- Added support for Python 3.8 and pypy3.

Changes
~~~~~~~
- Log warning when ID3 v1.x text truncation occurs. Fixes #299.
- Accept (invalid) date strings for the form YYYYMMDD. Fixes #379
- Adjust replay gain correctly for lame >= 3.95.1 headers.
- Added -r/--recursive argument. eyeD3 is no longer recursive by default (#378)
- Regenerated grako parser.
- New ValueError for _setNum when unknown type/values are passed.
- Moved src/* to top-level repo directory.

Fix
~~~
- PRIV data type checking, fixed examples, etc.
- Use tox for `make test`
- ID3 v2.3 to v2.4 date conversion.
- Match mp3 mime-types against all possible mime-types.
  Specifically, application/x-font-gdos. Fixes #338
- Fix simple typo: titel -> title. <[email protected]>
- Fixed: load the right config file in arguments. <[email protected]>
- Fix issue tracker link. Fixes #333.
- Fixed art plugin when `pylast` is not installed.
- Unbound variable for track num/total.  Fixes #327.
- Fixed MP3 header search to not false match on BOMs.
- Honor APIC text encoding when description is "".  #200.
- Fixed bug with improper types when re-rendering unique file ID. (#324)
  <[email protected]>
- UFID fixes, update (#325) <[email protected]>

Other
~~~~~
- Deprecation of eyed3.utils.guessMimeType
- Removed ipdb from dev requirements


v0.8.12 (2019-12-27)
---------------------

Changes
~~~~~~~
- Accept (invalid) date strings for the form YYYYMMDD. Fixes #379

Other
~~~~~
- Test with py38


v0.8.11 (2019-11-09)
------------------------

Fix
~~~
- ID3 v2.3 to v2.4 date conversion.
- Match mp3 mime-types against all possible mime-types.
  Specifically, application/x-font-gdos. Fixes #338


v0.8.10 (2019-03-07) : Apples
------------------------------

New
~~~
- Log warning when ID3 v1.x text truncation occurs. Fixes #299.

Fix
~~~
- Honor APIC text encoding when description is "".  #200.
- Fixed bug with improper types when re-rendering unique file ID. (#324)
  <[email protected]>


v0.8.9 (2019-01-12) : Descent Into...
--------------------------------------

Changes
~~~~~~~
- Fixup plugin: -t changed to --type.
- Pin pathlib to latest version 1.0.1 (#304) <[email protected]>

Fix
~~~
- Force no-color output when stdout is not a terminal (#297)
  <[email protected]>
- Requirements.txt: pathlib is only needed for older python versions
  (#284) <[email protected]>
- Art plugin: Pin pylast to 2.x to preserve Python2 support.


v0.8.8 (2018-11-28) : In Ruins
------------------------------

New
~~~
- Follow symlink directories. Fixes #224

Changes
~~~~~~~
- Eyed3.core.AudioInfo `time_secs` is now a float and non-lossy. Fixes #210
- Removed Python 3.3 support.

Fix
~~~
- Better type handling during TLEN [fixup plugin].
- Don't tweak logging by default, only thru `main`. Fixes #243

Other
~~~~~
- Added a separate example for Windows (--add-image <url>) [Addresses
  the issue #219] (#220) <[email protected]>


v0.8.7 (2018-06-11) : Aeon
---------------------------

Fix
~~~
- Only use os.fwalk where supported.


v0.8.6 (2018-05-27) : Robot Man
--------------------------------

New
~~~
- Art plugin can now download album covers from last.fm.

Changes
~~~~~~~
- Use os.fwalk for its better performance (esp. >= py37) Fixes #166
- TagTemplate `path_friendly` is now a string, namely the delimiter to use.

Fix
~~~
- Classic plugin: --write-image will work with --quiet. Fixes #188
- Multiple fixes for display plugin %images% replacements. Fixes #176
- Allow --remove-* options to work when there are no tags. Fixes #183


v0.8.5 (2018-03-27) : 30$ Bag
-----------------------------

New
~~~
- Mp3AudioFile.initTag now returns the new tag.
- Eyed3.core.EP_MAX_SIZE_HINT.
- Added docs for install devel dependencies and test data.

Changes
~~~~~~~
- Similarly to TextFrame, fallback to latin1 for invalid encodings.
- Removed paver as a dep.
- Removed fabfile and mkenv.
- Clean pytest_cache.
- Nicfit.py cc update.

Fix
~~~
- Handle missing `fcntl` on Windows. Fixes #135.
- In addition to None, "" will now clear dates.
- Update index.rst to reflect the code is in a Git repo, not Mercurial (#164)
  <[email protected]>

Other
~~~~~
- Update pytest from 3.2.2 to 3.5.0 (#175) <[email protected]>
- Update twine from 1.9.1 to 1.11.0 (#173) <[email protected]>
- Update sphinx from 1.6.5 to 1.7.2 (#174) <[email protected]>
- Update sphinxcontrib-paverutils from 1.16.0 to 1.17.0 (#172) <github-
  [email protected]>
- Update pytest-runner from 3.0 to 4.2 (#171) <[email protected]>
- Update nicfit.py from 0.7 to 0.8 (#161) <[email protected]>
- Update ipdb from 0.10.3 to 0.11 (#159) <[email protected]>
- Update factory-boy from 2.9.2 to 2.10.0 (#150) <[email protected]>
- Update pyaml from 17.10.0 to 17.12.1 (#138) <[email protected]>
- Update python-magic to 0.4.15 (#130) <[email protected]>
- Update pip-tools from 1.10.1 to 1.11.0 (#129) <[email protected]>
- Update check-manifest from 0.35 to 0.36 (#125) <[email protected]>


v0.8.4 (2017-11-17) : The Cold Vein
-------------------------------------

New
~~~
- Composer (TCOM) support (#123)
- Check for version incompatibilities during version changes.

Changes
~~~~~~~
- More forgiving of invalid text encoding identifiers (fixes #101)
- More forgiving of bad Unicode in text frames (fixes #105)
- EyeD3 cmd line helper turned not session-scoped fixture.
- Only warn about missing grako when the plugin is used. Fixes #115.

Fix
~~~
- Fix python3 setup when system encoding is not utf-8 (#120)
  <[email protected]>
- Fix bad frames detection in stats plugin for python3 (#113)
  <[email protected]>
- Script exits with 0 status when called with --version/--help (#109)
  <[email protected]>
- Help pymagic with poorly encoded filenames.
- [display plugin] Handle comments.
- [display plugin] Handle internal exception types. Fixes #118.
- IOError (nor OSError) have a message attr.

Other
~~~~~
- Set theme jekyll-theme-slate.
- Update pytest to 3.2.5 (#122) <[email protected]>
- Update pytest-runner to 3.0 (#108) <[email protected]>
- Update sphinx to 1.6.5 (#106) <[email protected]>
- Update flake8 to 3.5.0 (#107) <[email protected]>


v0.8.3 (2017-10-22) : So Alone
-------------------------------

Fix
~~~
- Reload and process after tag removals, fixes #102. (PR #103)
- Display incorrectly encoded strings (usually filenames)

Other
~~~~~
- Make the classic output span the actual width of the tty so you can
  see the actual path with a long file name. (#92) <[email protected]>


v0.8.2 (2017-09-23) : Standing At the Station
----------------------------------------------

New
~~~
- Pypy and pypy3 support.

Changes
~~~~~~~
- 'nose' is no longer used/required for testing.

Fix
~~~
- Fix for Unicode paths when using Python2.  Fixes #56.


v0.8.1 (2017-08-26) : I Can't Talk To You
------------------------------------------

New
~~~
- ``make pkg-test-data`` target.
- Sample mime-type tests.

Fix
~~~
- Added ``python-magic`` as a dependency for reliable mime-type detection.
  Fixes #61
- Add pathlib to requirements. Fixes #43.
- [doc] Fixed github URL.


v0.8 (2017-05-13) : I Don't Know My Name
-----------------------------------------
.. warning::
  This release is **NOT** API compatible with 0.7.x. The majority
  of the command line interface has been preserved although many options
  have either changed or been removed.  Additionally, support for Python 2.6
  has been dropped.

New
~~~
- Python 3 support (version 2.7 and >= 3.3 supported)
- The Display plugin (-P/--plugin display) enables complete control over tag
  output. Requires ``grako``. If using pip, ``pip install eyeD3[display]``.
  Contributed by Sebastian Patschorke.
- Genre.parse(id3_std=False) (and --non-std-genres) to disable genre #
  mapping.
- eyed3.load accept pathlib.Path arguments.
- eyed3.core.AudioFile accept pathlib.Path arguments.
- eyed3.utils.walk accept pathlib.Path arguments.
- New manual page. Contributed by Gaetano Guerriero
- ``make test-data``

Changes
~~~~~~~~
- Project home from to GitHub: https://github.com/nicfit/eyeD3

Fix
~~~
- Lang fixes, and no longer coerce invalids to eng.

Other
~~~~~
- Moved to pytest, although unittest not yet purged.
  • Loading branch information
0-wiz-0 committed May 19, 2020
1 parent 888e860 commit e05a6dd
Show file tree
Hide file tree
Showing 4 changed files with 71 additions and 32 deletions.
29 changes: 16 additions & 13 deletions audio/eyeD3/Makefile
Original file line number Diff line number Diff line change
@@ -1,24 +1,27 @@
# $NetBSD: Makefile,v 1.13 2020/01/26 17:30:41 rillig Exp $
# $NetBSD: Makefile,v 1.14 2020/05/19 18:52:35 wiz Exp $

DISTNAME= eyeD3-0.7.11
PKGREVISION= 1
DISTNAME= eyeD3-0.9.5
CATEGORIES= audio
MASTER_SITES= ${MASTER_SITE_PYPI:=e/eyeD3/}

MAINTAINER= [email protected]
HOMEPAGE= https://eyed3.nicfit.net/
COMMENT= Python tool for working with audio files (in particular, mp3)
LICENSE= gnu-gpl-v2
HOMEPAGE= https://eyed3.readthedocs.io/en/latest/
COMMENT= Python audio data toolkit (ID3 and MP3)
LICENSE= gnu-gpl-v3

DEPENDS+= ${PYPKGPREFIX}-deprecation-[0-9]*:../../devel/py-deprecation
DEPENDS+= ${PYPKGPREFIX}-factory_boy-[0-9]*:../../devel/py-factory_boy
DEPENDS+= ${PYPKGPREFIX}-filetype-[0-9]*:../../sysutils/py-filetype

PYTHON_VERSIONED_DEPENDENCIES+= test:test

USE_LANGUAGES= # none
PYTHON_VERSIONS_ACCEPTED= 27 # not yet ported as of 0.7.11
REPLACE_SH+= bin/eyeD3

SUBST_CLASSES+= python
SUBST_STAGE.python= post-configure
SUBST_MESSAGE.python= Fixing path to python executable.
SUBST_FILES.python+= bin/eyeD3
SUBST_SED.python+= -e "s,python,${PYTHONBIN},"
# 13 test failures as of 0.9.5
# https://github.com/nicfit/eyeD3/issues/437
do-test:
cd ${WRKSRC} && ${SETENV} ${TEST_ENV} py.test-${PYVERSSUFFIX}

.include "../../lang/python/versioned_dependencies.mk"
.include "../../lang/python/egg.mk"
.include "../../mk/bsd.pkg.mk"
47 changes: 33 additions & 14 deletions audio/eyeD3/PLIST
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
@comment $NetBSD: PLIST,v 1.2 2017/02/08 14:21:26 wiz Exp $
@comment $NetBSD: PLIST,v 1.3 2020/05/19 18:52:35 wiz Exp $
bin/eyeD3
${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
${PYSITELIB}/${EGG_INFODIR}/entry_points.txt
${PYSITELIB}/${EGG_INFODIR}/not-zip-safe
${PYSITELIB}/${EGG_INFODIR}/requires.txt
${PYSITELIB}/${EGG_INFODIR}/top_level.txt
${PYSITELIB}/eyed3/__about__.py
${PYSITELIB}/eyed3/__about__.pyc
${PYSITELIB}/eyed3/__about__.pyo
${PYSITELIB}/eyed3/__init__.py
${PYSITELIB}/eyed3/__init__.pyc
${PYSITELIB}/eyed3/__init__.pyo
${PYSITELIB}/eyed3/compat.py
${PYSITELIB}/eyed3/compat.pyc
${PYSITELIB}/eyed3/compat.pyo
${PYSITELIB}/eyed3/core.py
${PYSITELIB}/eyed3/core.pyc
${PYSITELIB}/eyed3/core.pyo
Expand All @@ -29,13 +31,12 @@ ${PYSITELIB}/eyed3/id3/headers.pyo
${PYSITELIB}/eyed3/id3/tag.py
${PYSITELIB}/eyed3/id3/tag.pyc
${PYSITELIB}/eyed3/id3/tag.pyo
${PYSITELIB}/eyed3/info.py
${PYSITELIB}/eyed3/info.py.in
${PYSITELIB}/eyed3/info.pyc
${PYSITELIB}/eyed3/info.pyo
${PYSITELIB}/eyed3/main.py
${PYSITELIB}/eyed3/main.pyc
${PYSITELIB}/eyed3/main.pyo
${PYSITELIB}/eyed3/mimetype.py
${PYSITELIB}/eyed3/mimetype.pyc
${PYSITELIB}/eyed3/mimetype.pyo
${PYSITELIB}/eyed3/mp3/__init__.py
${PYSITELIB}/eyed3/mp3/__init__.pyc
${PYSITELIB}/eyed3/mp3/__init__.pyo
Expand All @@ -45,12 +46,21 @@ ${PYSITELIB}/eyed3/mp3/headers.pyo
${PYSITELIB}/eyed3/plugins/__init__.py
${PYSITELIB}/eyed3/plugins/__init__.pyc
${PYSITELIB}/eyed3/plugins/__init__.pyo
${PYSITELIB}/eyed3/plugins/_display_parser.py
${PYSITELIB}/eyed3/plugins/_display_parser.pyc
${PYSITELIB}/eyed3/plugins/_display_parser.pyo
${PYSITELIB}/eyed3/plugins/art.py
${PYSITELIB}/eyed3/plugins/art.pyc
${PYSITELIB}/eyed3/plugins/art.pyo
${PYSITELIB}/eyed3/plugins/classic.py
${PYSITELIB}/eyed3/plugins/classic.pyc
${PYSITELIB}/eyed3/plugins/classic.pyo
${PYSITELIB}/eyed3/plugins/display.py
${PYSITELIB}/eyed3/plugins/display.pyc
${PYSITELIB}/eyed3/plugins/display.pyo
${PYSITELIB}/eyed3/plugins/extract.py
${PYSITELIB}/eyed3/plugins/extract.pyc
${PYSITELIB}/eyed3/plugins/extract.pyo
${PYSITELIB}/eyed3/plugins/fixup.py
${PYSITELIB}/eyed3/plugins/fixup.pyc
${PYSITELIB}/eyed3/plugins/fixup.pyo
Expand All @@ -60,21 +70,33 @@ ${PYSITELIB}/eyed3/plugins/genres.pyo
${PYSITELIB}/eyed3/plugins/itunes.py
${PYSITELIB}/eyed3/plugins/itunes.pyc
${PYSITELIB}/eyed3/plugins/itunes.pyo
${PYSITELIB}/eyed3/plugins/jsontag.py
${PYSITELIB}/eyed3/plugins/jsontag.pyc
${PYSITELIB}/eyed3/plugins/jsontag.pyo
${PYSITELIB}/eyed3/plugins/lameinfo.py
${PYSITELIB}/eyed3/plugins/lameinfo.pyc
${PYSITELIB}/eyed3/plugins/lameinfo.pyo
${PYSITELIB}/eyed3/plugins/lastfm.py
${PYSITELIB}/eyed3/plugins/lastfm.pyc
${PYSITELIB}/eyed3/plugins/lastfm.pyo
${PYSITELIB}/eyed3/plugins/mimetype.py
${PYSITELIB}/eyed3/plugins/mimetype.pyc
${PYSITELIB}/eyed3/plugins/mimetype.pyo
${PYSITELIB}/eyed3/plugins/nfo.py
${PYSITELIB}/eyed3/plugins/nfo.pyc
${PYSITELIB}/eyed3/plugins/nfo.pyo
${PYSITELIB}/eyed3/plugins/pymod.py
${PYSITELIB}/eyed3/plugins/pymod.pyc
${PYSITELIB}/eyed3/plugins/pymod.pyo
${PYSITELIB}/eyed3/plugins/statistics.py
${PYSITELIB}/eyed3/plugins/statistics.pyc
${PYSITELIB}/eyed3/plugins/statistics.pyo
${PYSITELIB}/eyed3/plugins/stats.py
${PYSITELIB}/eyed3/plugins/stats.pyc
${PYSITELIB}/eyed3/plugins/stats.pyo
${PYSITELIB}/eyed3/plugins/xep_118.py
${PYSITELIB}/eyed3/plugins/xep_118.pyc
${PYSITELIB}/eyed3/plugins/xep_118.pyo
${PYSITELIB}/eyed3/plugins/yamltag.py
${PYSITELIB}/eyed3/plugins/yamltag.pyc
${PYSITELIB}/eyed3/plugins/yamltag.pyo
${PYSITELIB}/eyed3/utils/__init__.py
${PYSITELIB}/eyed3/utils/__init__.pyc
${PYSITELIB}/eyed3/utils/__init__.pyo
Expand All @@ -84,9 +106,6 @@ ${PYSITELIB}/eyed3/utils/art.pyo
${PYSITELIB}/eyed3/utils/binfuncs.py
${PYSITELIB}/eyed3/utils/binfuncs.pyc
${PYSITELIB}/eyed3/utils/binfuncs.pyo
${PYSITELIB}/eyed3/utils/cli.py
${PYSITELIB}/eyed3/utils/cli.pyc
${PYSITELIB}/eyed3/utils/cli.pyo
${PYSITELIB}/eyed3/utils/console.py
${PYSITELIB}/eyed3/utils/console.pyc
${PYSITELIB}/eyed3/utils/console.pyo
Expand Down
11 changes: 6 additions & 5 deletions audio/eyeD3/distinfo
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
$NetBSD: distinfo,v 1.4 2017/03/14 19:17:21 adam Exp $
$NetBSD: distinfo,v 1.5 2020/05/19 18:52:35 wiz Exp $

SHA1 (eyeD3-0.7.11.tar.gz) = e497d01366497b2112598043eb715710d3a826c4
RMD160 (eyeD3-0.7.11.tar.gz) = 852b7fd18cb4dead92275f345e2d177e7738f9ef
SHA512 (eyeD3-0.7.11.tar.gz) = 39452dc4ae01f71da976e41d38027f67b4389ebd14294327b058fb0156a46e1da517081c7e9e716b1cbede5743e03c43fd43860dc98118c04a850b1a33d99f45
Size (eyeD3-0.7.11.tar.gz) = 234235 bytes
SHA1 (eyeD3-0.9.5.tar.gz) = eaba68dd6991ad12fcb64dfa0fcf5b8e66d2f41f
RMD160 (eyeD3-0.9.5.tar.gz) = 32caacd2ce61e0eb5ed5743bcbe12404b225f107
SHA512 (eyeD3-0.9.5.tar.gz) = 74f75bc583a6cf7ee277a581b3ef4111804fd220371b65ab4d0a4491ce8434da6ce48f32e2b845426819948e4cb2b224e8a263137b9fad5297d5b9fd57befd9e
Size (eyeD3-0.9.5.tar.gz) = 222994 bytes
SHA1 (patch-Makefile) = d7f902b125c6e92e7191d3b7d46b345525fbc8ad
16 changes: 16 additions & 0 deletions audio/eyeD3/patches/patch-Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
$NetBSD: patch-Makefile,v 1.1 2020/05/19 18:52:35 wiz Exp $

Fix unportable test(1) operator.
https://github.com/nicfit/eyeD3/pull/438

--- Makefile.orig 2020-03-22 03:42:08.000000000 +0000
+++ Makefile
@@ -269,7 +269,7 @@ CC_OPTS ?= --no-input
GIT_COMMIT_HOOK = .git/hooks/commit-msg
cookiecutter:
tmp_d=`mktemp -d`; cc_d=$$tmp_d/eyeD3; \
- if test "${CC_MERGE}" == "no"; then \
+ if test "${CC_MERGE}" = "no"; then \
nicfit cookiecutter ${CC_OPTS} "$${tmp_d}"; \
git -C "$$cc_d" diff; \
git -C "$$cc_d" status -s -b; \

0 comments on commit e05a6dd

Please sign in to comment.