--- /dev/null
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'pyWienerLinien.ui'
+#
+# Created: Tue Feb 15 13:11:11 2011
+# by: PyQt4 UI code generator 4.7.4
+#
+# WARNING! All changes made in this file will be lost!
+
+from PySide import QtCore, QtGui
+
+class Ui_MainWindow(object):
+ def setupUi(self, MainWindow):
+ MainWindow.setObjectName("MainWindow")
+ MainWindow.resize(800, 480)
+ self.centralwidget = QtGui.QWidget(MainWindow)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Maximum)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.centralwidget.sizePolicy().hasHeightForWidth())
+ self.centralwidget.setSizePolicy(sizePolicy)
+ self.centralwidget.setObjectName("centralwidget")
+ self.gridLayout_3 = QtGui.QGridLayout(self.centralwidget)
+ self.gridLayout_3.setObjectName("gridLayout_3")
+ self.btnSearch = QtGui.QPushButton(self.centralwidget)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.btnSearch.sizePolicy().hasHeightForWidth())
+ self.btnSearch.setSizePolicy(sizePolicy)
+ self.btnSearch.setObjectName("btnSearch")
+ self.gridLayout_3.addWidget(self.btnSearch, 5, 1, 1, 1)
+ self.comboTarget = QtGui.QComboBox(self.centralwidget)
+ self.comboTarget.setObjectName("comboTarget")
+ self.comboTarget.addItem("")
+ self.comboTarget.addItem("")
+ self.comboTarget.addItem("")
+ self.gridLayout_3.addWidget(self.comboTarget, 3, 1, 1, 1)
+ self.label = QtGui.QLabel(self.centralwidget)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+ self.label.setSizePolicy(sizePolicy)
+ self.label.setObjectName("label")
+ self.gridLayout_3.addWidget(self.label, 1, 0, 2, 1)
+ self.label_2 = QtGui.QLabel(self.centralwidget)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth())
+ self.label_2.setSizePolicy(sizePolicy)
+ self.label_2.setObjectName("label_2")
+ self.gridLayout_3.addWidget(self.label_2, 3, 0, 2, 1)
+ self.editStart = QtGui.QComboBox(self.centralwidget)
+ self.editStart.setEditable(True)
+ self.editStart.setInsertPolicy(QtGui.QComboBox.NoInsert)
+ self.editStart.setObjectName("editStart")
+ self.gridLayout_3.addWidget(self.editStart, 2, 1, 1, 1)
+ self.editTarget = QtGui.QComboBox(self.centralwidget)
+ self.editTarget.setEditable(True)
+ self.editTarget.setInsertPolicy(QtGui.QComboBox.NoInsert)
+ self.editTarget.setObjectName("editTarget")
+ self.gridLayout_3.addWidget(self.editTarget, 4, 1, 1, 1)
+ self.comboStart = QtGui.QComboBox(self.centralwidget)
+ self.comboStart.setObjectName("comboStart")
+ self.comboStart.addItem("")
+ self.comboStart.addItem("")
+ self.comboStart.addItem("")
+ self.gridLayout_3.addWidget(self.comboStart, 1, 1, 1, 1)
+ MainWindow.setCentralWidget(self.centralwidget)
+ self.menubar = QtGui.QMenuBar(MainWindow)
+ self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 25))
+ self.menubar.setObjectName("menubar")
+ self.menuHelp = QtGui.QMenu(self.menubar)
+ self.menuHelp.setObjectName("menuHelp")
+ MainWindow.setMenuBar(self.menubar)
+ self.actionAbout = QtGui.QAction(MainWindow)
+ self.actionAbout.setObjectName("actionAbout")
+ self.menuHelp.addAction(self.actionAbout)
+ self.menubar.addAction(self.menuHelp.menuAction())
+
+ self.retranslateUi(MainWindow)
+ QtCore.QMetaObject.connectSlotsByName(MainWindow)
+
+ def retranslateUi(self, MainWindow):
+ MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "MainWindow", None, QtGui.QApplication.UnicodeUTF8))
+ self.btnSearch.setText(QtGui.QApplication.translate("MainWindow", "Search", None, QtGui.QApplication.UnicodeUTF8))
+ self.comboTarget.setItemText(0, QtGui.QApplication.translate("MainWindow", "Haltestelle", None, QtGui.QApplication.UnicodeUTF8))
+ self.comboTarget.setItemText(1, QtGui.QApplication.translate("MainWindow", "Adresse", None, QtGui.QApplication.UnicodeUTF8))
+ self.comboTarget.setItemText(2, QtGui.QApplication.translate("MainWindow", "POI", None, QtGui.QApplication.UnicodeUTF8))
+ self.label.setText(QtGui.QApplication.translate("MainWindow", "Start", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_2.setText(QtGui.QApplication.translate("MainWindow", "Ziel", None, QtGui.QApplication.UnicodeUTF8))
+ self.comboStart.setItemText(0, QtGui.QApplication.translate("MainWindow", "Haltestelle", None, QtGui.QApplication.UnicodeUTF8))
+ self.comboStart.setItemText(1, QtGui.QApplication.translate("MainWindow", "Adresse", None, QtGui.QApplication.UnicodeUTF8))
+ self.comboStart.setItemText(2, QtGui.QApplication.translate("MainWindow", "POI", None, QtGui.QApplication.UnicodeUTF8))
+ self.menuHelp.setTitle(QtGui.QApplication.translate("MainWindow", "Help", None, QtGui.QApplication.UnicodeUTF8))
+ self.actionAbout.setText(QtGui.QApplication.translate("MainWindow", "About", None, QtGui.QApplication.UnicodeUTF8))
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>800</width>
+ <height>480</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>MainWindow</string>
+ </property>
+ <widget class="QWidget" name="centralwidget">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Maximum" vsizetype="Maximum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_3">
+ <item row="5" column="1">
+ <widget class="QPushButton" name="btnSearch">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Search</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QComboBox" name="comboTarget">
+ <item>
+ <property name="text">
+ <string>Haltestelle</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Adresse</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>POI</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="1" column="0" rowspan="2">
+ <widget class="QLabel" name="label">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Start</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0" rowspan="2">
+ <widget class="QLabel" name="label_2">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Ziel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="editStart">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <property name="insertPolicy">
+ <enum>QComboBox::NoInsert</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QComboBox" name="editTarget">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <property name="insertPolicy">
+ <enum>QComboBox::NoInsert</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="comboStart">
+ <item>
+ <property name="text">
+ <string>Haltestelle</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Adresse</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>POI</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QMenuBar" name="menubar">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>800</width>
+ <height>25</height>
+ </rect>
+ </property>
+ <widget class="QMenu" name="menuHelp">
+ <property name="title">
+ <string>Help</string>
+ </property>
+ <addaction name="actionAbout"/>
+ </widget>
+ <addaction name="menuHelp"/>
+ </widget>
+ <action name="actionAbout">
+ <property name="text">
+ <string>About</string>
+ </property>
+ </action>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
--- /dev/null
+import urllib
+import sys
+from datetime import datetime
+import settings
+import webbrowser
+
+
+class Search:
+
+ def __init__(self, origin, destination, origin_type='stop', destination_type='stop', dtime=datetime.now()):
+ self.origin = origin
+ self.destination = destination
+ self.datetime = dtime
+ self.origin_type = origin_type
+ self.destination_type = destination_type
+
+ def open_browser(self):
+ webbrowser.open('%s?%s' % (settings.action, self.parameter))
+
+ @property
+ def time(self):
+ return self.datetime.strftime('%H:%M')
+
+ @property
+ def date(self):
+ return self.datetime.strftime('%d.%m.%Y')
+
+ @property
+ def parameter(self):
+ post = {'language': 'de',
+ 'sessionID': 0,
+ 'requestID': 0,
+ 'execInst': 'normal',
+ 'command': '',
+ 'anySigWhenPerfectNoOtherMatches': 1,
+ 'itdLPxx_locationServerActive': '',
+ 'locationServerActive': 0,
+ 'typeInfo_origin': 'invalid',
+ 'placeState_origin': 'empty',
+ 'placeInfo_origin': 'invalid',
+ 'place_origin': 'Wien',
+ 'type_origin': self.origin_type, # stop/address/poi
+ 'nameState_origin': 'empty',
+ 'nameInfo_origin': 'invalid',
+ 'anyType_origin': '',
+ 'name_origin': self.origin,
+ 'typeInfo_destination': 'invalid',
+ 'placeState_destination': 'empty',
+ 'placeInfo_destination': 'invalid',
+ 'place_destination': 'Wien',
+ 'type_destination': self.destination_type, # stop/address/poi
+ 'nameState_destination': 'empty',
+ 'nameInfo_destination': 'invalid',
+ 'anyType_destination': '',
+ 'name_destination': self.destination,
+ 'itdTripDateTimeDepArr': 'dep',
+ 'itdDateDayMonthYear': self.date, # DD.MM.YYYY
+ 'itdTime': self.time, # HH:MM
+ 'submitbutton': 'SUCHEN'
+ }
+
+ params = urllib.urlencode(post)
+ return params