Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

--remove-v1 also clears ID3V2 tag on some files on v0.8.2 #102

Closed
core-code opened this issue Oct 19, 2017 · 6 comments
Closed

--remove-v1 also clears ID3V2 tag on some files on v0.8.2 #102

core-code opened this issue Oct 19, 2017 · 6 comments
Labels

Comments

@core-code
Copy link

the documentation implies
eyeD3 --remove-v1 FILE.MP3
only removes the id3v1 tag but leaves the id3v2 tag intact.

however for some files the id3v2 tag is totally cleared as well. (can send sample files)

i just lost tags for 10.000+ mp3s because of this malfunction

@nicfit
Copy link
Owner

nicfit commented Oct 21, 2017

Please tar/zip some examples to reproduce and attach, I have not reproduced this yet.

@core-code
Copy link
Author

currently looking for files to reproduce it ... need to consult the backups.

however its easy to reproduce when combining with the "--to-v2.4" option ... take any file that has both id3v1 and v2 tags, then do

eyeD3 --to-v2.4 --remove-v1 test.mp3

bam, v1 gone (as its supposed to be) but the v2 tags empty

@nicfit
Copy link
Owner

nicfit commented Oct 21, 2017

#103 is meant to address this. Test if you can.

@nicfit nicfit added the bug label Oct 21, 2017
@nicfit nicfit added this to the 0.8.3 milestone Oct 21, 2017
@core-code
Copy link
Author

ok there seem to be two separate problems i both have run into.

first one, if you combine "--remove-v1" with "--to-v2.4" (or --to-v2.3 i guess), then the v2 tag will be wiped clean. i can confirm that pull request 103 fixes this issue. thanks for the prompt fix!

the second issue i encountered is that "--remove-v1" will not update the v2 tag when some values are missing.
for example, suppose you have a MP3 that has both v1 and v2 tags, as is common. if one of the tags (e.g. artist) is missing in the v2 tag, you will normally never notice because common music players like iTunes will fall back to using the v1 tag for (just) this tag.
however, if you remove the v1 tag with "--remove-v1", the missing value will not be pulled from the v1 tag like music players do it. the v1 tag will just be removed without the v2 tag being updated. so you suddenly have incomplete tags.
i propose that "--remove-v1" will update the v2 header in case that values are missing that are present in the v1 header. this will ensure no data loss can happen.

nicfit added a commit that referenced this issue Oct 22, 2017
@nicfit
Copy link
Owner

nicfit commented Oct 22, 2017

Remove options will not copy data, or ensure matches between tag versions. Scripts can/should do that separately from the remove.

@nicfit nicfit closed this as completed in c942f65 Oct 22, 2017
@core-code
Copy link
Author

ok. please update the documentation though to inform that this can lead to data loss

nicfit added a commit that referenced this issue Nov 4, 2017
* 'master' of github.com:nicfit/eyeD3:
  fix: IOError (nor OSError) have a message attr.
  Fix bad frames detection in stats plugin for python3 (#113)
  script exits with 0 status when called with --version/--help (#109)
  Update pytest-runner from 2.12.1 to 3.0 (#108)
  Update sphinx from 1.6.4 to 1.6.5 (#106)
  Update flake8 from 3.4.1 to 3.5.0 (#107)
  Release prep.  !wip
  fix: Reload and process after tag removals, fixes #102. (PR #103)
  pep doc strings.  !wip
  Update nicfit.py from 0.6.5 to 0.6.6 (#100)
  Update pyaml from 17.8.0 to 17.10.0 (#99)
nicfit added a commit that referenced this issue Nov 4, 2017
* master: (25 commits)
  new: Check for version incompatibilities during setter, and slight refactor.
  fix: [display plugin] Handle internal exception types. Fixes #118
  chg: Only warn about missing grako when the plugin is used. Fixes #115
  fix: IOError (nor OSError) have a message attr.
  Fix bad frames detection in stats plugin for python3 (#113)
  script exits with 0 status when called with --version/--help (#109)
  Update pytest-runner from 2.12.1 to 3.0 (#108)
  Update sphinx from 1.6.4 to 1.6.5 (#106)
  Update flake8 from 3.4.1 to 3.5.0 (#107)
  Release prep.  !wip
  fix: Reload and process after tag removals, fixes #102. (PR #103)
  pep doc strings.  !wip
  Update nicfit.py from 0.6.5 to 0.6.6 (#100)
  Update pyaml from 17.8.0 to 17.10.0 (#99)
  pep8 !wip
  Update pytest from 3.2.2 to 3.2.3 (#98)
  Update tox from 2.9.0 to 2.9.1 (#97)
  Update tox from 2.8.2 to 2.9.0 (#96)
  Update pip-tools from 1.9.0 to 1.10.1 (#95)
  Update sphinx from 1.6.3 to 1.6.4 (#93)
  ...
nicfit added a commit that referenced this issue Mar 10, 2018
commit f877ae4
Merge: da02459 bc16a97
Author: Travis Shirk <travis@pobox.com>
Date:   Sat Mar 10 08:28:39 2018 -0700

    Merge branch 'master' of github.com:nicfit/eyeD3

    * 'master' of github.com:nicfit/eyeD3:
      Update twine from 1.9.1 to 1.10.0 (#168)
      Update pytest from 3.4.1 to 3.4.2 (#167)

commit bc16a97
Author: pyup.io bot <github-bot@pyup.io>
Date:   Thu Mar 8 00:29:28 2018 +0100

    Update twine from 1.9.1 to 1.10.0 (#168)

commit 257d238
Author: pyup.io bot <github-bot@pyup.io>
Date:   Tue Mar 6 17:19:09 2018 +0100

    Update pytest from 3.4.1 to 3.4.2 (#167)

commit da02459
Author: Travis Shirk <travis@pobox.com>
Date:   Sat Mar 3 22:44:48 2018 -0700

    Clean pytest_cache

commit cfa2c63
Merge: 10a3436 fba3d67
Author: Travis Shirk <travis@pobox.com>
Date:   Sun Feb 25 22:16:52 2018 -0700

    Merge branch 'master' of github.com:nicfit/eyeD3

    * 'master' of github.com:nicfit/eyeD3:
      Update index.rst (#164)
      Update pytest from 3.4.0 to 3.4.1 (#162)
      Update sphinx from 1.7.0 to 1.7.1 (#163)

commit 10a3436
Author: Travis Shirk <travis@pobox.com>
Date:   Sun Feb 25 22:16:19 2018 -0700

    cleanup  !wip

commit fba3d67
Author: Deoren Moor <deoren@users.noreply.github.com>
Date:   Sun Feb 25 13:13:30 2018 -0600

    Update index.rst (#164)

    GitHub hosts Git repos, so update DVCS name to reflect that.

commit 9361db9
Author: pyup.io bot <github-bot@pyup.io>
Date:   Sat Feb 24 19:55:08 2018 +0100

    Update pytest from 3.4.0 to 3.4.1 (#162)

commit e8d378a
Author: pyup.io bot <github-bot@pyup.io>
Date:   Sat Feb 24 19:54:55 2018 +0100

    Update sphinx from 1.7.0 to 1.7.1 (#163)

commit 9098853
Author: Travis Shirk <travis@pobox.com>
Date:   Sun Feb 18 15:10:19 2018 -0700

    nicfit.py cc update

commit 8891167
Author: pyup.io bot <github-bot@pyup.io>
Date:   Sun Feb 18 22:36:40 2018 +0100

    Update nicfit.py from 0.7 to 0.8 (#161)

commit cb8345b
Author: pyup.io bot <github-bot@pyup.io>
Date:   Fri Feb 16 07:09:51 2018 +0100

    Update ipdb from 0.10.3 to 0.11 (#159)

commit 95fd207
Author: pyup.io bot <github-bot@pyup.io>
Date:   Mon Feb 12 18:55:02 2018 +0100

    Update sphinx from 1.6.7 to 1.7.0 (#158)

commit 244c21f
Author: pyup.io bot <github-bot@pyup.io>
Date:   Sun Feb 11 17:26:38 2018 +0100

    Update pytest-runner from 3.0 to 4.0 (#157)

commit ff03e03
Merge: 1b22d87 af7b263
Author: Travis Shirk <travis@pobox.com>
Date:   Thu Feb 8 16:42:21 2018 -0700

    Merge branch 'master' of github.com:nicfit/eyeD3

    * 'master' of github.com:nicfit/eyeD3:
      Update sphinx from 1.6.6 to 1.6.7 (#154)

commit 1b22d87
Author: Travis Shirk <travis@pobox.com>
Date:   Thu Feb 8 16:41:49 2018 -0700

    Added docs for install devel dependencies and test data.

commit af7b263
Author: pyup.io bot <github-bot@pyup.io>
Date:   Mon Feb 5 23:16:40 2018 +0100

    Update sphinx from 1.6.6 to 1.6.7 (#154)

commit d685c21
Author: pyup.io bot <github-bot@pyup.io>
Date:   Thu Feb 1 04:35:02 2018 +0100

    Update pytest from 3.3.2 to 3.4.0 (#152)

commit ed3c215
Author: pyup.io bot <github-bot@pyup.io>
Date:   Mon Jan 29 03:00:44 2018 +0100

    Update factory-boy from 2.9.2 to 2.10.0 (#150)

commit 62a1229
Author: pyup.io bot <github-bot@pyup.io>
Date:   Fri Jan 12 23:31:07 2018 +0100

    Update sphinx from 1.6.5 to 1.6.6 (#148)

commit 06601be
Author: pyup.io bot <github-bot@pyup.io>
Date:   Fri Jan 5 17:20:38 2018 +0100

    Update pytest from 3.3.1 to 3.3.2 (#147)

commit 04766bd
Merge: dc64168 99f3b61
Author: Travis Shirk <travis@pobox.com>
Date:   Wed Jan 3 17:00:08 2018 -0700

    Merge branch 'master' of github.com:nicfit/eyeD3

    * 'master' of github.com:nicfit/eyeD3:
      Update pyaml from 17.10.0 to 17.12.1 (#138)

commit dc64168
Author: Travis Shirk <travis@pobox.com>
Date:   Wed Jan 3 16:58:56 2018 -0700

    chg: Removed paver as a dep

commit 99f3b61
Author: pyup.io bot <github-bot@pyup.io>
Date:   Sat Dec 30 04:36:13 2017 +0100

    Update pyaml from 17.10.0 to 17.12.1 (#138)

commit 25c4db7
Merge: 5e0783c bd1d174
Author: Travis Shirk <travis@pobox.com>
Date:   Fri Dec 15 20:27:00 2017 -0700

    Merge branch 'master' of github.com:nicfit/eyeD3

    * 'master' of github.com:nicfit/eyeD3:
      Update python-magic to 0.4.15 (#130)
      Update pip-tools from 1.10.2 to 1.11.0 (#129)
      Update pytest from 3.3.0 to 3.3.1 (#131)
      Update pytest from 3.2.5 to 3.3.0 (#128)
      Update sphinx-issues from 0.3.1 to 0.4.0 (#127)

commit 5e0783c
Author: Travis Shirk <travis@pobox.com>
Date:   Fri Dec 15 20:26:16 2017 -0700

    chg: removed fabfile and mkenv

commit bd1d174
Author: pyup.io bot <github-bot@pyup.io>
Date:   Tue Dec 12 05:32:42 2017 +0100

    Update python-magic to 0.4.15 (#130)

    * Update python-magic from 0.4.13 to 0.4.15

    * Update python-magic from 0.4.13 to 0.4.15

commit 0abe2e8
Author: pyup.io bot <github-bot@pyup.io>
Date:   Fri Dec 8 16:38:37 2017 +0100

    Update pip-tools from 1.10.2 to 1.11.0 (#129)

commit 89a42f4
Author: pyup.io bot <github-bot@pyup.io>
Date:   Thu Dec 7 00:45:03 2017 +0100

    Update pytest from 3.3.0 to 3.3.1 (#131)

commit 41b6a84
Author: pyup.io bot <github-bot@pyup.io>
Date:   Tue Nov 28 05:24:44 2017 +0100

    Update pytest from 3.2.5 to 3.3.0 (#128)

commit af9ada2
Author: pyup.io bot <github-bot@pyup.io>
Date:   Tue Nov 28 05:06:40 2017 +0100

    Update sphinx-issues from 0.3.1 to 0.4.0 (#127)

commit 76eca97
Author: pyup.io bot <github-bot@pyup.io>
Date:   Thu Nov 23 20:51:23 2017 +0100

    Update pip-tools from 1.10.1 to 1.10.2 (#126)

commit 457f88f
Author: pyup.io bot <github-bot@pyup.io>
Date:   Wed Nov 22 01:52:21 2017 +0100

    Update check-manifest from 0.35 to 0.36 (#125)

commit 308305e
Author: Travis Shirk <travis@pobox.com>
Date:   Sun Nov 19 21:41:49 2017 -0700

    pep8  !wip

commit 3b1404a
Merge: 7834abb 68b6201
Author: Travis Shirk <travis@pobox.com>
Date:   Sun Nov 19 20:37:40 2017 -0700

    Merge branch 'master' of github.com:nicfit/eyeD3

    * 'master' of github.com:nicfit/eyeD3:
      Update nicfit.py from 0.6.6 to 0.7 (#124)

commit 7834abb
Author: Travis Shirk <travis@pobox.com>
Date:   Sun Nov 19 20:36:32 2017 -0700

    new: eyed3.core.EP_MAX_SIZE_HINT

commit 68b6201
Author: pyup.io bot <github-bot@pyup.io>
Date:   Mon Nov 20 01:22:26 2017 +0100

    Update nicfit.py from 0.6.6 to 0.7 (#124)

commit 0c8be9e
Author: Travis Shirk <travis@pobox.com>
Date:   Sun Nov 19 12:33:01 2017 -0700

    [stats plugin] Skip None when sorting names.

commit 762a0f4
Author: Travis Shirk <travis@pobox.com>
Date:   Sun Nov 19 12:31:11 2017 -0700

    chg: Similarly to TextFrame, fallback to latin1 for invalid encodings

commit f0d5bf6
Author: Travis Shirk <travis@pobox.com>
Date:   Fri Nov 17 20:43:04 2017 -0700

    release prep  !wip

commit 2d70df4
Author: Travis Shirk <travis@pobox.com>
Date:   Fri Nov 17 20:20:23 2017 -0700

    fix: [display plugin] Handle comments

commit c12425c
Author: nicfit <travis@pobox.com>
Date:   Fri Nov 17 20:10:34 2017 -0700

    new: Composer (TCOM) support (#123)

commit 3094a8a
Author: Travis Shirk <travis@pobox.com>
Date:   Fri Nov 17 20:05:15 2017 -0700

    chg: More forgiving of invalid text encoding identifiers (fixes #101)

commit ed215f3
Author: Travis Shirk <travis@pobox.com>
Date:   Fri Nov 17 19:37:32 2017 -0700

    chg: More forgiving of bad Unicode in text frames (fixes #105)

commit 70706ff
Merge: b0c3325 b716732
Author: Travis Shirk <travis@pobox.com>
Date:   Fri Nov 17 19:29:01 2017 -0700

    Merge branch 'master' of github.com:nicfit/eyeD3

    * 'master' of github.com:nicfit/eyeD3:
      fix: Fix python3 setup when system encoding is not utf-8 (#120)

commit b0c3325
Author: Travis Shirk <travis@pobox.com>
Date:   Fri Nov 17 18:07:01 2017 -0700

    version bump. !wip

commit b716732
Author: gaetano-guerriero <x.guerriero@tin.it>
Date:   Sat Nov 18 02:05:56 2017 +0100

    fix: Fix python3 setup when system encoding is not utf-8 (#120)

    Under python3, opening utf-8 files like HISTORY.rst in setup.py causes encoding
    error if the default encoding for the system is not utf-8.

commit d729dc4
Author: pyup.io bot <github-bot@pyup.io>
Date:   Wed Nov 15 18:22:50 2017 +0100

    Update pytest from 3.2.4 to 3.2.5 (#122)

commit b73d7a0
Author: pyup.io bot <github-bot@pyup.io>
Date:   Wed Nov 15 18:22:07 2017 +0100

    Update pytest from 3.2.3 to 3.2.4 (#121)

commit 21de03a
Merge: 62f16fb cc4c601
Author: Travis Shirk <travis@pobox.com>
Date:   Sat Nov 4 20:51:01 2017 -0600

    Merge branch 'master' of github.com:nicfit/eyeD3

    * 'master' of github.com:nicfit/eyeD3:
      Set theme jekyll-theme-slate

commit 62f16fb
Author: Travis Shirk <travis@pobox.com>
Date:   Sat Nov 4 20:50:04 2017 -0600

    chg: eyeD3 cmd line helper turned nto session-scoped fixture

commit cc4c601
Author: nicfit <travis@pobox.com>
Date:   Sat Nov 4 20:06:38 2017 -0600

    Set theme jekyll-theme-slate

commit 7ffef22
Author: Travis Shirk <travis@pobox.com>
Date:   Sat Nov 4 18:55:15 2017 -0600

    fix: Help pymagic with poorly encoded filenames

commit d7f1711
Author: Travis Shirk <travis@pobox.com>
Date:   Sat Nov 4 14:14:50 2017 -0600

    new: Check for version incompatibilities during setter, and slight refactor.

commit d635846
Merge: 32c3551 32d9a61
Author: Travis Shirk <travis@pobox.com>
Date:   Sat Nov 4 10:43:32 2017 -0600

    Merge branch 'master' of github.com:nicfit/eyeD3

    * 'master' of github.com:nicfit/eyeD3:
      pep8 !wip

commit 32c3551
Author: Travis Shirk <travis@pobox.com>
Date:   Sat Nov 4 10:25:33 2017 -0600

    fix: [display plugin] Handle internal exception types. Fixes #118

commit 87f80df
Author: Travis Shirk <travis@pobox.com>
Date:   Sat Nov 4 10:15:45 2017 -0600

    chg: Only warn about missing grako when the plugin is used. Fixes #115

commit 32d9a61
Merge: 73c613c 54b4735
Author: Travis Shirk <travis@pobox.com>
Date:   Sat Nov 4 08:39:47 2017 -0600

    Merge branch 'master' of github.com:nicfit/eyeD3

    * 'master' of github.com:nicfit/eyeD3:
      fix: IOError (nor OSError) have a message attr.
      Fix bad frames detection in stats plugin for python3 (#113)
      script exits with 0 status when called with --version/--help (#109)
      Update pytest-runner from 2.12.1 to 3.0 (#108)
      Update sphinx from 1.6.4 to 1.6.5 (#106)
      Update flake8 from 3.4.1 to 3.5.0 (#107)
      Release prep.  !wip
      fix: Reload and process after tag removals, fixes #102. (PR #103)
      pep doc strings.  !wip
      Update nicfit.py from 0.6.5 to 0.6.6 (#100)
      Update pyaml from 17.8.0 to 17.10.0 (#99)

commit 54b4735
Author: Travis Shirk <travis@pobox.com>
Date:   Fri Nov 3 18:46:13 2017 -0600

    fix: IOError (nor OSError) have a message attr.

commit f1d7160
Author: gaetano-guerriero <x.guerriero@tin.it>
Date:   Wed Nov 1 00:35:23 2017 +0100

    Fix bad frames detection in stats plugin for python3 (#113)

    Comparison of string vs binary string was preventing detection of private frames
    in stats plugin.

commit 6916b24
Author: gaetano-guerriero <x.guerriero@tin.it>
Date:   Wed Nov 1 00:23:56 2017 +0100

    script exits with 0 status when called with --version/--help (#109)

    finally clause in _main() function was blocking argparse behaviour of exiting
    with 0 status code when those options are used.

commit 19e29cd
Author: pyup.io bot <github-bot@pyup.io>
Date:   Sun Oct 29 18:45:03 2017 +0100

    Update pytest-runner from 2.12.1 to 3.0 (#108)

commit 2abec50
Author: pyup.io bot <github-bot@pyup.io>
Date:   Thu Oct 26 17:12:40 2017 +0200

    Update sphinx from 1.6.4 to 1.6.5 (#106)

commit c91d4db
Author: pyup.io bot <github-bot@pyup.io>
Date:   Thu Oct 26 17:12:21 2017 +0200

    Update flake8 from 3.4.1 to 3.5.0 (#107)

commit 73c613c
Merge: 7cb06a8 24a6888
Author: Travis Shirk <travis@pobox.com>
Date:   Mon Oct 9 00:07:43 2017 -0600

    Merge branch 'master' of github.com:nicfit/eyeD3

    * 'master' of github.com:nicfit/eyeD3:
      Update pytest from 3.2.2 to 3.2.3 (#98)
      Update tox from 2.9.0 to 2.9.1 (#97)
      Update tox from 2.8.2 to 2.9.0 (#96)
      Update pip-tools from 1.9.0 to 1.10.1 (#95)
      Update sphinx from 1.6.3 to 1.6.4 (#93)

commit 7cb06a8
Author: Travis Shirk <travis@pobox.com>
Date:   Mon Oct 9 00:07:09 2017 -0600

    pep8 !wip
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants