├── requirements.txt ├── docs ├── source │ ├── getPlaces.rst │ ├── getPlacesTypes.rst │ ├── getLinesAndRoutesForMlandLCode.rst │ ├── getRouteName.rst │ ├── getMLName.rst │ ├── getEsavlDirections.rst │ ├── getDailyScheduleMobile.rst │ ├── webGetLangs.rst │ ├── getStopArrivals.rst │ ├── getLineName.rst │ ├── getBusLocation.rst │ ├── getStopNameAndXY.rst │ ├── webGetStops.rst │ ├── webRouteDetails.rst │ ├── getClosestStops.rst │ ├── webGetLines.rst │ ├── getRoutesForLine.rst │ ├── webGetRoutes.rst │ ├── getScheduleDaysMasterline.rst │ ├── webGetLinesWithMLInfo.rst │ ├── webGetRoutesDetailsAndStops.rst │ ├── webRoutesForStop.rst │ ├── webGetMasterLines.rst │ ├── getDailySchedule.rst │ ├── getLinesAndRoutesForMl.rst │ ├── getSchedLines.rst │ ├── index.rst │ └── conf.py ├── Makefile └── make.bat ├── CONTRIBUTORS.md ├── .gitignore └── README.md /requirements.txt: -------------------------------------------------------------------------------- 1 | requests==2.22.0 2 | Sphinx==2.4.0 -------------------------------------------------------------------------------- /docs/source/getPlaces.rst: -------------------------------------------------------------------------------- 1 | .. _getPlaces: 2 | 3 | getPlaces 4 | ========= 5 | 6 | Λογικά δεν έχει υλοποιηθεί ακόμα γιατί επιστρέφει πάντα null. 7 | 8 | 9 | Api Endpoint 10 | ------------ 11 | 12 | ``http://telematics.oasa.gr/api/?act=getPlaces&p1=catCode`` 13 | 14 | 15 | Response 16 | -------- 17 | 18 | .. code-block:: json 19 | 20 | null 21 | 22 | 23 | -------------------------------------------------------------------------------- /docs/source/getPlacesTypes.rst: -------------------------------------------------------------------------------- 1 | .. _getPlacesTypes: 2 | 3 | getPlacesTypes 4 | ============== 5 | 6 | Λογικά δεν έχει υλοποιηθεί ακόμα γιατί επιστρέφει πάντα null. 7 | 8 | 9 | Api Endpoint 10 | ------------ 11 | 12 | ``http://telematics.oasa.gr/api/?act=getPlacesTypes`` 13 | 14 | 15 | Response 16 | -------- 17 | 18 | .. code-block:: json 19 | 20 | null 21 | 22 | -------------------------------------------------------------------------------- /docs/source/getLinesAndRoutesForMlandLCode.rst: -------------------------------------------------------------------------------- 1 | .. _getLinesAndRoutesForMlandLCode: 2 | 3 | getLinesAndRoutesForMlandLCode 4 | ============================== 5 | 6 | (Not Implemented probably) 7 | 8 | Api Endpoint 9 | ------------ 10 | 11 | ``http://telematics.oasa.gr/api/?act=getLinesAndRoutesForMl&p1=mlcode&p2=lid`` 12 | 13 | 14 | Response 15 | -------- 16 | 17 | .. code-block:: json 18 | 19 | null 20 | 21 | 22 | -------------------------------------------------------------------------------- /CONTRIBUTORS.md: -------------------------------------------------------------------------------- 1 | Ευχαριστώ πολυ τους : 2 | 3 | * [nikolas-n](https://github.com/nikolas-n) 4 | * [panoukos41](https://github.com/panoukos41) 5 | * [Alatiera](https://github.com/alatiera) 6 | * Κωνσταντίνος Αρβανιτάκης 7 | * [Manolis Papadeas](https://github.com/OverloadedOrama) 8 | * [Chariton Charitonidis](https://github.com/haritonch) 9 | * [Diomidis Spinellis](https://github.com/dspinellis) 10 | * [Alexander Roumeliotis](https://github.com/alexroumi) 11 | -------------------------------------------------------------------------------- /docs/source/getRouteName.rst: -------------------------------------------------------------------------------- 1 | getRouteName 2 | ============ 3 | 4 | Χρησιμοποιώντας το **routecode** το getRouteName επιστρέφει 5 | το όνομα της διαδρομής. 6 | 7 | 8 | Api Endpoint 9 | ------------ 10 | 11 | ``http://telematics.oasa.gr/api/?act=getRouteName&p1=routecode`` 12 | 13 | 14 | Response 15 | -------- 16 | 17 | .. code-block:: python 18 | 19 | [ 20 | { 21 | "route_descr":"\u03a0\u0395\u0399\u03a1\u0391\u0399\u0391\u03a3 - \u0392\u039f\u03a5\u039b\u0391", 22 | "route_departure_eng":"PEIRAIAS - VOULA" 23 | } 24 | ] 25 | -------------------------------------------------------------------------------- /docs/source/getMLName.rst: -------------------------------------------------------------------------------- 1 | getMLName 2 | ========= 3 | 4 | Επιστρέφει το mlname. Δες getLinesAndRoutesForML. 5 | Για την χρήση αυτής της δράσης χρειάζεται το **mlcode** που το βρίσκουμε από την webGetLinesWithML 6 | 7 | 8 | Api Endpoint 9 | ------------ 10 | 11 | ``http://telematics.oasa.gr/api/?act=getMLName&p1=mlcode`` 12 | 13 | 14 | Response 15 | -------- 16 | 17 | .. code-block:: python 18 | 19 | [ 20 | { 21 | "ml_descr":"\u03a0\u0395\u0399\u03a1\u0391\u0399\u0391\u03a3 - \u0392\u039f\u03a5\u039b\u0391", 22 | "ml_descr_eng":null 23 | } 24 | ] 25 | -------------------------------------------------------------------------------- /docs/source/getEsavlDirections.rst: -------------------------------------------------------------------------------- 1 | .. _getEsavlDirections: 2 | 3 | getEsavlDirections 4 | ================== 5 | 6 | Λογικά δεν έχει υλοποιηθεί ακόμα το χρησιμοποιούν για την βέλτιστη διαδρομή την οποία δεν 7 | μπορούμε να την χρησιμοποιήσουμε ακόμα. 8 | 9 | Υποθέτω ότι το from[0] και from[1] είναι συντεταγμένες latitude, longitude 10 | και αντίστοιχα είναι το to[0] και to[1] 11 | 12 | 13 | Api Endpoint 14 | ------------ 15 | 16 | ``http://telematics.oasa.gr/api/?act=getEsavlDirections&p1=4&p2=3&p3=300&p4=from[1]&p5=from[0]&p6=to[1]&p7=to[0]`` 17 | 18 | 19 | Response 20 | -------- 21 | 22 | .. code-block:: json 23 | 24 | null 25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/source/getDailyScheduleMobile.rst: -------------------------------------------------------------------------------- 1 | getDailyScheduleMobile 2 | ============== 3 | 4 | Μας επιστρέφει τους χρόνους των καθημερινών δρομολογίων (δηλαδή του ημερήσιου προγραμματισμού) come και go που αντιστοιχούν στην αφετηρία και τέρμα σε απλή μορφή όπως εμφανίζονται στην εφαρμογή. Στο παράδειγμα εμφανίζεται η απάντηση της γραμμής 5 | Α5 ΑΚΑΔΗΜΙΑ - ΑΓ. ΠΑΡΑΣΚΕΥΗ - ΑΝΘΟΥΣΑ ( **line_code** = 1058 ) 6 | 7 | 8 | Api Endpoint 9 | ------------ 10 | 11 | ``http://telematics.oasa.gr/api/?act=getDailyScheduleMobile&line_code=line_code`` 12 | 13 | 14 | Response 15 | -------- 16 | 17 | .. code-block:: python 18 | {"come":[{"time":"05:00","msg":null},...], 19 | "go":[{"time":"05:00","msg":null},...] 20 | } 21 | -------------------------------------------------------------------------------- /docs/source/webGetLangs.rst: -------------------------------------------------------------------------------- 1 | webGetLangs 2 | =========== 3 | 4 | Επιστρέφει strings τα οποία χρησιμοποιούνται για localization από την σελίδα του OASA. 5 | 6 | Api Endpoint 7 | ------------ 8 | 9 | ``http://telematics.oasa.gr/api/?act=webGetLangs`` 10 | 11 | Response 12 | -------- 13 | 14 | .. code-block:: python 15 | 16 | [ 17 | { 18 | "lang_id":"1", 19 | "el":"\u03a0\u03bb\u03b7\u03c1\u03bf\u03c6\u03bf\u03c1\u03af\u03b5\u03c2 \u0393\u03c1\u03b1\u03bc\u03bc\u03ae\u03c2", 20 | "en":"Line Information" 21 | } 22 | .... 23 | ] 24 | 25 | 26 | Response Breakdown 27 | ------------------ 28 | 29 | *lang_id* : Το id του string 30 | *el* : το string με ελληνικούς χαρακτήρες (unicode) 31 | *en* : το string με αγγλικούς χαρακτήρες (ascii) -------------------------------------------------------------------------------- /docs/source/getStopArrivals.rst: -------------------------------------------------------------------------------- 1 | getStopArrivals 2 | =============== 3 | 4 | Επιστρέφει τα λεωφορεία που αναμένει σύντομα η στάση. 5 | Χρειαζόμαστε και μια παράμετρο που είναι το **stopcode** δηλαδή ο κώδικας μιας στάσης. 6 | Για να τον βρούμε μπορούμε να χρησιμοποιήσουμε την webGetStops. 7 | Στο παράδειγμα εμφανίζονται τα απότελέσματα του getStopArrivals της στάσης ΗΣΑΠ Ν.ΦΑΛΗΡΟΥ ( **stopcode** = 400075 ) 8 | 9 | 10 | Api Endpoint 11 | ------------ 12 | 13 | ``http://telematics.oasa.gr/api/?act=getStopArrivals&p1=stopcode`` 14 | 15 | 16 | Response 17 | -------- 18 | 19 | .. code-block:: python 20 | 21 | [ 22 | { 23 | "route_code":"2033", 24 | "veh_code":"50328", 25 | "btime2":"5" 26 | }, 27 | { 28 | "route_code":"2005", 29 | "veh_code":"20521", 30 | "btime2":"5" 31 | } 32 | ] 33 | -------------------------------------------------------------------------------- /docs/source/getLineName.rst: -------------------------------------------------------------------------------- 1 | getLineName 2 | =========== 3 | 4 | Επιστρέφει το όνομα της γραμμής. 5 | Για να χρησιμοποιηθεί χρειαζόμαστε και την παράμετρο **linecode** που μπορούμε να 6 | την βρούμε αν φιλτράρουμε τον αριθμό του λεωφορείου που χρειαζόμαστε από τις 7 | δράσεις webGetLines και webGetLinesWithMLInfo 8 | 9 | Για παράδειγμα το Α1 ( **linecode** = 962 ) που είναι η γραμμή ΠΕΙΡΑΙΑΣ-ΒΟΥΛΑ , έχει διαδρομές 10 | ΠΕΙΡΑΙΑΣ-ΒΟΥΛΑ και ΒΟΥΛΑ-ΠΕΙΡΑΙΑΣ. 11 | 12 | 13 | Api Endpoint 14 | ------------ 15 | 16 | ``http://telematics.oasa.gr/api/?act=getLineName&p1=linecode`` 17 | 18 | 19 | Response 20 | -------- 21 | 22 | .. code-block:: python 23 | 24 | [ 25 | { 26 | "line_descr":"\u03a0\u0395\u0399\u03a1\u0391\u0399\u0391\u03a3 - \u0392\u039f\u03a5\u039b\u0391", 27 | "line_descr_eng":"PEIRAIAS - VOYLA" 28 | } 29 | ] 30 | -------------------------------------------------------------------------------- /docs/source/getBusLocation.rst: -------------------------------------------------------------------------------- 1 | getBusLocation 2 | ============== 3 | 4 | Επιστρέφει την τοποθεσία των λεωφορείων μιας συγκεκριμένης διαδρομής. 5 | Χρειαζόμαστε και μια παράμετρο που είναι το **routecode** δηλαδή ο κώδικας 6 | μιας διαδρομής . Στο παράδειγμα εμφανίζεται η απάντηση της διαδρομής 7 | ΠΕΙΡΑΙΑΣ-ΒΟΥΛΑ ( **routecode** = 2045 ) 8 | 9 | 10 | Api Endpoint 11 | ------------ 12 | 13 | ``http://telematics.oasa.gr/api/?act=getBusLocation&p1=routecode`` 14 | 15 | 16 | Response 17 | -------- 18 | 19 | .. code-block:: python 20 | 21 | [ 22 | { 23 | "VEH_NO":"40860", 24 | "CS_DATE":"Jul 13 2016 11:05:32:000PM", 25 | "CS_LAT":"37.9018570", 26 | "CS_LNG":"23.7197450", 27 | "ROUTE_CODE":"2045" 28 | }, 29 | { 30 | "VEH_NO":"40875", 31 | "CS_DATE":"Jul 13 2016 11:05:36:000PM", 32 | "CS_LAT":"37.9364170", 33 | "CS_LNG":"23.6405150", 34 | "ROUTE_CODE":"2045" 35 | } 36 | ] 37 | -------------------------------------------------------------------------------- /docs/source/getStopNameAndXY.rst: -------------------------------------------------------------------------------- 1 | getStopNameAndXY 2 | ================ 3 | 4 | Επιστρέφει το όνομα της στάσης και τις συντεταγμένες της. 5 | Χρειαζόμαστε και μια παράμετρο που είναι το **stopcode** δηλαδή ο κώδικας μιας στάσης. 6 | Για να τον βρούμε μπορούμε να χρησιμοποιήσουμε την webGetStops. 7 | Στο παράδειγμα εμφανίζονται τα απότελέσματα του getStopArrivals της στάσης ΗΣΑΠ Ν.ΦΑΛΗΡΟΥ ( **stopcode** = 400075 ) 8 | 9 | 10 | Api Endpoint 11 | ------------ 12 | 13 | ``http://telematics.oasa.gr/api/?act=getStopNameAndXY&p1=stopcode`` 14 | 15 | 16 | Response 17 | -------- 18 | 19 | .. code-block:: python 20 | 21 | [ 22 | { 23 | "stop_descr":"\u0397\u03a3\u0391\u03a0 \u039d.\u03a6\u0391\u039b\u0397\u03a1\u039f\u03a5", 24 | "stop_descr_matrix_eng":"ISAP.N.FALIROY", 25 | "stop_lat":"37.9445913", 26 | "stop_lng":"23.6671421" 27 | "stop_heading":"88", 28 | "stop_id":"400075" 29 | } 30 | ] 31 | -------------------------------------------------------------------------------- /docs/source/webGetStops.rst: -------------------------------------------------------------------------------- 1 | webGetStops 2 | =========== 3 | 4 | Επιστρέφει τις στάσεις μιας διαδρομής. Χρειαζόμαστε και μια παράμετρο που είναι 5 | το **routecode** δηλαδή ο κώδικας μιας διαδρομής . Στο παράδειγμα εμφανίζεται η πρώτη 6 | στάση της διαδρομής ΠΕΙΡΑΙΑΣ-ΒΟΥΛΑ ( **routecode** = 2045 ) 7 | 8 | 9 | Api Endpoint 10 | ------------ 11 | 12 | ``http://telematics.oasa.gr/api/?act=webGetStops&p1=routecode`` 13 | 14 | 15 | Response 16 | -------- 17 | 18 | .. code-block:: python 19 | 20 | [ 21 | { 22 | "StopCode":"10183", 23 | "StopID":"25", 24 | "StopDescr":"\u03a0\u0395\u0399\u03a1\u0391\u0399\u0391\u03a3", 25 | "StopDescrEng":"PEIRAIAS", 26 | "StopStreet":null, 27 | "StopStreetEng":null, 28 | "StopHeading":"93", 29 | "StopLat":"37.938246", 30 | "StopLng":"23.6320605", 31 | "RouteStopOrder":"1", 32 | "StopType":"0", 33 | "StopAmea":"0" 34 | }, 35 | .... 36 | ] 37 | -------------------------------------------------------------------------------- /docs/source/webRouteDetails.rst: -------------------------------------------------------------------------------- 1 | webRouteDetails 2 | =============== 3 | 4 | Επιστρέφει τις λεπτομέρειες της διαδρομής δηλαδή την τοποθεσία των στάσεων και την σειρά με την οποία τις 'επισκέπτεται' το λεωφορείο. 5 | Χρησιμοποιείται κυρίως για απεικόνηση στο google maps 6 | Χρειαζόμαστε και μια παράμετρο που είναι το **routecode** δηλαδή ο κώδικας μιας διαδρομής. 7 | Στο παράδειγμα εμφανίζονται τα απότελέσματα του webRouteDetails της διαδρομής ΠΕΙΡΑΙΑΣ-ΒΟΥΛΑ ( **routecode** = 2045 ) 8 | 9 | Api Endpoint 10 | ------------ 11 | 12 | ``http://telematics.oasa.gr/api/?act=webRouteDetails&p1=routecode`` 13 | 14 | 15 | Response 16 | -------- 17 | 18 | .. code-block:: python 19 | 20 | [ 21 | {"routed_x":"23.63272","routed_y":"37.93851","routed_order":"1"}, 22 | {"routed_x":"23.6326","routed_y":"37.93851","routed_order":"2"}, 23 | {"routed_x":"23.63233","routed_y":"37.93833","routed_order":"3"}, 24 | .... 25 | ] 26 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | 5 | # Pycharm .idea 6 | .idea/ 7 | 8 | # Key files 9 | *.key 10 | 11 | # C extensions 12 | *.so 13 | 14 | # Batch Files 15 | *.bat 16 | 17 | # Html Graphs 18 | *.html 19 | 20 | # Distribution / packaging 21 | .Python 22 | env/ 23 | build/ 24 | develop-eggs/ 25 | dist/ 26 | downloads/ 27 | eggs/ 28 | .eggs/ 29 | lib/ 30 | lib64/ 31 | parts/ 32 | sdist/ 33 | var/ 34 | *.egg-info/ 35 | .installed.cfg 36 | *.egg 37 | 38 | # PyInstaller 39 | # Usually these files are written by a python script from a template 40 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 41 | *.manifest 42 | *.spec 43 | 44 | # Installer logs 45 | pip-log.txt 46 | pip-delete-this-directory.txt 47 | 48 | # Unit test / coverage reports 49 | htmlcov/ 50 | .tox/ 51 | .coverage 52 | .coverage.* 53 | .cache 54 | nosetests.xml 55 | coverage.xml 56 | *,cover 57 | 58 | # Translations 59 | *.mo 60 | *.pot 61 | 62 | # Django stuff: 63 | *.log 64 | 65 | # PyBuilder 66 | target/ 67 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## OASA Telematics API documentation 2 | 3 | These are the docs for the API used in the OASA Telematics. 4 | 5 | Most of the information was extracted from this [JS script](http://telematics.oasa.gr/js/script.js) 6 | so if you want to help head over there first. 7 | 8 | You can find the online docs [oasa-telematics-api.readthedocs.io](http://oasa-telematics-api.readthedocs.io/en/latest/) 9 | 10 | ### Fair use warning 11 | 12 | Before using the API for any product, please contact OASA 13 | in order to ask for permission or something. 14 | 15 | #### Development 16 | 17 | (Optional) Create a python virtual environment: 18 | 19 | ```shell script 20 | python -m venv venv 21 | ``` 22 | 23 | Install the required packages: 24 | 25 | ```shell script 26 | pip install -r requirements.txt 27 | ``` 28 | 29 | Build the documentation: 30 | 31 | ```shell script 32 | cd docs/ 33 | make html 34 | ``` 35 | 36 | In order to view the changes in your browser open the `index.html` located 37 | at `docs/build/html`. 38 | 39 | If you want to clean completely the build run the following command: 40 | ```shell script 41 | make clean 42 | ``` -------------------------------------------------------------------------------- /docs/source/getClosestStops.rst: -------------------------------------------------------------------------------- 1 | getClosestStops 2 | =============== 3 | 4 | Χρησιμοποιώντας το **x** και το **y** το getClosestStops επιστρέφει τις κοντινότερες στάσεις 5 | 6 | 7 | Api Endpoint 8 | ------------ 9 | 10 | ``http://telematics.oasa.gr/api/?act=getClosestStops&p1=x&p2=y`` 11 | 12 | 13 | Response 14 | -------- 15 | 16 | .. code-block:: python 17 | 18 | [ 19 | { 20 | "StopCode":"400058","StopID":"400058","StopDescr":"\u0392\u0395\u039d\u0399\u0396\u0395\u039b\u039f\u03a5", 21 | "StopDescrEng":"VENIZELOY","StopStreet":"\u0393\u03a1.\u039b\u0391\u039c\u03a0\u03a1\u0391\u039a\u0397", 22 | "StopStreetEng":null,"StopHeading":"42","StopLat":"37.9432677","StopLng":"23.6520113", 23 | "distance":"0.001443313361679744" 24 | }, 25 | { 26 | "StopCode":"400036","StopID":"400036","StopDescr":"\u0392\u0395\u039d\u0399\u0396\u0395\u039b\u039f\u03a5", 27 | "StopDescrEng":"VENIZELOY","StopStreet":"\u0393\u03a1.\u039b\u0391\u039c\u03a0\u03a1\u0391\u039a\u0397", 28 | "StopStreetEng":null,"StopHeading":"42","StopLat":"37.9433851","StopLng":"23.6521018", 29 | "distance":"0.001541670123601801" 30 | }, 31 | ... 32 | ] 33 | -------------------------------------------------------------------------------- /docs/source/webGetLines.rst: -------------------------------------------------------------------------------- 1 | webGetLines 2 | =========== 3 | 4 | Επιστρέφει τα στοιχεία σχετικά με όλες τις γραμμές των λεωφορείων. 5 | 6 | 7 | Api Endpoint 8 | ------------ 9 | 10 | ``http://telematics.oasa.gr/api/?act=webGetLines`` 11 | 12 | 13 | Response 14 | -------- 15 | 16 | .. code-block:: python 17 | 18 | [ 19 | { 20 | "LineCode":"815", 21 | "LineID":"021", 22 | "LineDescr":"\u03a0\u039b\u0391\u03a4\u0395\u0399\u0391 \u039a\u0391\u039d\u0399\u0393\u0393\u039f\u03a3 - \u0393\u039a\u03a5\u0396H", 23 | "LineDescrEng":"PLATEIA KANIGKOS - GKIZI" 24 | }, 25 | .... 26 | ] 27 | 28 | 29 | 30 | Response Breakdown 31 | ------------------ 32 | 33 | *LineCode*: Το Line_Code είναι ο μοναδικός αριθμός που ορίζει το software της τηλεματικής στην κάθε γραμμή. 34 | Βάσει αυτού του αριθμού γίνονται όλοι συσχετισμοί στην βάση δεδομένων του ΟΑΣΑ. Επίσης φαίνεται να είναι URI. 35 | 36 | *lineID*: Unicode formatted string το οποίο είναι ο αριθμός της γραμμής 37 | 38 | *LineDescr*: Unicode formatted string, με τον τίτλο της γραμμής, 'ΠΛΑΤΕΙΑ ΚΑΝΙΓΓΟΣ - ΓΚΥΖH(ΚΥΚΛΙΚΗ)' 39 | 40 | *LineDescrEng*: Ίδιο με το LineDescr αλλά ascii formatted 41 | -------------------------------------------------------------------------------- /docs/source/getRoutesForLine.rst: -------------------------------------------------------------------------------- 1 | getRoutesForLine 2 | ================ 3 | 4 | Επιστρέφει τις διαδρομές σχετικά με την διαδρομή μιας γραμμής όμοια με την webGetRoutes. 5 | Για να χρησιμοποιηθεί χρειαζόμαστε και την παράμετρο **linecode** που μπορούμε να 6 | την βρούμε αν φιλτράρουμε τον αριθμό του λεωφορείου που χρειαζόμαστε από τις 7 | δράσεις webGetLines και webGetLinesWithMLInfo 8 | 9 | Για παράδειγμα το Α1 ( **linecode** = 962 ) που είναι η γραμμή ΠΕΙΡΑΙΑΣ-ΒΟΥΛΑ , έχει διαδρομές 10 | ΠΕΙΡΑΙΑΣ-ΒΟΥΛΑ και ΒΟΥΛΑ-ΠΕΙΡΑΙΑΣ. 11 | 12 | 13 | Api Endpoint 14 | ------------ 15 | 16 | ``http://telematics.oasa.gr/api/?act=getRoutesForLine&p1=linecode`` 17 | 18 | 19 | Response 20 | -------- 21 | 22 | .. code-block:: python 23 | 24 | [ 25 | { 26 | "route_code":"2045", 27 | "route_id":"01", 28 | "route_descr":"\u03a0\u0395\u0399\u03a1\u0391\u0399\u0391\u03a3 - \u0392\u039f\u03a5\u039b\u0391", 29 | "route_active":"1", 30 | "route_descr_eng":"PEIRAIAS - VOULA" 31 | }, 32 | { 33 | "route_code":"2046", 34 | "route_id":"02", 35 | "route_descr":"\u0392\u039f\u03a5\u039b\u0391 - \u03a0\u0395\u0399\u03a1\u0391\u0399\u0391\u03a3", 36 | "route_active":"1", 37 | "route_descr_eng":"VOULA - PEIRAIAS" 38 | } 39 | ] 40 | -------------------------------------------------------------------------------- /docs/source/webGetRoutes.rst: -------------------------------------------------------------------------------- 1 | webGetRoutes 2 | ============ 3 | 4 | Επιστρέφει τις διαδρομές σχετικά με την διαδρομή μιας γραμμής. 5 | Για να χρησιμοποιηθεί χρειαζόμαστε και την παράμετρο **linecode** που μπορούμε να 6 | την βρούμε αν φιλτράρουμε τον αριθμό του λεωφορείου που χρειαζόμαστε από τις 7 | δράσεις webGetLines και webGetLinesWithMLInfo 8 | 9 | Για παράδειγμα το Α1 ( **linecode** = 962 ) που είναι η γραμμή ΠΕΙΡΑΙΑΣ-ΒΟΥΛΑ , έχει διαδρομές 10 | ΠΕΙΡΑΙΑΣ-ΒΟΥΛΑ και ΒΟΥΛΑ-ΠΕΙΡΑΙΑΣ. 11 | 12 | 13 | Api Endpoint 14 | ------------ 15 | 16 | ``http://telematics.oasa.gr/api/?act=webGetRoutes&p1=linecode`` 17 | 18 | 19 | Response 20 | -------- 21 | 22 | .. code-block:: python 23 | 24 | [ 25 | { 26 | "RouteCode":"2045", 27 | "LineCode":"962", 28 | "RouteDescr":"\u03a0\u0395\u0399\u03a1\u0391\u0399\u0391\u03a3 - \u0392\u039f\u03a5\u039b\u0391", 29 | "RouteDescrEng":"PEIRAIAS - VOULA", 30 | "RouteType":"1", 31 | "RouteDistance":"22385.44" 32 | }, 33 | { 34 | "RouteCode":"2046", 35 | "LineCode":"962", 36 | "RouteDescr":"\u0392\u039f\u03a5\u039b\u0391 - \u03a0\u0395\u0399\u03a1\u0391\u0399\u0391\u03a3", 37 | "RouteDescrEng":"VOULA - PEIRAIAS", 38 | "RouteType":"2", 39 | "RouteDistance":"22644.61" 40 | } 41 | ] 42 | -------------------------------------------------------------------------------- /docs/source/getScheduleDaysMasterline.rst: -------------------------------------------------------------------------------- 1 | getScheduleDaysMasterline 2 | ========================= 3 | 4 | Για να χρησιμοποιηθεί χρειαζόμαστε και την παράμετρο **linecode** που μπορούμε να 5 | την βρούμε αν φιλτράρουμε τον αριθμό του λεωφορείου που χρειαζόμαστε από τις 6 | δράσεις webGetLines και webGetLinesWithMLInfo 7 | 8 | Επιστρέφει το sdc_code, identifier για το ποιο πρόγραμμα/ωράριο ακολουθεί η γραμμή, 9 | το οποίο χρειάζεται για να κληθεί το getSchedLines function. 10 | 11 | Για παράδειγμα το Α1 ( **linecode** = 962 ) που είναι η γραμμή ΠΕΙΡΑΙΑΣ-ΒΟΥΛΑ , έχει διαδρομές 12 | ΠΕΙΡΑΙΑΣ-ΒΟΥΛΑ και ΒΟΥΛΑ-ΠΕΙΡΑΙΑΣ. 13 | 14 | 15 | Api Endpoint 16 | ------------ 17 | 18 | ``http://telematics.oasa.gr/api/?act=getScheduleDaysMasterline&p1=linecode`` 19 | 20 | 21 | Response 22 | -------- 23 | 24 | .. code-block:: python 25 | 26 | [ 27 | { 28 | "sdc_descr":"\u0398\u0395\u03a1\u0399\u039d\u039f 1 \u039a\u0391\u0398\u0397\u039c\u0395\u03a1\u0399\u039d\u0397", 29 | "sdc_descr_eng":"SUMMER DAILY", 30 | "sdc_code":"86", 31 | "":"0" 32 | }, 33 | { 34 | "sdc_descr":"\u0398\u0395\u03a1\u0399\u039d\u039f 1 \u03a3\u0391\u0392\u0392\u0391\u03a4\u039f", 35 | "sdc_descr_eng":"SUMMER SATURDAY", 36 | "sdc_code":"87", 37 | "":"1"}, 38 | { 39 | "sdc_descr":"\u0398\u0395\u03a1\u0399\u039d\u039f 1 \u039a\u03a5\u03a1\u0399\u0391\u039a\u0397", 40 | "sdc_descr_eng":"SUMMER SUNDAY", 41 | "sdc_code":"88", 42 | "":"0" 43 | } 44 | ] 45 | -------------------------------------------------------------------------------- /docs/source/webGetLinesWithMLInfo.rst: -------------------------------------------------------------------------------- 1 | webGetLinesWithMLInfo 2 | ===================== 3 | 4 | Είναι όμοιο με το webGetLines μόνο που στέλνει δύο παραπάνω στοιχεία 5 | το **ml_code** και το **sdc_code**. 6 | 7 | Api Endpoint 8 | ------------ 9 | 10 | ``http://telematics.oasa.gr/api/?act=webGetLinesWithMLInfo`` 11 | 12 | Response 13 | -------- 14 | 15 | .. code-block:: python 16 | 17 | [ 18 | { 19 | "ml_code":"9", 20 | "sdc_code":"86", 21 | "line_code":"815", 22 | "line_id":"021", 23 | "line_descr":"\u03a0\u039b\u0391\u03a4\u0395\u0399\u0391 \u039a\u0391\u039d\u0399\u0393\u0393\u039f\u03a3 - \u0393\u039a\u03a5\u0396H", 24 | "line_descr_eng":"PLATEIA KANIGKOS - GKIZI" 25 | }, 26 | .... 27 | ] 28 | 29 | 30 | Response Breakdown 31 | ------------------ 32 | 33 | *ml_code*: Identifier που έχει να κάνει με την περιοχή έναρξης. (Help needed) 34 | Πιθανότατα το ml αντιστοιχεί στο MasterLine. 35 | 36 | *sdc_code*: Identifier για το ωράριο που ακολουθεί η γραμμή, δες getSchedLines και getScheduleDaysMasterLine 37 | 38 | *Line_Code*: Το Line_Code είναι ο μοναδικός αριθμός που ορίζει το software της τηλεματικής στην κάθε γραμμή. 39 | Βάσει αυτού του αριθμού γίνονται όλοι συσχετισμοί στην βάση δεδομένων του ΟΑΣΑ. Επίσης φαίνεται να είναι URI. 40 | 41 | *line_ID*: Unicode formatted string το οποίο είναι ο αριθμός της γραμμής 42 | 43 | *line_descr*: Unicode formatted string, με τον τίτλο της γραμμής, 'ΠΛΑΤΕΙΑ ΚΑΝΙΓΓΟΣ - ΓΚΥΖH(ΚΥΚΛΙΚΗ)' 44 | 45 | *line_descr_eng*: Ίδιο με το line_descr αλλά ascii formatted 46 | -------------------------------------------------------------------------------- /docs/source/webGetRoutesDetailsAndStops.rst: -------------------------------------------------------------------------------- 1 | webGetRoutesDetailsAndStops 2 | =========================== 3 | 4 | Επιστρέφει τις λεπτομέρειες της διαδρομής και συγκεκριμένα τις στάσεις, την σειρά με την οποία εμφανίζονται και την τοποθεσία τους. 5 | Χρειαζόμαστε και μια παράμετρο που είναι το **routecode** δηλαδή ο κώδικας μιας διαδρομής. 6 | Στο παράδειγμα εμφανίζονται τα απότελέσματα του webGetRoutesDetailsAndStops της διαδρομής ΠΕΙΡΑΙΑΣ-ΒΟΥΛΑ ( **routecode** =2045) 7 | 8 | 9 | Api Endpoint 10 | ------------ 11 | 12 | ``http://telematics.oasa.gr/api/?act=webGetRoutesDetailsAndStops&p1=routecode`` 13 | 14 | 15 | Response 16 | -------- 17 | 18 | .. code-block:: python 19 | 20 | { 21 | "details": [ 22 | {"routed_x":"23.63272","routed_y":"37.93851","routed_order":"1"}, 23 | {"routed_x":"23.6326","routed_y":"37.93851","routed_order":"2"}, 24 | .... 25 | ], 26 | "stops": [ 27 | { 28 | "StopCode":"10183","StopID":"25","StopDescr":"\u03a0\u0395\u0399\u03a1\u0391\u0399\u0391\u03a3", 29 | "StopDescrEng":"PEIRAIAS","StopStreet":null,"StopStreetEng":null,"StopHeading":"93","StopLat":"37.938246", 30 | "StopLng":"23.6320605","RouteStopOrder":"1","StopType":"0","StopAmea":"0" 31 | }, 32 | { 33 | "StopCode":"400191","StopID":"400191","StopDescr":"\u039a\u039b\u0395\u0399\u03a3\u039f\u0392\u0397\u03a3", 34 | "StopDescrEng":"KLEISOVIS","StopStreet":"\u039a\u039b\u0395\u0399\u03a3\u039f\u0392\u0397\u03a3", 35 | "StopStreetEng":null,"StopHeading":"165","StopLat":"37.9361702","StopLng":"23.6328014", 36 | "RouteStopOrder":"2","StopType":"0","StopAmea":"0" 37 | }, 38 | .... 39 | ]} 40 | -------------------------------------------------------------------------------- /docs/source/webRoutesForStop.rst: -------------------------------------------------------------------------------- 1 | webRoutesForStop 2 | ================ 3 | 4 | Επιστρέφει πληροφορίες σχετικά με μια στάση. 5 | Χρειαζόμαστε και μια παράμετρο που είναι το **stopcode** δηλαδή ο κώδικας μιας στάσης. 6 | Για να τον βρούμε μπορούμε να χρησιμοποιήσουμε την webGetStops. 7 | Στο παράδειγμα εμφανίζονται τα απότελέσματα του webRoutesForStop της στάσης ΗΣΑΠ Ν.ΦΑΛΗΡΟΥ ( **stopcode** = 400075 ) 8 | 9 | 10 | Api Endpoint 11 | ------------ 12 | 13 | ``http://telematics.oasa.gr/api/?act=webRoutesForStop&p1=stopcode`` 14 | 15 | 16 | Response 17 | -------- 18 | 19 | .. code-block:: python 20 | 21 | [ 22 | { 23 | "RouteCode":"1867", 24 | "LineCode":"851", 25 | "RouteDescr":"\u03a0\u0395\u0399\u03a1\u0391\u0399\u0391\u03a3 - \u039d. \u03a3\u039c\u03a5\u03a1\u039d\u0397", 26 | "RouteDescrEng":"PEIRAIAS - NEA SMYRNI", 27 | "RouteType":"1", 28 | "RouteDistance":"22205.03", 29 | "LineID":"130", 30 | "LineDescr":"\u03a0\u0395\u0399\u03a1\u0391\u0399\u0391\u03a3 - \u039d. \u03a3\u039c\u03a5\u03a1\u039d\u0397 (\u039a\u03a5\u039a\u039b\u0399\u039a\u0397)", 31 | "LineDescrEng":"PEIRAIAS - NEA SMIRNI", 32 | "MasterLineCode":"202" 33 | }, 34 | { 35 | "RouteCode":"1881", 36 | "LineCode":"871", 37 | "RouteDescr":"\u03a0\u0395\u0399\u03a1\u0391\u0399\u0391\u03a3 - \u0391\u039d\u03a9 \u0393\u039b\u03a5\u03a6\u0391\u0394\u0391", 38 | "RouteDescrEng":"PEIRAIAS - ANO GLYFADA", 39 | "RouteType":"1", 40 | "RouteDistance":"21369.72", 41 | "LineID":"\u03921", 42 | "LineDescr":"\u03a0\u0395\u0399\u03a1\u0391\u0399\u0391\u03a3 - \u0391\u039d\u03a9 \u0393\u039b\u03a5\u03a6\u0391\u0394\u0391", 43 | "LineDescrEng":"PEIRAIAS - ANO GLYFADA", 44 | "MasterLineCode":"59" 45 | }, 46 | .... 47 | ] 48 | -------------------------------------------------------------------------------- /docs/source/webGetMasterLines.rst: -------------------------------------------------------------------------------- 1 | webGetMasterLines 2 | ================= 3 | 4 | Επιστρέφει τα στοιχεία σχετικά με όλες τα master lines. 5 | 6 | Ως Masterlines, η τηλεματική ορίζει όλες τις πρωταρχικές γραμμές. Για παράδειγμα μπορείτε να δείτε `εδώ `_ . 7 | Πρωταρχική γραμμή θεωρείται η γραμμή 84, η οποία έχει ως παιδιά τις γραμμές 84Α και 84Β. 8 | Ο ΟΑΣΑ, δεν χρησιμοποιεί τις masterlines γιατί δεν έχει βασίσει το σύστημα των γραμμών του σε πρωταρχικές γραμμές 9 | 10 | Api Endpoint 11 | ------------ 12 | 13 | ``http://telematics.oasa.gr/api/?act=webGetMasterLines`` 14 | 15 | 16 | Response 17 | -------- 18 | 19 | .. code-block:: python 20 | 21 | [ 22 | { 23 | "ml_code":"9", 24 | "ml_descr":"\u039a\u0391\u039d\u0399\u0393\u0393\u039f\u03a3 - \u0393\u039a\u03a5\u0396\u0397", 25 | "ml_descr_eng":null, 26 | "ml_id":"021", 27 | "sdc_code":"54", 28 | "line_code":"1151", 29 | "is_complex":"2" 30 | } 31 | .... 32 | ] 33 | 34 | 35 | 36 | Response Breakdown 37 | ------------------ 38 | 39 | *ml_id*: Από ότι φαίνεται είναι λογικά το νούμερο της γραμμής. 40 | 41 | *ml_code*: Identifier που έχει να κάνει με την περιοχή έναρξης. (Help needed) 42 | Πιθανότατα το ml αντιστοιχεί στο MasterLine. 43 | 44 | *sdc_code*: Identifier για το ωράριο που ακολουθεί η γραμμή, δες getSchedLines και getScheduleDaysMasterLine 45 | 46 | *line_code*: Το Line_Code είναι ο μοναδικός αριθμός που ορίζει το software της τηλεματικής στην κάθε γραμμή. 47 | Βάσει αυτού του αριθμού γίνονται όλοι συσχετισμοί στην βάση δεδομένων του ΟΑΣΑ. Επίσης φαίνεται να είναι URI. 48 | 49 | *ml_descr*: Unicode formatted string, με τον τίτλο της γραμμής, 'ΠΛΑΤΕΙΑ ΚΑΝΙΓΓΟΣ - ΓΚΥΖH(ΚΥΚΛΙΚΗ)' 50 | 51 | *ml_descr_eng*: πάντα null λογικά δεν έχει υλοποιηθεί ακόμα αλλά λογικά θα επιστρέφει στο μέλλον το *ml_descr* με ascii χαρακτήρες. 52 | 53 | *is_complex* : δεν γνωρίζω τι αντιπροσωπεύει 54 | -------------------------------------------------------------------------------- /docs/source/getDailySchedule.rst: -------------------------------------------------------------------------------- 1 | getDailySchedule 2 | ================ 3 | 4 | Μας επιστρέφει τους χρόνους των καθημερινών δρομολογίων (δηλαδή του ημερήσιου προγραμματισμού) come και go που αντιστοιχούν στην αφετηρία και τέρμα. 5 | 6 | Σε αντίθεση με το getSchedLines, χρειαζόμαστε μόνο **lineCode**. 7 | 8 | Api Endpoint 9 | ------------ 10 | 11 | ``http://telematics.oasa.gr/api/?act=getDailySchedule&line_code=lineCode`` 12 | 13 | Response 14 | -------- 15 | 16 | ``για http://telematics.oasa.gr/api/?act=getDailySchedule&line_code=1079`` 17 | 18 | .. code-block:: python 19 | 20 | {"come":[{ 21 | "line_id":"218", 22 | "sdd_code":"15743899", 23 | "sdc_code":"54", 24 | "sds_code":"3285", 25 | "sdd_aa":"2", 26 | "sdd_line1":null, 27 | "sdd_kp1":"0", 28 | "sdd_start1":null, 29 | "sde_start1":null, 30 | "sde_end1":null, 31 | "sdd_line2":"1035", 32 | "sdd_kp2":"0", 33 | "sde_start2":"1900-01-01 05:00:00", 34 | "sde_end2":"1900-01-01 05:45:00", 35 | "sdd_sort":"1", 36 | "line_circle":"0", 37 | "line_descr":"\u03a0\u0395\u0399\u03a1\u0391\u0399\u0391\u03a3 - \u03a3\u03a4. \u0394\u0391\u03a6\u039d\u0397", 38 | "line_descr_eng":"PEIRAIAS - ST. DAFNI", 39 | "remarks":null 40 | },...], 41 | "go":[{ 42 | "line_id":"218", 43 | "sdd_code":"15743895", 44 | "sdc_code":"54", 45 | "sds_code":"3284", 46 | "sdd_aa":"2", 47 | "sdd_line1":"1035", 48 | "sdd_kp1":"0", 49 | "sdd_start1":"Jan 1 1900 05:00:00:000AM", 50 | "sde_start1":"1900-01-01 05:00:00", 51 | "sde_end1":"1900-01-01 05:50:00", 52 | "sdd_line2":"1035", 53 | "sdd_kp2":"0", 54 | "sde_start2":"1900-01-01 05:55:00", 55 | "sde_end2":"1900-01-01 06:44:00", 56 | "sdd_sort":"1", 57 | "line_circle":"0", 58 | "line_descr":"\u03a0\u0395\u0399\u03a1\u0391\u0399\u0391\u03a3 - \u03a3\u03a4. \u0394\u0391\u03a6\u039d\u0397", 59 | "line_descr_eng":"PEIRAIAS - ST. DAFNI", 60 | "remarks":null 61 | },...] 62 | } 63 | -------------------------------------------------------------------------------- /docs/source/getLinesAndRoutesForMl.rst: -------------------------------------------------------------------------------- 1 | getLinesAndRoutesForMl 2 | ====================== 3 | 4 | Επιστρέφει τις διαδρομές/δρομολόγια(lines) που αντιστιχουν σε μια γραμμή(masterline). 5 | Για να χρησιμοποιηθεί χρειαζόμαστε και την παράμετρο **mlcode** που μπορούμε να 6 | την βρούμε αν φιλτράρουμε τον αριθμό του λεωφορείου που χρειαζόμαστε από τη 7 | δράση webGetLinesWithMLInfo 8 | 9 | 10 | Api Endpoint 11 | ------------ 12 | 13 | ``http://telematics.oasa.gr/api/?act=getLinesAndRoutesForMl&p1=mlcode`` 14 | 15 | 16 | Example 17 | ------- 18 | 19 | Απ ότι φαίνεται, κάθε line/δρομολόγιο/*γραμμή* αντιστοιχεί σε ένα masterline/ml identifier, 20 | ωστόσο αυτό που το κάνει διαφορετικό απ τα υπόλοιπα lines(lines!=γραμμές, lines~=δρομολόγια), 21 | είναι ότι τα masterlines μπορούν να έχουν παραπάνω από ένα child line/δρομολόγιο. 22 | 23 | **Παράδειγμα, αν κάνουμε το εξής request:** 24 | 25 | ``http://telematics.oasa.gr/api/?act=getLinesAndRoutesForMl&p1=163`` 26 | 27 | **Θα πάρουμε πίσω:** 28 | 29 | .. code-block:: python 30 | 31 | [{ 32 | 'afetiria': 'ΑΝΩ ΝΕΑ ΣΜΥΡΝΗ ', 33 | 'afetiria_en': 'ANO NEA SMIRNI', 34 | 'line_code': '1030', 35 | 'line_descr': 'ΑΝΩ Ν. ΣΜΥΡΝΗ Α - ΣΤ. ΣΥΓΓΡΟΥ ΦΙΞ (ΚΥΚΛΙΚΗ)', 36 | 'line_descr_eng': 'ANO N. SMYRNI A - ST. SYGGROY FIX ', 37 | 'line_id': '137', 38 | 'line_id_gr': '137', 39 | 'sdc_code': '97', 40 | 'terma': 'ΑΝΩ ΝΕΑ ΣΜΥΡΝΗ ', 41 | 'terma_en': 'ANO NEA SMIRNI'}, 42 | { 43 | 'afetiria': 'ΑΝΩ ΝΕΑ ΣΜΥΡΝΗ ', 44 | 'afetiria_en': 'ANO NEA SMIRNI', 45 | 'line_code': '1031', 46 | 'line_descr': 'ΑΝΩ Ν. ΣΜΥΡΝΗ Β - ΣΤ. ΣΥΓΓΡΟΥ ΦΙΞ (ΚΥΚΛΙΚΗ)', 47 | 'line_descr_eng': 'ANO N. SMYRNI V - ST. SYGGROY FIX ', 48 | 'line_id': '136', 49 | 'line_id_gr': '136', 50 | 'sdc_code': '97', 51 | 'terma': 'ΑΝΩ ΝΕΑ ΣΜΥΡΝΗ ', 52 | 'terma_en': 'ANO NEA SMIRNI'}] 53 | 54 | 55 | Παρότι έχουν ίδια αφετηρία και τέρμα, έχουν διαφορετικό *line_id*, άλλα ίδιο **ml_code**. 56 | Αυτό συμβαίνει γιατί ανήκουν στο ίδιο master line το οποίο λειτουργεί ως parent κάποιων γραμμών. 57 | -------------------------------------------------------------------------------- /docs/source/getSchedLines.rst: -------------------------------------------------------------------------------- 1 | getSchedLines 2 | ============= 3 | Μας επιστρέφει τους χρόνους come και go που φαντάζομαι αντιστοιχούν στην αφετηρία και τέρμα. 4 | 5 | Χρειαζόμαστε **mlcode** , **lineCode** τα οποία μπορούμε να τα βρούμε από το 6 | webGetLinesWithML και **sdcCode** το οποίο μπορούμε να βρούμε από getScheduleDaysMasterline. 7 | 8 | 9 | Api Endpoint 10 | ------------ 11 | 12 | ``http://telematics.oasa.gr/api/?act=getSchedLines&p1=mlCode&p2=sdcCode&p3=lineCode`` 13 | 14 | 15 | Response 16 | -------- 17 | 18 | ``για http://telematics.oasa.gr/api/?act=getSchedLines&p1=177&p2=93&p3=1079`` 19 | 20 | .. code-block:: python 21 | 22 | {"come":[{ 23 | "line_id":"11", 24 | "sde_code":"816784", 25 | "sdc_code":"93", 26 | "sds_code":"1292", 27 | "sde_aa":"7", 28 | "sde_line1":"1079", 29 | "sde_kp1":"0", 30 | "sde_start1":"1900-01-01 23:15:00", 31 | "sde_end1":"1900-01-02 00:00:00", 32 | "sde_line2":"1079", 33 | "sde_kp2":"0", 34 | "sde_start2":"1900-01-02 00:00:00", 35 | "sde_end2":"1900-01-02 00:45:00", 36 | "sde_sort":"980", 37 | "sde_descr2":null, 38 | "line_circle":"0", 39 | "line_descr":"\u0391\u039d\u03a9 \u03a0\u0391\u03a4\u0397\u03a3\u0399\u0391 - \u039d. \u03a0\u0391\u0393\u039a\u03a1\u0391\u03a4\u0399 - \u039d. \u0395\u039b\u0392\u0395\u03a4\u0399\u0391", 40 | "line_descr_eng":"ANO PATISIA - N. PAGKRATI - N. ELVETIA" 41 | },...], 42 | "go":[{ 43 | "line_id":"11", 44 | "sde_code":"816763", 45 | "sdc_code":"93", 46 | "sds_code":"1290", 47 | "sde_aa":"13", 48 | "sde_line1":"1079", 49 | "sde_kp1":"0", 50 | "sde_start1":"1900-01-02 00:35:00", 51 | "sde_end1":"1900-01-02 01:20:00", 52 | "sde_line2":"1079", 53 | "sde_kp2":"0", 54 | "sde_start2":"1900-01-02 01:20:00", 55 | "sde_end2":"1900-01-02 02:05:00", 56 | "sde_sort":"1", 57 | "sde_descr1":null, 58 | "line_circle":"0", 59 | "line_descr":"\u0391\u039d\u03a9 \u03a0\u0391\u03a4\u0397\u03a3\u0399\u0391 - \u039d. \u03a0\u0391\u0393\u039a\u03a1\u0391\u03a4\u0399 - \u039d. \u0395\u039b\u0392\u0395\u03a4\u0399\u0391", 60 | "line_descr_eng":"ANO PATISIA - N. PAGKRATI - N. ELVETIA" 61 | },...] 62 | } 63 | -------------------------------------------------------------------------------- /docs/source/index.rst: -------------------------------------------------------------------------------- 1 | .. OASA Telematics API documentation master file, created by 2 | sphinx-quickstart on Tue Jul 12 15:01:15 2016. 3 | You can adapt this file completely to your liking, but it should at least 4 | contain the root `toctree` directive. 5 | 6 | Welcome to OASA Telematics API's documentation! 7 | =============================================== 8 | 9 | The api has the following form :: 10 | http://telematics.oasa.gr/api/?act=action&p1=parameter1&p2=parameter2 11 | 12 | Μέσα από το `script`_ (Script v0.1.1) το οποίο χρησιμοποιούν στο http://telematics.oasa.gr/ 13 | τα requests που έχω τεκμηριώσει ως τώρα είναι **POST** requests τα οποία περνάνε 14 | τις παραμέτρους στο url . 15 | 16 | 17 | **Code example: Python** 18 | 19 | Χρήση του API μέσω python requests. Το μόνο που αλλάζει είναι το endpoint. 20 | 21 | .. code-block:: python 22 | 23 | >>> import requests 24 | >>> response = requests.post("http://telematics.oasa.gr/api/?act=getLinesAndRoutesForMl&p1=9") 25 | >>> json_response = response.json() 26 | >>> print(json_response[0]["line_descr"]) 27 | 'ΠΛΑΤΕΙΑ ΚΑΝΙΓΓΟΣ - ΓΚΥΖH' 28 | 29 | **Code example: BASH** 30 | 31 | Το ίδιο request με BASH. Πρέπει να είναι εγκατεστημένα το **curl** και το **jq**. 32 | 33 | .. code-block:: bash 34 | 35 | $ curl -s "telematics.oasa.gr/api/?act=getLinesAndRoutesForMl&p1=9" | jq '.[].line_descr' 36 | "ΠΛΑΤΕΙΑ ΚΑΝΙΓΓΟΣ - ΓΚΥΖH(ΚΥΚΛΙΚΗ)" 37 | 38 | **Code example: PowerShell** 39 | 40 | Και με powershell με χρήση της Invoke-RestMethod. 41 | 42 | .. code-block:: bash 43 | 44 | PS C:\> (Invoke-RestMethod "http://telematics.oasa.gr/api/?act=getLinesAndRoutesForMl&p1=9").line_descr 45 | ΠΛΑΤΕΙΑ ΚΑΝΙΓΓΟΣ - ΓΚΥΖH(ΚΥΚΛΙΚΗ) 46 | 47 | 48 | 49 | **Not Implemented yet** 50 | 51 | * :doc:`getEsavlDirections` 52 | * :doc:`getLinesAndRoutesForMlandLCode` 53 | * :doc:`getPlaces` 54 | * :doc:`getPlacesTypes` 55 | 56 | 57 | Actions 58 | ------- 59 | 60 | .. toctree:: 61 | :maxdepth: 2 62 | 63 | getStopArrivals 64 | getBusLocation 65 | getDailySchedule 66 | getDailyScheduleMobile 67 | getEsavlDirections 68 | getScheduleDaysMasterline 69 | getLinesAndRoutesForMl 70 | getRoutesForLine 71 | getMLName 72 | getLineName 73 | getLinesAndRoutesForMl 74 | getLinesAndRoutesForMlandLCode 75 | getPlaces 76 | getPlacesTypes 77 | getRouteName 78 | getStopNameAndXY 79 | getSchedLines 80 | getClosestStops 81 | webGetLines 82 | webGetLinesWithMLInfo 83 | webGetRoutes 84 | webGetStops 85 | webRouteDetails 86 | webRoutesForStop 87 | webGetRoutesDetailsAndStops 88 | webGetLangs 89 | webGetMasterLines 90 | 91 | 92 | 93 | 94 | .. _script: http://telematics.oasa.gr/js/script.js 95 | -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- 1 | # Makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line. 5 | SPHINXOPTS = 6 | SPHINXBUILD = sphinx-build 7 | PAPER = 8 | BUILDDIR = build 9 | 10 | # Internal variables. 11 | PAPEROPT_a4 = -D latex_paper_size=a4 12 | PAPEROPT_letter = -D latex_paper_size=letter 13 | ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source 14 | # the i18n builder cannot share the environment and doctrees with the others 15 | I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source 16 | 17 | .PHONY: help 18 | help: 19 | @echo "Please use \`make ' where is one of" 20 | @echo " html to make standalone HTML files" 21 | @echo " dirhtml to make HTML files named index.html in directories" 22 | @echo " singlehtml to make a single large HTML file" 23 | @echo " pickle to make pickle files" 24 | @echo " json to make JSON files" 25 | @echo " htmlhelp to make HTML files and a HTML help project" 26 | @echo " qthelp to make HTML files and a qthelp project" 27 | @echo " applehelp to make an Apple Help Book" 28 | @echo " devhelp to make HTML files and a Devhelp project" 29 | @echo " epub to make an epub" 30 | @echo " epub3 to make an epub3" 31 | @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" 32 | @echo " latexpdf to make LaTeX files and run them through pdflatex" 33 | @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" 34 | @echo " text to make text files" 35 | @echo " man to make manual pages" 36 | @echo " texinfo to make Texinfo files" 37 | @echo " info to make Texinfo files and run them through makeinfo" 38 | @echo " gettext to make PO message catalogs" 39 | @echo " changes to make an overview of all changed/added/deprecated items" 40 | @echo " xml to make Docutils-native XML files" 41 | @echo " pseudoxml to make pseudoxml-XML files for display purposes" 42 | @echo " linkcheck to check all external links for integrity" 43 | @echo " doctest to run all doctests embedded in the documentation (if enabled)" 44 | @echo " coverage to run coverage check of the documentation (if enabled)" 45 | @echo " dummy to check syntax errors of document sources" 46 | 47 | .PHONY: clean 48 | clean: 49 | rm -rf $(BUILDDIR)/* 50 | 51 | .PHONY: html 52 | html: 53 | $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html 54 | @echo 55 | @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." 56 | 57 | .PHONY: dirhtml 58 | dirhtml: 59 | $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml 60 | @echo 61 | @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." 62 | 63 | .PHONY: singlehtml 64 | singlehtml: 65 | $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml 66 | @echo 67 | @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." 68 | 69 | .PHONY: pickle 70 | pickle: 71 | $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle 72 | @echo 73 | @echo "Build finished; now you can process the pickle files." 74 | 75 | .PHONY: json 76 | json: 77 | $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json 78 | @echo 79 | @echo "Build finished; now you can process the JSON files." 80 | 81 | .PHONY: htmlhelp 82 | htmlhelp: 83 | $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp 84 | @echo 85 | @echo "Build finished; now you can run HTML Help Workshop with the" \ 86 | ".hhp project file in $(BUILDDIR)/htmlhelp." 87 | 88 | .PHONY: qthelp 89 | qthelp: 90 | $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp 91 | @echo 92 | @echo "Build finished; now you can run "qcollectiongenerator" with the" \ 93 | ".qhcp project file in $(BUILDDIR)/qthelp, like this:" 94 | @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/OASATelematicsAPI.qhcp" 95 | @echo "To view the help file:" 96 | @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/OASATelematicsAPI.qhc" 97 | 98 | .PHONY: applehelp 99 | applehelp: 100 | $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp 101 | @echo 102 | @echo "Build finished. The help book is in $(BUILDDIR)/applehelp." 103 | @echo "N.B. You won't be able to view it unless you put it in" \ 104 | "~/Library/Documentation/Help or install it in your application" \ 105 | "bundle." 106 | 107 | .PHONY: devhelp 108 | devhelp: 109 | $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp 110 | @echo 111 | @echo "Build finished." 112 | @echo "To view the help file:" 113 | @echo "# mkdir -p $$HOME/.local/share/devhelp/OASATelematicsAPI" 114 | @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/OASATelematicsAPI" 115 | @echo "# devhelp" 116 | 117 | .PHONY: epub 118 | epub: 119 | $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub 120 | @echo 121 | @echo "Build finished. The epub file is in $(BUILDDIR)/epub." 122 | 123 | .PHONY: epub3 124 | epub3: 125 | $(SPHINXBUILD) -b epub3 $(ALLSPHINXOPTS) $(BUILDDIR)/epub3 126 | @echo 127 | @echo "Build finished. The epub3 file is in $(BUILDDIR)/epub3." 128 | 129 | .PHONY: latex 130 | latex: 131 | $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex 132 | @echo 133 | @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." 134 | @echo "Run \`make' in that directory to run these through (pdf)latex" \ 135 | "(use \`make latexpdf' here to do that automatically)." 136 | 137 | .PHONY: latexpdf 138 | latexpdf: 139 | $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex 140 | @echo "Running LaTeX files through pdflatex..." 141 | $(MAKE) -C $(BUILDDIR)/latex all-pdf 142 | @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." 143 | 144 | .PHONY: latexpdfja 145 | latexpdfja: 146 | $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex 147 | @echo "Running LaTeX files through platex and dvipdfmx..." 148 | $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja 149 | @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." 150 | 151 | .PHONY: text 152 | text: 153 | $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text 154 | @echo 155 | @echo "Build finished. The text files are in $(BUILDDIR)/text." 156 | 157 | .PHONY: man 158 | man: 159 | $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man 160 | @echo 161 | @echo "Build finished. The manual pages are in $(BUILDDIR)/man." 162 | 163 | .PHONY: texinfo 164 | texinfo: 165 | $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo 166 | @echo 167 | @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." 168 | @echo "Run \`make' in that directory to run these through makeinfo" \ 169 | "(use \`make info' here to do that automatically)." 170 | 171 | .PHONY: info 172 | info: 173 | $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo 174 | @echo "Running Texinfo files through makeinfo..." 175 | make -C $(BUILDDIR)/texinfo info 176 | @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." 177 | 178 | .PHONY: gettext 179 | gettext: 180 | $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale 181 | @echo 182 | @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." 183 | 184 | .PHONY: changes 185 | changes: 186 | $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes 187 | @echo 188 | @echo "The overview file is in $(BUILDDIR)/changes." 189 | 190 | .PHONY: linkcheck 191 | linkcheck: 192 | $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck 193 | @echo 194 | @echo "Link check complete; look for any errors in the above output " \ 195 | "or in $(BUILDDIR)/linkcheck/output.txt." 196 | 197 | .PHONY: doctest 198 | doctest: 199 | $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest 200 | @echo "Testing of doctests in the sources finished, look at the " \ 201 | "results in $(BUILDDIR)/doctest/output.txt." 202 | 203 | .PHONY: coverage 204 | coverage: 205 | $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage 206 | @echo "Testing of coverage in the sources finished, look at the " \ 207 | "results in $(BUILDDIR)/coverage/python.txt." 208 | 209 | .PHONY: xml 210 | xml: 211 | $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml 212 | @echo 213 | @echo "Build finished. The XML files are in $(BUILDDIR)/xml." 214 | 215 | .PHONY: pseudoxml 216 | pseudoxml: 217 | $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml 218 | @echo 219 | @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." 220 | 221 | .PHONY: dummy 222 | dummy: 223 | $(SPHINXBUILD) -b dummy $(ALLSPHINXOPTS) $(BUILDDIR)/dummy 224 | @echo 225 | @echo "Build finished. Dummy builder generates no files." 226 | -------------------------------------------------------------------------------- /docs/make.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | REM Command file for Sphinx documentation 4 | 5 | if "%SPHINXBUILD%" == "" ( 6 | set SPHINXBUILD=sphinx-build 7 | ) 8 | set BUILDDIR=build 9 | set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% source 10 | set I18NSPHINXOPTS=%SPHINXOPTS% source 11 | if NOT "%PAPER%" == "" ( 12 | set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% 13 | set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% 14 | ) 15 | 16 | if "%1" == "" goto help 17 | 18 | if "%1" == "help" ( 19 | :help 20 | echo.Please use `make ^` where ^ is one of 21 | echo. html to make standalone HTML files 22 | echo. dirhtml to make HTML files named index.html in directories 23 | echo. singlehtml to make a single large HTML file 24 | echo. pickle to make pickle files 25 | echo. json to make JSON files 26 | echo. htmlhelp to make HTML files and a HTML help project 27 | echo. qthelp to make HTML files and a qthelp project 28 | echo. devhelp to make HTML files and a Devhelp project 29 | echo. epub to make an epub 30 | echo. epub3 to make an epub3 31 | echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter 32 | echo. text to make text files 33 | echo. man to make manual pages 34 | echo. texinfo to make Texinfo files 35 | echo. gettext to make PO message catalogs 36 | echo. changes to make an overview over all changed/added/deprecated items 37 | echo. xml to make Docutils-native XML files 38 | echo. pseudoxml to make pseudoxml-XML files for display purposes 39 | echo. linkcheck to check all external links for integrity 40 | echo. doctest to run all doctests embedded in the documentation if enabled 41 | echo. coverage to run coverage check of the documentation if enabled 42 | echo. dummy to check syntax errors of document sources 43 | goto end 44 | ) 45 | 46 | if "%1" == "clean" ( 47 | for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i 48 | del /q /s %BUILDDIR%\* 49 | goto end 50 | ) 51 | 52 | 53 | REM Check if sphinx-build is available and fallback to Python version if any 54 | %SPHINXBUILD% 1>NUL 2>NUL 55 | if errorlevel 9009 goto sphinx_python 56 | goto sphinx_ok 57 | 58 | :sphinx_python 59 | 60 | set SPHINXBUILD=python -m sphinx.__init__ 61 | %SPHINXBUILD% 2> nul 62 | if errorlevel 9009 ( 63 | echo. 64 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx 65 | echo.installed, then set the SPHINXBUILD environment variable to point 66 | echo.to the full path of the 'sphinx-build' executable. Alternatively you 67 | echo.may add the Sphinx directory to PATH. 68 | echo. 69 | echo.If you don't have Sphinx installed, grab it from 70 | echo.http://sphinx-doc.org/ 71 | exit /b 1 72 | ) 73 | 74 | :sphinx_ok 75 | 76 | 77 | if "%1" == "html" ( 78 | %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html 79 | if errorlevel 1 exit /b 1 80 | echo. 81 | echo.Build finished. The HTML pages are in %BUILDDIR%/html. 82 | goto end 83 | ) 84 | 85 | if "%1" == "dirhtml" ( 86 | %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml 87 | if errorlevel 1 exit /b 1 88 | echo. 89 | echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. 90 | goto end 91 | ) 92 | 93 | if "%1" == "singlehtml" ( 94 | %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml 95 | if errorlevel 1 exit /b 1 96 | echo. 97 | echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. 98 | goto end 99 | ) 100 | 101 | if "%1" == "pickle" ( 102 | %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle 103 | if errorlevel 1 exit /b 1 104 | echo. 105 | echo.Build finished; now you can process the pickle files. 106 | goto end 107 | ) 108 | 109 | if "%1" == "json" ( 110 | %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json 111 | if errorlevel 1 exit /b 1 112 | echo. 113 | echo.Build finished; now you can process the JSON files. 114 | goto end 115 | ) 116 | 117 | if "%1" == "htmlhelp" ( 118 | %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp 119 | if errorlevel 1 exit /b 1 120 | echo. 121 | echo.Build finished; now you can run HTML Help Workshop with the ^ 122 | .hhp project file in %BUILDDIR%/htmlhelp. 123 | goto end 124 | ) 125 | 126 | if "%1" == "qthelp" ( 127 | %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp 128 | if errorlevel 1 exit /b 1 129 | echo. 130 | echo.Build finished; now you can run "qcollectiongenerator" with the ^ 131 | .qhcp project file in %BUILDDIR%/qthelp, like this: 132 | echo.^> qcollectiongenerator %BUILDDIR%\qthelp\OASATelematicsAPI.qhcp 133 | echo.To view the help file: 134 | echo.^> assistant -collectionFile %BUILDDIR%\qthelp\OASATelematicsAPI.ghc 135 | goto end 136 | ) 137 | 138 | if "%1" == "devhelp" ( 139 | %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp 140 | if errorlevel 1 exit /b 1 141 | echo. 142 | echo.Build finished. 143 | goto end 144 | ) 145 | 146 | if "%1" == "epub" ( 147 | %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub 148 | if errorlevel 1 exit /b 1 149 | echo. 150 | echo.Build finished. The epub file is in %BUILDDIR%/epub. 151 | goto end 152 | ) 153 | 154 | if "%1" == "epub3" ( 155 | %SPHINXBUILD% -b epub3 %ALLSPHINXOPTS% %BUILDDIR%/epub3 156 | if errorlevel 1 exit /b 1 157 | echo. 158 | echo.Build finished. The epub3 file is in %BUILDDIR%/epub3. 159 | goto end 160 | ) 161 | 162 | if "%1" == "latex" ( 163 | %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex 164 | if errorlevel 1 exit /b 1 165 | echo. 166 | echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. 167 | goto end 168 | ) 169 | 170 | if "%1" == "latexpdf" ( 171 | %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex 172 | cd %BUILDDIR%/latex 173 | make all-pdf 174 | cd %~dp0 175 | echo. 176 | echo.Build finished; the PDF files are in %BUILDDIR%/latex. 177 | goto end 178 | ) 179 | 180 | if "%1" == "latexpdfja" ( 181 | %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex 182 | cd %BUILDDIR%/latex 183 | make all-pdf-ja 184 | cd %~dp0 185 | echo. 186 | echo.Build finished; the PDF files are in %BUILDDIR%/latex. 187 | goto end 188 | ) 189 | 190 | if "%1" == "text" ( 191 | %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text 192 | if errorlevel 1 exit /b 1 193 | echo. 194 | echo.Build finished. The text files are in %BUILDDIR%/text. 195 | goto end 196 | ) 197 | 198 | if "%1" == "man" ( 199 | %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man 200 | if errorlevel 1 exit /b 1 201 | echo. 202 | echo.Build finished. The manual pages are in %BUILDDIR%/man. 203 | goto end 204 | ) 205 | 206 | if "%1" == "texinfo" ( 207 | %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo 208 | if errorlevel 1 exit /b 1 209 | echo. 210 | echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. 211 | goto end 212 | ) 213 | 214 | if "%1" == "gettext" ( 215 | %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale 216 | if errorlevel 1 exit /b 1 217 | echo. 218 | echo.Build finished. The message catalogs are in %BUILDDIR%/locale. 219 | goto end 220 | ) 221 | 222 | if "%1" == "changes" ( 223 | %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes 224 | if errorlevel 1 exit /b 1 225 | echo. 226 | echo.The overview file is in %BUILDDIR%/changes. 227 | goto end 228 | ) 229 | 230 | if "%1" == "linkcheck" ( 231 | %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck 232 | if errorlevel 1 exit /b 1 233 | echo. 234 | echo.Link check complete; look for any errors in the above output ^ 235 | or in %BUILDDIR%/linkcheck/output.txt. 236 | goto end 237 | ) 238 | 239 | if "%1" == "doctest" ( 240 | %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest 241 | if errorlevel 1 exit /b 1 242 | echo. 243 | echo.Testing of doctests in the sources finished, look at the ^ 244 | results in %BUILDDIR%/doctest/output.txt. 245 | goto end 246 | ) 247 | 248 | if "%1" == "coverage" ( 249 | %SPHINXBUILD% -b coverage %ALLSPHINXOPTS% %BUILDDIR%/coverage 250 | if errorlevel 1 exit /b 1 251 | echo. 252 | echo.Testing of coverage in the sources finished, look at the ^ 253 | results in %BUILDDIR%/coverage/python.txt. 254 | goto end 255 | ) 256 | 257 | if "%1" == "xml" ( 258 | %SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml 259 | if errorlevel 1 exit /b 1 260 | echo. 261 | echo.Build finished. The XML files are in %BUILDDIR%/xml. 262 | goto end 263 | ) 264 | 265 | if "%1" == "pseudoxml" ( 266 | %SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml 267 | if errorlevel 1 exit /b 1 268 | echo. 269 | echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml. 270 | goto end 271 | ) 272 | 273 | if "%1" == "dummy" ( 274 | %SPHINXBUILD% -b dummy %ALLSPHINXOPTS% %BUILDDIR%/dummy 275 | if errorlevel 1 exit /b 1 276 | echo. 277 | echo.Build finished. Dummy builder generates no files. 278 | goto end 279 | ) 280 | 281 | :end -------------------------------------------------------------------------------- /docs/source/conf.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | # 4 | # OASA Telematics API documentation build configuration file, created by 5 | # sphinx-quickstart on Tue Jul 12 15:01:15 2016. 6 | # 7 | # This file is execfile()d with the current directory set to its 8 | # containing dir. 9 | # 10 | # Note that not all possible configuration values are present in this 11 | # autogenerated file. 12 | # 13 | # All configuration values have a default; values that are commented out 14 | # serve to show the default. 15 | 16 | # If extensions (or modules to document with autodoc) are in another directory, 17 | # add these directories to sys.path here. If the directory is relative to the 18 | # documentation root, use os.path.abspath to make it absolute, like shown here. 19 | # 20 | # import os 21 | # import sys 22 | # sys.path.insert(0, os.path.abspath('.')) 23 | 24 | # -- General configuration ------------------------------------------------ 25 | 26 | # If your documentation needs a minimal Sphinx version, state it here. 27 | # 28 | # needs_sphinx = '1.0' 29 | 30 | # Add any Sphinx extension module names here, as strings. They can be 31 | # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom 32 | # ones. 33 | extensions = [] 34 | 35 | # Add any paths that contain templates here, relative to this directory. 36 | templates_path = ['_templates'] 37 | 38 | # The suffix(es) of source filenames. 39 | # You can specify multiple suffix as a list of string: 40 | # 41 | # source_suffix = ['.rst', '.md'] 42 | source_suffix = '.rst' 43 | 44 | # The encoding of source files. 45 | # 46 | # source_encoding = 'utf-8-sig' 47 | 48 | # The master toctree document. 49 | master_doc = 'index' 50 | 51 | # General information about the project. 52 | project = 'OASA Telematics API' 53 | copyright = '2016, Giannis Papaioannou' 54 | author = 'Giannis Papaioannou' 55 | 56 | # The version info for the project you're documenting, acts as replacement for 57 | # |version| and |release|, also used in various other places throughout the 58 | # built documents. 59 | # 60 | # The short X.Y version. 61 | version = '0.1' 62 | # The full version, including alpha/beta/rc tags. 63 | release = '0.1' 64 | 65 | # The language for content autogenerated by Sphinx. Refer to documentation 66 | # for a list of supported languages. 67 | # 68 | # This is also used if you do content translation via gettext catalogs. 69 | # Usually you set "language" from the command line for these cases. 70 | language = None 71 | 72 | # There are two options for replacing |today|: either, you set today to some 73 | # non-false value, then it is used: 74 | # 75 | # today = '' 76 | # 77 | # Else, today_fmt is used as the format for a strftime call. 78 | # 79 | # today_fmt = '%B %d, %Y' 80 | 81 | # List of patterns, relative to source directory, that match files and 82 | # directories to ignore when looking for source files. 83 | # This patterns also effect to html_static_path and html_extra_path 84 | exclude_patterns = [] 85 | 86 | # The reST default role (used for this markup: `text`) to use for all 87 | # documents. 88 | # 89 | # default_role = None 90 | 91 | # If true, '()' will be appended to :func: etc. cross-reference text. 92 | # 93 | # add_function_parentheses = True 94 | 95 | # If true, the current module name will be prepended to all description 96 | # unit titles (such as .. function::). 97 | # 98 | # add_module_names = True 99 | 100 | # If true, sectionauthor and moduleauthor directives will be shown in the 101 | # output. They are ignored by default. 102 | # 103 | # show_authors = False 104 | 105 | # The name of the Pygments (syntax highlighting) style to use. 106 | pygments_style = 'sphinx' 107 | 108 | # A list of ignored prefixes for module index sorting. 109 | # modindex_common_prefix = [] 110 | 111 | # If true, keep warnings as "system message" paragraphs in the built documents. 112 | # keep_warnings = False 113 | 114 | # If true, `todo` and `todoList` produce output, else they produce nothing. 115 | todo_include_todos = False 116 | 117 | 118 | # -- Options for HTML output ---------------------------------------------- 119 | 120 | # The theme to use for HTML and HTML Help pages. See the documentation for 121 | # a list of builtin themes. 122 | # 123 | html_theme = 'alabaster' 124 | 125 | # Theme options are theme-specific and customize the look and feel of a theme 126 | # further. For a list of options available for each theme, see the 127 | # documentation. 128 | # 129 | # html_theme_options = {} 130 | 131 | # Add any paths that contain custom themes here, relative to this directory. 132 | # html_theme_path = [] 133 | 134 | # The name for this set of Sphinx documents. 135 | # " v documentation" by default. 136 | # 137 | # html_title = 'OASA Telematics API v0.1' 138 | 139 | # A shorter title for the navigation bar. Default is the same as html_title. 140 | # 141 | # html_short_title = None 142 | 143 | # The name of an image file (relative to this directory) to place at the top 144 | # of the sidebar. 145 | # 146 | # html_logo = None 147 | 148 | # The name of an image file (relative to this directory) to use as a favicon of 149 | # the docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 150 | # pixels large. 151 | # 152 | # html_favicon = None 153 | 154 | # Add any paths that contain custom static files (such as style sheets) here, 155 | # relative to this directory. They are copied after the builtin static files, 156 | # so a file named "default.css" will overwrite the builtin "default.css". 157 | html_static_path = [] 158 | 159 | # Add any extra paths that contain custom files (such as robots.txt or 160 | # .htaccess) here, relative to this directory. These files are copied 161 | # directly to the root of the documentation. 162 | # 163 | # html_extra_path = [] 164 | 165 | # If not None, a 'Last updated on:' timestamp is inserted at every page 166 | # bottom, using the given strftime format. 167 | # The empty string is equivalent to '%b %d, %Y'. 168 | # 169 | # html_last_updated_fmt = None 170 | 171 | # If true, SmartyPants will be used to convert quotes and dashes to 172 | # typographically correct entities. 173 | # 174 | # html_use_smartypants = True 175 | 176 | # Custom sidebar templates, maps document names to template names. 177 | # 178 | # html_sidebars = {} 179 | html_sidebars = { '**': ['globaltoc.html', 'relations.html', 'sourcelink.html', 'searchbox.html'], } 180 | # Additional templates that should be rendered to pages, maps page names to 181 | # template names. 182 | # 183 | # html_additional_pages = {} 184 | 185 | # If false, no module index is generated. 186 | # 187 | # html_domain_indices = True 188 | 189 | # If false, no index is generated. 190 | # 191 | # html_use_index = True 192 | 193 | # If true, the index is split into individual pages for each letter. 194 | # 195 | # html_split_index = False 196 | 197 | # If true, links to the reST sources are added to the pages. 198 | # 199 | # html_show_sourcelink = True 200 | 201 | # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. 202 | # 203 | # html_show_sphinx = True 204 | 205 | # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. 206 | # 207 | # html_show_copyright = True 208 | 209 | # If true, an OpenSearch description file will be output, and all pages will 210 | # contain a tag referring to it. The value of this option must be the 211 | # base URL from which the finished HTML is served. 212 | # 213 | # html_use_opensearch = '' 214 | 215 | # This is the file name suffix for HTML files (e.g. ".xhtml"). 216 | # html_file_suffix = None 217 | 218 | # Language to be used for generating the HTML full-text search index. 219 | # Sphinx supports the following languages: 220 | # 'da', 'de', 'en', 'es', 'fi', 'fr', 'h', 'it', 'ja' 221 | # 'nl', 'no', 'pt', 'ro', 'r', 'sv', 'tr', 'zh' 222 | # 223 | # html_search_language = 'en' 224 | 225 | # A dictionary with options for the search language support, empty by default. 226 | # 'ja' uses this config value. 227 | # 'zh' user can custom change `jieba` dictionary path. 228 | # 229 | # html_search_options = {'type': 'default'} 230 | 231 | # The name of a javascript file (relative to the configuration directory) that 232 | # implements a search results scorer. If empty, the default will be used. 233 | # 234 | # html_search_scorer = 'scorer.js' 235 | 236 | # Output file base name for HTML help builder. 237 | htmlhelp_basename = 'OASATelematicsAPIdoc' 238 | 239 | # -- Options for LaTeX output --------------------------------------------- 240 | 241 | latex_elements = { 242 | # The paper size ('letterpaper' or 'a4paper'). 243 | # 244 | # 'papersize': 'letterpaper', 245 | 246 | # The font size ('10pt', '11pt' or '12pt'). 247 | # 248 | # 'pointsize': '10pt', 249 | 250 | # Additional stuff for the LaTeX preamble. 251 | # 252 | # 'preamble': '', 253 | 254 | # Latex figure (float) alignment 255 | # 256 | # 'figure_align': 'htbp', 257 | } 258 | 259 | # Grouping the document tree into LaTeX files. List of tuples 260 | # (source start file, target name, title, 261 | # author, documentclass [howto, manual, or own class]). 262 | latex_documents = [ 263 | (master_doc, 'OASATelematicsAPI.tex', 'OASA Telematics API Documentation', 264 | 'Giannis Papaioannou', 'manual'), 265 | ] 266 | 267 | # The name of an image file (relative to this directory) to place at the top of 268 | # the title page. 269 | # 270 | # latex_logo = None 271 | 272 | # For "manual" documents, if this is true, then toplevel headings are parts, 273 | # not chapters. 274 | # 275 | # latex_use_parts = False 276 | 277 | # If true, show page references after internal links. 278 | # 279 | # latex_show_pagerefs = False 280 | 281 | # If true, show URL addresses after external links. 282 | # 283 | # latex_show_urls = False 284 | 285 | # Documents to append as an appendix to all manuals. 286 | # 287 | # latex_appendices = [] 288 | 289 | # If false, no module index is generated. 290 | # 291 | # latex_domain_indices = True 292 | 293 | 294 | # -- Options for manual page output --------------------------------------- 295 | 296 | # One entry per manual page. List of tuples 297 | # (source start file, name, description, authors, manual section). 298 | man_pages = [ 299 | (master_doc, 'oasatelematicsapi', 'OASA Telematics API Documentation', 300 | [author], 1) 301 | ] 302 | 303 | # If true, show URL addresses after external links. 304 | # 305 | # man_show_urls = False 306 | 307 | 308 | # -- Options for Texinfo output ------------------------------------------- 309 | 310 | # Grouping the document tree into Texinfo files. List of tuples 311 | # (source start file, target name, title, author, 312 | # dir menu entry, description, category) 313 | texinfo_documents = [ 314 | (master_doc, 'OASATelematicsAPI', 'OASA Telematics API Documentation', 315 | author, 'OASATelematicsAPI', 'One line description of project.', 316 | 'Miscellaneous'), 317 | ] 318 | 319 | # Documents to append as an appendix to all manuals. 320 | # 321 | # texinfo_appendices = [] 322 | 323 | # If false, no module index is generated. 324 | # 325 | # texinfo_domain_indices = True 326 | 327 | # How to display URL addresses: 'footnote', 'no', or 'inline'. 328 | # 329 | # texinfo_show_urls = 'footnote' 330 | 331 | # If true, do not generate a @detailmenu in the "Top" node's menu. 332 | # 333 | # texinfo_no_detailmenu = False 334 | --------------------------------------------------------------------------------