VERSION 0.1.2 Correction indentation
[masstransit] / gtk_transilien.py
index fb8b156..9286149 100755 (executable)
@@ -16,148 +16,143 @@ initial_mode = FremantleRotation.AUTOMATIC
 
 
 class tableParser(HTMLParser.HTMLParser):
-       def __init__(self):
-               HTMLParser.HTMLParser.__init__(self)
-               self.table_horaires3 = False
-               self.code_de_mission = False
-               self.a_code_de_mission = False
-               self.heure_de_passage = False
-               self.liste_train = []
-               self.liste_horaire = []
-               
-       def handle_starttag(self, tag, attrs):
-               if (tag == 'table' and (dict(attrs)['class'] == 'horaires3')):
-                       self.table_horaires3 = True
-               
-               elif self.table_horaires3 and tag == 'td':
-                       try:
-                               self.code_de_mission = (
-                                       dict(attrs)['headers'] == 'Code_de_mission')
-                               self.heure_de_passage = (
-                                       dict(attrs)['headers'] == 'Heure_de_passage')
-                       except KeyError:
-                               if dict(attrs).has_key('headers'):
-                                       raise
-                               else:
-                                       pass
-               else:
-                       self.a_code_de_mission = (tag == 'a' and self.code_de_mission)
-               
-       def handle_data(self, data):
-               if self.a_code_de_mission:
-                       self.liste_train.append(data.strip())
-               if self.heure_de_passage:
-                       self.liste_horaire.append(data.strip())
-                       
-       def handle_endtag(self,tag):
-               self.a_code_de_mission ^= (self.a_code_de_mission and tag == 'a')
-               self.heure_de_passage ^= (self.heure_de_passage and tag == 'td')
+    def __init__(self):
+        HTMLParser.HTMLParser.__init__(self)
+        self.table_horaires3 = False
+        self.code_de_mission = False
+        self.a_code_de_mission = False
+        self.heure_de_passage = False
+        self.liste_train = []
+        self.liste_horaire = []
+        
+    def handle_starttag(self, tag, attrs):
+        if (tag == 'table' and (dict(attrs)['class'] == 'horaires3')):
+            self.table_horaires3 = True
+        
+        elif self.table_horaires3 and tag == 'td':
+            try:
+                self.code_de_mission = (
+                    dict(attrs)['headers'] == 'Code_de_mission')
+                self.heure_de_passage = (
+                    dict(attrs)['headers'] == 'Heure_de_passage')
+            except KeyError:
+                if dict(attrs).has_key('headers'):
+                    raise
+                else:
+                    pass
+        else:
+            self.a_code_de_mission = (tag == 'a' and self.code_de_mission)
+        
+    def handle_data(self, data):
+        if self.a_code_de_mission:
+            self.liste_train.append(data.strip())
+        if self.heure_de_passage:
+            self.liste_horaire.append(data.strip())
+            
+    def handle_endtag(self,tag):
+        self.a_code_de_mission ^= (self.a_code_de_mission and tag == 'a')
+        self.heure_de_passage ^= (self.heure_de_passage and tag == 'td')
 
 class Trajet(object):
-       def __init__(self, gare_source, gare_dest):
-               self.gare_source = gare_source
-               self.gare_dest = gare_dest
-               self.parse() 
-       def get_liste_train(self):
-               return self.p.liste_train 
-       def get_liste_horaire(self):
-               return self.p.liste_horaire
-       def parse(self):
-               self.p = tableParser()
-               print "URL:" 
-               print 'http://www.transilien.com/web/ITProchainsTrainsAvecDest.do?codeTr3aDepart='+self.gare_source.shortname+'&codeTr3aDest='+self.gare_dest.shortname+'&urlModule=/site/pid/184&gareAcc=true'
-               self.p.feed(urllib2.urlopen('http://www.transilien.com/web/ITProchainsTrainsAvecDest.do?codeTr3aDepart='+self.gare_source.shortname+'&codeTr3aDest='+self.gare_dest.shortname+'&urlModule=/site/pid/184&gareAcc=true').read())
+    def __init__(self, gare_source, gare_dest):
+        self.gare_source = gare_source
+        self.gare_dest = gare_dest
+        self.parse() 
+    def get_liste_train(self):
+        return self.p.liste_train 
+    def get_liste_horaire(self):
+        return self.p.liste_horaire
+    def parse(self):
+        self.p = tableParser()
+        print "URL:" 
+        print 'http://www.transilien.com/web/ITProchainsTrainsAvecDest.do?codeTr3aDepart='+self.gare_source.shortname+'&codeTr3aDest='+self.gare_dest.shortname+'&urlModule=/site/pid/184&gareAcc=true'
+        self.p.feed(urllib2.urlopen('http://www.transilien.com/web/ITProchainsTrainsAvecDest.do?codeTr3aDepart='+self.gare_source.shortname+'&codeTr3aDest='+self.gare_dest.shortname+'&urlModule=/site/pid/184&gareAcc=true').read())
 
 class ConfFile(object):
-       def __init__(self, fichier):
-               self.c = ConfigParser.ConfigParser()
-               self.c.read(fichier)
-       def get_short_name(self, longname):
-               return self.c.get('ListeDesGares', longname)
-       def get_liste_des_gares(self):
-               return self.c.items('ListeDesGares') 
+    def __init__(self, fichier):
+        self.c = ConfigParser.ConfigParser()
+        self.c.read(fichier)
+    def get_short_name(self, longname):
+        return self.c.get('ListeDesGares', longname)
+    def get_liste_des_gares(self):
+        return self.c.items('ListeDesGares') 
 
 class LongNameGare(object):
-       def __init__(self, longname):
-               self.longname = longname
-       def get_gare(self, conffile):
-               short_name = conffile.get_short_name(self.longname)
-               return Gare(short_name)
+    def __init__(self, longname):
+        self.longname = longname
+    def get_gare(self, conffile):
+        short_name = conffile.get_short_name(self.longname)
+        return Gare(short_name)
 
 class Gare(object):
-       def __init__(self, shortname):
-               self.shortname = shortname
+    def __init__(self, shortname):
+        self.shortname = shortname
 
 
 
 
 class TransilienUI:
-       def __init__(self):
-               mainWindow = hildon.Window()
-               mainWindow.set_title("Horaires des Prochains Trains")
-               mainWindow.connect("destroy", self.on_mainWindow_destroy)
+    def __init__(self):
+        mainWindow = hildon.Window()
+        mainWindow.set_title("Horaires des Prochains Trains")
+        mainWindow.connect("destroy", self.on_mainWindow_destroy)
 
-               rotation_object = FremantleRotation(app_name, mainWindow, app_version, initial_mode)
-               refreshButton = hildon.Button(gtk.HILDON_SIZE_AUTO_WIDTH | gtk.HILDON_SIZE_FINGER_HEIGHT,
+        rotation_object = FremantleRotation(app_name, mainWindow, app_version, initial_mode)
+        refreshButton = hildon.Button(gtk.HILDON_SIZE_AUTO_WIDTH | gtk.HILDON_SIZE_FINGER_HEIGHT,
                               hildon.BUTTON_ARRANGEMENT_HORIZONTAL, "Actualiser")
-               refreshButton.connect("clicked", self.on_refreshButton_clicked)
-
-               self.treestore = gtk.TreeStore(str, str)
-               self.treeview = gtk.TreeView(self.treestore)
-
-               self.tvcolumn_train = gtk.TreeViewColumn('Train', gtk.CellRendererText(), text=0)
-               self.treeview.append_column(self.tvcolumn_train)
-               
-               self.tvcolumn_horaire = gtk.TreeViewColumn('Horaire', gtk.CellRendererText(), text=1)
-               self.treeview.append_column(self.tvcolumn_horaire)
-
-
-               picker_button_source = hildon.PickerButton(gtk.HILDON_SIZE_AUTO,                            hildon.BUTTON_ARRANGEMENT_VERTICAL)
-               picker_button_source.set_title("Gare de Depart")
-               self.combo_source = hildon.TouchSelectorEntry(text=True)
-               self.combo_dest = hildon.TouchSelectorEntry(text=True)
-
-               for i in ConfFile('example.cfg').get_liste_des_gares():
-                       self.combo_source.append_text(i[0])
-                       self.combo_dest.append_text(i[0])
-               picker_button_source.set_selector(self.combo_source)
-               
-
-               picker_button_dest = hildon.PickerButton(gtk.HILDON_SIZE_AUTO,                            hildon.BUTTON_ARRANGEMENT_VERTICAL)
-               picker_button_dest.set_title("Gare d'arrivee")
-               picker_button_dest.set_selector(self.combo_dest)
-               
-               vBox = gtk.VBox()
-               hBox = gtk.HBox()
-               vBox.pack_start(hBox)
-               hBox.pack_start(picker_button_source)
-               hBox.pack_start(picker_button_dest)
-               vBox.pack_start(self.treeview)
-               vBox.pack_start(refreshButton)
-               
-
-               mainWindow.add(vBox)
-               mainWindow.show_all()
-
-       def on_mainWindow_destroy(self, widget):
-               gtk.main_quit()
-
-       def on_refreshButton_clicked(self, widget):
-               self.treestore.clear()
-               gare_source = LongNameGare(self.combo_source.get_current_text()).get_gare(ConfFile('example.cfg'))
-               gare_dest = LongNameGare(self.combo_dest.get_current_text()).get_gare(ConfFile('example.cfg'))
-               trajet = Trajet(gare_source, gare_dest)
-               print trajet
-               print trajet.get_liste_train()
-               z=0
-               for i in trajet.get_liste_train():
-                       liste_horaire = trajet.get_liste_horaire()
-                       print liste_horaire[z]
-                       self.treestore.append(None, [i, liste_horaire[z]])
-                       z += 1
+        refreshButton.connect("clicked", self.on_refreshButton_clicked)
+
+        self.treestore = gtk.TreeStore(str, str)
+        self.treeview = gtk.TreeView(self.treestore)
+
+        self.tvcolumn_train = gtk.TreeViewColumn('Train', gtk.CellRendererText(), text=0)
+        self.treeview.append_column(self.tvcolumn_train)
+        
+        self.tvcolumn_horaire = gtk.TreeViewColumn('Horaire', gtk.CellRendererText(), text=1)
+        self.treeview.append_column(self.tvcolumn_horaire)
+
+
+        picker_button_source = hildon.PickerButton(gtk.HILDON_SIZE_AUTO,                            hildon.BUTTON_ARRANGEMENT_VERTICAL)
+        picker_button_source.set_title("Gare de Depart")
+        self.combo_source = hildon.TouchSelectorEntry(text=True)
+        self.combo_dest = hildon.TouchSelectorEntry(text=True)
+
+        for i in ConfFile('example.cfg').get_liste_des_gares():
+            self.combo_source.append_text(i[0])
+            self.combo_dest.append_text(i[0])
+        picker_button_source.set_selector(self.combo_source)
+        
+
+        picker_button_dest = hildon.PickerButton(gtk.HILDON_SIZE_AUTO,                            hildon.BUTTON_ARRANGEMENT_VERTICAL)
+        picker_button_dest.set_title("Gare d'arrivee")
+        picker_button_dest.set_selector(self.combo_dest)
+        
+        vBox = gtk.VBox()
+        hBox = gtk.HBox()
+        vBox.pack_start(hBox)
+        hBox.pack_start(picker_button_source)
+        hBox.pack_start(picker_button_dest)
+        vBox.pack_start(self.treeview)
+        vBox.pack_start(refreshButton)
+        
+
+        mainWindow.add(vBox)
+        mainWindow.show_all()
+
+    def on_mainWindow_destroy(self, widget):
+        gtk.main_quit()
+
+    def on_refreshButton_clicked(self, widget):
+        self.treestore.clear()
+        trajet = Trajet(LongNameGare(self.combo_source.get_current_text()).get_gare(ConfFile('example.cfg')), LongNameGare(self.combo_dest.get_current_text()).get_gare(ConfFile('example.cfg')))
+        z=0
+        for i in trajet.get_liste_train():
+            liste_horaire = trajet.get_liste_horaire()
+            self.treestore.append(None, [i, liste_horaire[z]])
+            z += 1
 
 
 
 if __name__ == "__main__":
-       TransilienUI()
-       gtk.main()
+    TransilienUI()
+    gtk.main()