Milyen filmeket láttam

A minap írtam egy kis Python szkriptet, aminek a segítségével egy file-ba tudom menteni azoknak a file-oknak a nevét, amelyeket végig néztem.
Hogy is működik ez valójában?
mplayer-rel nézek filmet mindig, így azt használja a szkript. Átneveztem a gmplayert a /usr/bin-ben zgmplayer-re és a szkriptet elneveztem gmplayer-nek. Amikor elindítok egy videót, akkor ez a szkript hívódik meg. Amikor kilépek a lejátszóból, akkor megkérdezi, hogy végig néztem-e vagy nem. Ha igent választok, akkor elmenti a videó nevét, ha pedig nem, nem :)

Itt a szcript:


#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import gtk
import pygtk
import sys
import pickle

#message box title
msgtitle="Kérdés:"
#message
msg= "Végig nézted a videót?"
#home directory
home = os.path.expanduser("~")
#path of catalog file
catalog=home+"/.mplayer/catlog"
#movie player
player="gmplayer"

os.spawnvp(os.P_WAIT,player,sys.argv)

if ( len(sys.argv) > 1 ):
   msgbox = gtk.MessageDialog(parent = None, buttons = gtk.BUTTONS_YES_NO, flags = gtk.DIALOG_MODAL, type = gtk.MESSAGE_QUESTION, message_format = msg)
   msgbox.set_title(msgtitle)
   valasz = msgbox.run()
   msgbox.destroy()


   if ( valasz == gtk.RESPONSE_YES ):
      f=open(catalog, "a")
      f.write(' '.join(sys.argv[1:]))
      f.write("\n")
      f.close

két hiba van benne:
1 ha simán elindítjuk a lejátszót és nem nézünk semmit, akkor is megkérdi, hogy végig néztük-e.
2 ha nem file-kezelőből indítjuk a videó nézést, akkor nem ment el semmit.

EDIT:
az első hiba megoldva.

Hozzászólások

Az elsore gondolom az a megoldas, hogy

if (sys.argv[1:] != ""):

s/végig nézted/végignézted/ (igekötős ige)