#!/usr/env/python from PySide import QtCore, QtGui, QtDeclarative from gotovienna.utils import * from gotovienna.realtime import * import urllib2 class Gui(QtCore.QObject): @QtCore.Slot(str, str) def search(self, line, station): line = line.upper() station = station.decode('utf-8') print line, station itip = ITipParser() print itip.lines if not line in itip.lines: return "Invalid line" try: stations = sorted(itip.get_stations(line).items()) print stations headers, stations = zip(*stations) print headers print stations details = [(direction, name, url) for direction, stops in stations for name, url in stops if match_station(station, name)] print details except urllib2.URLError as e: print e.message return e.message if __name__ == '__main__': import sys app = QtGui.QApplication(sys.argv) view = QtDeclarative.QDeclarativeView() # instantiate the Python object itip = Gui() # expose the object to QML context = view.rootContext() context.setContextProperty("itip", itip) view.setSource(QtCore.QUrl('gotovienna/qml/main.qml')) view.show() sys.exit(app.exec_())