mutagen oder QT4 Fehler nach Umzug auf ubuntu 18

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
pExplorer
User
Beiträge: 3
Registriert: Dienstag 21. Mai 2019, 19:54

Hallo,

ich habe einen merkwürdigen Fehler mit mutagen oder vielelicht mit QT4?
Ich benutze es um Bitraten und ID3Tags von mp3s zu prüfen.
https://gitlab.com/tigexplorer/daisy-cr ... tor_mag.py

Bisher lief mein Progamm problemlos unter ubuntu 14 und 16 mit QT4.
Nach dem Umzug auf ubuntu 18 erhalte ich folgenden Fehler:

Code: Alles auswählen

Traceback (most recent call last):
  File "./daisy_creator_mag.py", line 370, in actionRunCopy
    self.checkCangeId3(fileToCopyDest)
  File "./daisy_creator_mag.py", line 578, in checkCangeId3
    audio = ID3(fileToCopyDest)
  File "/usr/lib/python2.7/dist-packages/mutagen/id3/_file.py", line 77, in __init__
    super(ID3, self).__init__(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/mutagen/id3/_tags.py", line 177, in __init__
    super(ID3Tags, self).__init__(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/mutagen/_util.py", line 495, in __init__
    super(DictProxy, self).__init__(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/mutagen/_tags.py", line 111, in __init__
    self.load(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/mutagen/_util.py", line 158, in wrapper
    return func(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/mutagen/_util.py", line 128, in wrapper
    writable, create) as h:
  File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
    return self.gen.next()
  File "/usr/lib/python2.7/dist-packages/mutagen/_util.py", line 213, in _openfile
    verify_fileobj(fileobj, writable=writable)
  File "/usr/lib/python2.7/dist-packages/mutagen/_util.py", line 62, in verify_fileobj
    raise ValueError("%r not a valid file object" % fileobj)
ValueError: PyQt4.QtCore.QString(u'/home/my/Daten/1001__aj_2018_06_1001_.mp3') not a valid file object
Der Pfad und die Datei ist aber valide, das prüfe ich auch vorher ab. Momentan weiß ich nicht wo ich da ansetzen sollte.
Vielleicht kann mir jemand einen Tipp geben?
__deets__
User
Beiträge: 14541
Registriert: Mittwoch 14. Oktober 2015, 14:29

Du musst den QString in eine Python String wandeln, bevor du ihn an mutagen übergibst. Sollte mit str(fileToCopyDest) gehen. Übrigens falsch benannt nach Python PEP8.
pExplorer
User
Beiträge: 3
Registriert: Dienstag 21. Mai 2019, 19:54

__deets__ hat geschrieben: Dienstag 21. Mai 2019, 20:53 Du musst den QString in eine Python String wandeln, bevor du ihn an mutagen übergibst. Sollte mit str(fileToCopyDest) gehen. Übrigens falsch benannt nach Python PEP8.
OK, danke!
Komisch, dass das bisher so funktionierte...

Meinst Du den Variablenamen?
Richtig so nach PEP8?
FileToCopyDest
Benutzeravatar
__blackjack__
User
Beiträge: 13110
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@pExplorer: Nein, klein_mit_unterstrichen für alles ausser Konstanten (KOMPLETT_GROSS) und Klassen (MixedCase). Kann man hier nachlesen: Style Guide for Python Code.

So langsam könnte/sollte man das mal nach Python 3 portieren, denn 2.7 ist Ende des Jahres am Ende des Supports angelangt: https://pythonclock.org/

Und wenn man schon dabei ist, wäre auch Qt5 vielleicht keine schlechte Idee. :-)
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Antworten