vahgar / mutagen

Automatically exported from code.google.com/p/mutagen
GNU General Public License v2.0
0 stars 0 forks source link

Python 3.0 Support #27

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Not really an issue, but it would really be great to seee suppor for Python
3.0.  Or is there support and I'm too n00b to figure out how to work it?  

Original issue reported on code.google.com by hypergee...@gmail.com on 23 Sep 2009 at 11:03

GoogleCodeExporter commented 9 years ago
No, my current plan is to maintain it separately from mutagen while keeping as 
much equivalent as I can. If the mutagen team ever wants to adopt it in the 
future, they can.

Plus, if I were to merge back, I wouldn't be able to make the additional 
changes I want to make (like id3v2.3 saving support, and possibly rewriting 
EasyID3).

Great job on getting a version that works across both though! Will be very 
useful for projects that need to release both 2.x and 3.x versions.

Original comment by Ben.S...@gmail.com on 3 Aug 2013 at 10:30

GoogleCodeExporter commented 9 years ago
For your interest: when I was looking for a Python3-supporting tag library some 
years ago and found mutagen wouldn't be ported any time soon, I decided to 
write taglib bindings (see https://pypi.python.org/pypi/pytaglib). The 
functionality is not as complete as mutagen's, but for my task – 
reading/writing arbitrary tags, and allowing multiple values for the same tag 
– it works perfectly by using taglib's propertyMap interface. Might be worth 
a try while waiting for python3-mutagen …

Original comment by superm...@googlemail.com on 14 Aug 2013 at 8:15

GoogleCodeExporter commented 9 years ago
My Python 3 port is complete, albeit untested in the real world. It passes all 
of the mutagen tests, and uses pure Python 3 code. There's no support for 
Python 2.x.

Available here:
https://pypi.python.org/pypi/mutagenx/1.21

And here:
https://github.com/LordSputnik/mutagen

Most of the API is the same, but there are some minor changes. I'll try to 
document these at some point soon. I'll also continue to maintain this port for 
subsequent versions of mutagen itself.

Original comment by Ben.S...@gmail.com on 26 Aug 2013 at 9:19

GoogleCodeExporter commented 9 years ago
Thanks you both for your porting efforts and Dario for showing that a shared 
codebase is possible and doesn't look so bad after all.

I've started porting to a py2.6/3.3 codebase in trunk and I'll try to use your 
code where possible.

Original comment by reiter.christoph@gmail.com on 9 Sep 2013 at 4:53

GoogleCodeExporter commented 9 years ago
Now that it looks like mutagen itself will be supporting py3k, I'm aiming to 
submit some of my changes to the main project when the support is there, then 
close my project. No real need for it if mutagen is doing both well.

Original comment by Ben.S...@gmail.com on 26 Sep 2013 at 6:04

GoogleCodeExporter commented 9 years ago
Any progress on the py3k port, I installed mutagen-1.22 as a dependency via 
tox, and got syntax error in the setup.py:

=== snippet start ===

Downloading/unpacking mutagen (from tagcli==0.1.0)
  Running setup.py egg_info for package mutagen
    Traceback (most recent call last):
      File "<string>", line 16, in <module>
      File "/Users/kunxi/projects/tagcli/.tox/py33/build/mutagen/setup.py", line 37
        except EnvironmentError, err:
                               ^
    SyntaxError: invalid syntax
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 16, in <module>

  File "/Users/kunxi/projects/tagcli/.tox/py33/build/mutagen/setup.py", line 37

    except EnvironmentError, err:

                           ^

SyntaxError: invalid syntax

----------------------------------------

=== snippet ends ===

Original comment by ku...@kunxi.org on 1 Jan 2014 at 12:25

GoogleCodeExporter commented 9 years ago
If you intend to use mutagen in Python 3 only, try out my package mutagenx. 
mutagen itself is slowly getting there but it won't be for a few months yet, 
probably.

Original comment by Ben.S...@gmail.com on 1 Jan 2014 at 12:28

GoogleCodeExporter commented 9 years ago
Thank you. mutagenx works fine.

Original comment by dwarf...@gmail.com on 16 Feb 2014 at 9:14

GoogleCodeExporter commented 9 years ago
MutagenX now supports both Python 2 and Python 3. I'm hopefully going to work 
with Christoph to bring the changes I've made back into the original mutagen 
project.

Original comment by Ben.S...@gmail.com on 25 Feb 2014 at 11:40

GoogleCodeExporter commented 9 years ago
I've produced an initial set of changes to start making mutagen work on Python 
3. These changes are mostly to take advantage of new features in Python 2.6, 
such as generator expressions, and to make future changes easier - eg. by using 
the new byte literals instead of plain "" strings.

Changes are submitted to Bitbucket and Google Code - let me know which is 
easier in future:

https://bitbucket.org/lazka/mutagen/pull-request/2/

https://code.google.com/r/bensput-mutagen/source/detail?r=dd5a152312ce14294b4442
40145c007c67c0ed46

Original comment by Ben.S...@gmail.com on 5 May 2014 at 3:21

GoogleCodeExporter commented 9 years ago
mutagen has moved to Bitbucket: https://bitbucket.org/lazka/mutagen/issue/27

Original comment by reiter.christoph@gmail.com on 4 Jul 2014 at 3:42