36a59e603b566ab57d5e64878b3afc3cbb78ac83
[pywienerlinien] / pyWienerLinien.py
1 #!/usr/bin/env python
2
3 import sys
4 import os
5 import time
6 import logging
7 from PySide import QtCore, QtGui
8 from Ui_Qt import Ui_MainWindow
9 from wlSearch import Search
10 import webbrowser
11
12
13 class WienerLinienQt(QtGui.QMainWindow, Ui_MainWindow):
14     types = ('stop', 'address', 'poi')
15
16     def __init__(self):
17         QtGui.QMainWindow.__init__(self)
18         self.setupUi(self)
19
20         self.connect(self.btnSearch, QtCore.SIGNAL("clicked()"), self.search)
21
22     def search(self):
23         start = self.editStart.currentText()
24         target = self.editTarget.currentText()
25         if not start and target:
26             self.btnSearch.setText("Search - Missing input")
27         else:
28             s = Search(start, target, \
29                        origin_type=self.types[self.comboStart.currentIndex()], \
30                        destination_type=self.types[self.comboTarget.currentIndex()])
31             try:
32                 s.open_browser()
33             except webbrowser.Error:
34                 self.btnSearch.setText("Error starting webbrowser")
35                 return False
36             self.btnSearch.setText("Search - Opening webbrowser")
37             return True
38
39 if __name__ == "__main__":
40     app = QtGui.QApplication(sys.argv)
41     w = WienerLinienQt()
42     w.show()
43     app.exec_()