Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: IVTV Channel Switcher in Python/Qt  (gelezen 3384 keer)

Offline lordnoid

  • Lid
IVTV Channel Switcher in Python/Qt
« Gepost op: 2008/10/05, 15:38:34 »
Ik ben sinds vorige week bezig met het proberen te programmeren in python. Met PHP/JavaScript had ik al wat ervaring, maar ik wou ook een buiten het Web om programmeren.
Na wat tutorials te hebben gevolgd dacht ik dat het toch het beste is om gewoon met een programaatje te beginnen, zodat ik gaandeweg het een en ander leer.
Ik besloot meteen mijn grootste ergenis op te lossen. Mensen die een tv-kaart hebben met hardwarematige MPEG2-decoder kennen het waarschijnlijk wel: als je tv kijkt via een standalone applicatie zoals VLC of MPlayer, moet je altijd het kanaal aanpassen via de commandline, met het commando "ivtv-tune -f ". Daar wou ik eens een eind aan maken.
Ik heb hiervoor twee kleine programmaatjes gemaakt. Een programma om kanalen toe te voegen en te verwijderen aan een XML bestand (mitvchanneleditor.py), en een programma met minimale interface om die kanalen vervolgens te kunnen wisselen (mitvchannelswitcher.py).
Graag jullie reactie op de code. Aangezien ik beginner ben in python, heb ik vast vele fouten gemaakt, en kunnen er veel dingen veel gemakkelijker.

Download (.tar.gz)

IVTV Channel Switcher in Python/Qt
« Reactie #1 Gepost op: 2008/10/06, 21:10:39 »
Hoe moet ik zo'n programma starten?
OS: Ubuntu Gnome 22.04/Xubuntu 22.04; Windows 10 (dualboot) en RPI 2, 3 en 4: Bitwarden en Pihole (rpi2) Bullseye xfce, Retropie en Twister
***Steunpunt***  voor andere steunpunten: https://kaart.ubuntu-nl.org/
                    "Echte wijsheid is weten wat je niet weet"

Offline lordnoid

  • Lid
IVTV Channel Switcher in Python/Qt
« Reactie #2 Gepost op: 2008/10/06, 21:12:56 »
volgens mij zou dubbelklikken op "mcw.py" of "editor.py" moeten werken... zoniet dan,
python mcw.pyen python editor.pyin de commandline (zorg wel dat je dan naar de goede map hebt ge'cd'ed)

IVTV Channel Switcher in Python/Qt
« Reactie #3 Gepost op: 2008/10/06, 21:38:54 »
Citaat van: lordnoid
volgens mij zou dubbelklikken op "mcw.py" of "editor.py" moeten werken... zoniet dan,
python mcw.pyen python editor.pyin de commandline (zorg wel dat je dan naar de goede map hebt ge'cd'ed)
maasnet@ubuntu:~/Bureaublad$ python mcw.py
Traceback (most recent call last):
  File "mcw.py", line 20, in
    from PyQt4 import QtGui, QtCore
ImportError: No module named PyQt4
OS: Ubuntu Gnome 22.04/Xubuntu 22.04; Windows 10 (dualboot) en RPI 2, 3 en 4: Bitwarden en Pihole (rpi2) Bullseye xfce, Retropie en Twister
***Steunpunt***  voor andere steunpunten: https://kaart.ubuntu-nl.org/
                    "Echte wijsheid is weten wat je niet weet"

Offline lordnoid

  • Lid
IVTV Channel Switcher in Python/Qt
« Reactie #4 Gepost op: 2008/10/06, 22:07:35 »
Mja het pakket "python-qt4" is een dependency... Het is geen .deb dus hij installeert die niet vanzelf. maar installeer het pakket "python-qt4" (en misschien ook "python-qt4-dev") en dan zou t moeten werken.

IVTV Channel Switcher in Python/Qt
« Reactie #5 Gepost op: 2008/10/06, 22:11:34 »
Het zou super zijn als je voor het kanalen wisselen wat zou kunnen maken!

Ik ben al een tijdje bezig om tvviewer http://home.arcor.de/saedelaere/index_eng.html of csmonkey tvremote http://tvremote.sourceforge.net/ aan de praat te krijgen, op zich lukt me dat wel alleen werken deze programma's met kanalen en niet met frequenties. Met als resultaat dat je het beeld niet zuiver krijgt terwijl dat met het commando ivtv-tune -f juist prima gaat.
OS: Ubuntu Gnome 22.04/Xubuntu 22.04; Windows 10 (dualboot) en RPI 2, 3 en 4: Bitwarden en Pihole (rpi2) Bullseye xfce, Retropie en Twister
***Steunpunt***  voor andere steunpunten: https://kaart.ubuntu-nl.org/
                    "Echte wijsheid is weten wat je niet weet"

IVTV Channel Switcher in Python/Qt
« Reactie #6 Gepost op: 2008/10/06, 22:17:03 »
Citaat van: lordnoid
Mja het pakket "python-qt4" is een dependency... Het is geen .deb dus hij installeert die niet vanzelf. maar installeer het pakket "python-qt4" (en misschien ook "python-qt4-dev") en dan zou t moeten werken.
Ik heb beide geinstalleerd en krijg nu het volgende te zien:

Traceback (most recent call last):
  File "mcw.py", line 61, in
    myapp = MCW()
  File "mcw.py", line 29, in __init__
    self.ui.setupUi(self)
  File "/home/maasnet/Bureaublad/mcw_ui.py", line 39, in setupUi
    self.retranslateUi(MainWindow)
  File "/home/maasnet/Bureaublad/mcw_ui.py", line 47, in retranslateUi
    self.kanalenLijst.item(i).setText(QtGui.QApplication.translate("MainWindow", self.title.childNodes[0].nodeValue, None, QtGui.QApplication.UnicodeUTF8))
TypeError: argument 2 of QCoreApplication.translate() has an invalid type
OS: Ubuntu Gnome 22.04/Xubuntu 22.04; Windows 10 (dualboot) en RPI 2, 3 en 4: Bitwarden en Pihole (rpi2) Bullseye xfce, Retropie en Twister
***Steunpunt***  voor andere steunpunten: https://kaart.ubuntu-nl.org/
                    "Echte wijsheid is weten wat je niet weet"

Offline lordnoid

  • Lid
IVTV Channel Switcher in Python/Qt
« Reactie #7 Gepost op: 2008/10/06, 23:13:46 »
Hm nou die snap ik zelf ook niet helemaal.... Heb je wel die channels.xml file in dezelfde map staan (dus ook op het bureaublad)?
ja tuurlijk heb je dat anders zou je een andere error krijgen :P
ik zou even niet weten waarom die fout er is. Ik zal het vanmiddag eens uitzoeken.

edit: Ik denk dat ik een oplossing heb. De waarde was van het type 'nodevalue' terwijl het type 'str' werd verwacht. Vreemd alleen dat het bij mij wel werkte (heb je een oude versie van python <2.4?)... Probeer deze eens:
Download

IVTV Channel Switcher in Python/Qt
« Reactie #8 Gepost op: 2008/10/07, 18:22:15 »
Resultaat met andere versie:

maasnet@ubuntu:~/Bureaublad$ python mcw.py
Traceback (most recent call last):
  File "mcw.py", line 61, in
    myapp = MCW()
  File "mcw.py", line 28, in __init__
    self.ui = Ui_MainWindow()
  File "/home/maasnet/Bureaublad/mcw_ui.py", line 15, in __init__
    self.document = xml.dom.minidom.parse("/home/milan/programming/channelswitcher/channels.xml")
  File "/usr/lib/python2.5/xml/dom/minidom.py", line 1915, in parse
    return expatbuilder.parse(file)
  File "/usr/lib/python2.5/xml/dom/expatbuilder.py", line 922, in parse
    fp = open(file, 'rb')
IOError: [Errno 2] Bestand of map bestaat niet: '/home/milan/programming/channelswitcher/channels.xml'

Ik heb ff snel jou mappen aangemaakt en werkt het al goed hoor!!

Alleen krijg bij editor.py nu de volgende melding:

Traceback (most recent call last):
  File "editor.py", line 96, in
    myapp = editor()
  File "editor.py", line 14, in __init__
    self.ui.setupUi(self)
  File "/home/maasnet/Bureaublad/editor_ui.py", line 59, in setupUi
    self.retranslateUi(MainWindow)
  File "/home/maasnet/Bureaublad/editor_ui.py", line 68, in retranslateUi
    self.kanalenLijst.item(i).setText(QtGui.QApplication.translate("MainWindow", self.title.childNodes[0].nodeValue, None, QtGui.QApplication.UnicodeUTF8))
TypeError: argument 2 of QCoreApplication.translate() has an invalid type
OS: Ubuntu Gnome 22.04/Xubuntu 22.04; Windows 10 (dualboot) en RPI 2, 3 en 4: Bitwarden en Pihole (rpi2) Bullseye xfce, Retropie en Twister
***Steunpunt***  voor andere steunpunten: https://kaart.ubuntu-nl.org/
                    "Echte wijsheid is weten wat je niet weet"

Offline lordnoid

  • Lid
IVTV Channel Switcher in Python/Qt
« Reactie #9 Gepost op: 2008/10/07, 19:32:32 »
Eerste fout komt doordat je geen channels.xml bestandje in dezelfde map had staan. Er zit er 1 bijgeleverd :) Alleen dan moet je natuurlijk wel die kanalen kunnen veranderen (het kan ook door channels.xml zelf aan te passen). Ik zal die editor nu even fixen :)
Edit: Download 002 (.tar.gz)

IVTV Channel Switcher in Python/Qt
« Reactie #10 Gepost op: 2008/10/07, 19:42:32 »
Gaat goed hoor!!



Channel-editor doet het nu ook.
OS: Ubuntu Gnome 22.04/Xubuntu 22.04; Windows 10 (dualboot) en RPI 2, 3 en 4: Bitwarden en Pihole (rpi2) Bullseye xfce, Retropie en Twister
***Steunpunt***  voor andere steunpunten: https://kaart.ubuntu-nl.org/
                    "Echte wijsheid is weten wat je niet weet"

Offline lordnoid

  • Lid
IVTV Channel Switcher in Python/Qt
« Reactie #11 Gepost op: 2008/10/07, 19:45:43 »
Oke, dan heb ik die laatste ook even in de topicstart gezet :)
edit: nieuwe versie zou wat startproblemen moeten oplossen, en bovendien is het nu simpel een snelstarter te maken voor het GNOME-panel (gewoon het bestand op het panel slepen en het staat er.. en dat hoort te werken :))