Probably a fix for #2

This commit is contained in:
Profitroll 2023-11-19 12:19:31 +01:00
parent 819bd5ff40
commit eb9a043c34
Signed by: profitroll
GPG Key ID: FA35CAB49DACD3B2
6 changed files with 26 additions and 29 deletions

View File

@ -21,14 +21,10 @@ trip = client.trip_find(origin_id=origin.id, dest_id=destination.id)
""" """
__name__ = "pyrmv" __name__ = "pyrmv"
__version__ = "0.3.4" __version__ = "0.3.5"
__license__ = "MIT License" __license__ = "MIT License"
__author__ = "Profitroll" __author__ = "Profitroll"
from . import raw from . import const, enums, errors, raw, utility
from . import const
from . import enums
from . import errors
from . import utility
from .classes import * from .classes import *
from .classes.Client import Client from .classes.Client import Client

View File

@ -7,8 +7,10 @@ class LineArrival():
self.journey = client.journey_detail(data["JourneyDetailRef"]["ref"]) self.journey = client.journey_detail(data["JourneyDetailRef"]["ref"])
self.status = data["JourneyStatus"] self.status = data["JourneyStatus"]
self.messages = [] self.messages = []
for message in data["Messages"]["Message"]: if "Messages" in data:
self.messages.append(Message(message)) self.messages.extend(
Message(message) for message in data["Messages"]["Message"]
)
self.name = data["name"] self.name = data["name"]
self.type = data["type"] self.type = data["type"]
self.stop_name = data["stop"] self.stop_name = data["stop"]
@ -36,8 +38,10 @@ class LineDeparture():
self.journey = client.journey_detail(data["JourneyDetailRef"]["ref"]) self.journey = client.journey_detail(data["JourneyDetailRef"]["ref"])
self.status = data["JourneyStatus"] self.status = data["JourneyStatus"]
self.messages = [] self.messages = []
for message in data["Messages"]["Message"]: if "Messages" in data:
self.messages.append(Message(message)) self.messages.extend(
Message(message) for message in data["Messages"]["Message"]
)
self.name = data["name"] self.name = data["name"]
self.type = data["type"] self.type = data["type"]
self.stop_name = data["stop"] self.stop_name = data["stop"]

View File

@ -11,11 +11,12 @@ class Journey():
self.direction_flag = data["Directions"]["Direction"][0]["flag"] self.direction_flag = data["Directions"]["Direction"][0]["flag"]
self.messages = [] self.messages = []
for stop in data["Stops"]["Stop"]: self.stops.extend(Stop(stop) for stop in data["Stops"]["Stop"])
self.stops.append(Stop(stop))
for message in data["Messages"]["Message"]: if "Messages" in data:
self.messages.append(Message(message)) self.messages.extend(
Message(message) for message in data["Messages"]["Message"]
)
def __str__(self) -> str: def __str__(self) -> str:
return f"Journey with total of {len(self.stops)} stops and {len(self.messages)} messages heading {self.direction} ({self.direction_flag})" return f"Journey with total of {len(self.stops)} stops and {len(self.messages)} messages heading {self.direction} ({self.direction_flag})"

View File

@ -61,7 +61,7 @@ class Message():
self.text = data["text"] self.text = data["text"]
self.company = data["company"] self.company = data["company"]
self.category = data["category"] self.category = data["category"]
self.priority = data["priority"] self.priority = None if "priority" not in data else data["priority"]
self.products = data["products"] self.products = data["products"]
self.icon = data["icon"] self.icon = data["icon"]
self.time_start = datetime.strptime(data["sTime"], "%H:%M:%S") self.time_start = datetime.strptime(data["sTime"], "%H:%M:%S")

View File

@ -1,3 +1,3 @@
requests requests~=2.31.0
xmltodict xmltodict~=0.13.0
isodate isodate~=0.6.1

View File

@ -2,7 +2,7 @@ from setuptools import setup
setup( setup(
name="pyrmv", name="pyrmv",
version="0.3.4", version="0.3.5",
author="Profitroll", author="Profitroll",
description="Small module that makes your journey with RMV REST API somehow easier.", description="Small module that makes your journey with RMV REST API somehow easier.",
long_description="Small module that makes your journey with RMV REST API somehow easier. Based fully on official RMV API reference and HAFAS documentation.\n\n## Requirements\n\n* RMV API key (Get it [here](https://opendata.rmv.de/site/start.html))\n* Python3 (Tested versions are 3.7.9 and 3.9.13)\n* git (Only for installation from source)\n\n## Installation\n\nIf you have everything listed in [requirements](#requirements), then let's begin.\n\n### Variant 1\n\n1. `python -m pip install pyrmv`\n\n### Variant 2\n\n1. `git clone https://git.end-play.xyz/profitroll/PythonRMV.git`\n2. `cd PythonRMV`\n3. `python setup.py install`\n\n## Usage\n\n```py\nimport pyrmv\n\n# Define a Client with API key\nclient = pyrmv.Client(\"AcessId\")\n\n# Get origin's and destination's location\norigin = client.stop_by_name(\"Frankfurt Hauptbahnhof\", max_number=3)[0]\ndestination = client.stop_by_coords(50.099613, 8.685449, max_number=3)[0]\n\n# Find a trip by locations got\ntrip = client.trip_find(origin_id=origin.id, dest_id=destination.id)\n```\n\n## Frequently Asked Questions\n\n* [Why are there raw versions and formatted ones?](#why-are-there-raw-versions-and-formatted-ones)\n* [Some methods work slightly different](#some-methods-work-slightly-different)\n\n### Why are there raw versions and formatted ones?\n\nFor the purposes of my projects I don't really need all the stuff RMV gives (even though it's not much).\nI only need some specific things. However I do understand that in some cases other users may find\nthose methods quite useful so I implemented them as well.\n\n### Some methods work slightly different\n\nCan be. Not all function arguments written may work perfectly because I simply did not test each and\nevery request. Some of arguments may be irrelevant in my use-case and the others are used quite rare at all.\nJust [make an issue](https://git.end-play.xyz/profitroll/PythonRMV/issues/new) and I'll implement it correct when I'll have some free time.\n\n## To-Do\n\n### General\n\n* [ ] Docs in Wiki\n* [ ] Tickets", long_description="Small module that makes your journey with RMV REST API somehow easier. Based fully on official RMV API reference and HAFAS documentation.\n\n## Requirements\n\n* RMV API key (Get it [here](https://opendata.rmv.de/site/start.html))\n* Python3 (Tested versions are 3.7.9 and 3.9.13)\n* git (Only for installation from source)\n\n## Installation\n\nIf you have everything listed in [requirements](#requirements), then let's begin.\n\n### Variant 1\n\n1. `python -m pip install pyrmv`\n\n### Variant 2\n\n1. `git clone https://git.end-play.xyz/profitroll/PythonRMV.git`\n2. `cd PythonRMV`\n3. `python setup.py install`\n\n## Usage\n\n```py\nimport pyrmv\n\n# Define a Client with API key\nclient = pyrmv.Client(\"AcessId\")\n\n# Get origin's and destination's location\norigin = client.stop_by_name(\"Frankfurt Hauptbahnhof\", max_number=3)[0]\ndestination = client.stop_by_coords(50.099613, 8.685449, max_number=3)[0]\n\n# Find a trip by locations got\ntrip = client.trip_find(origin_id=origin.id, dest_id=destination.id)\n```\n\n## Frequently Asked Questions\n\n* [Why are there raw versions and formatted ones?](#why-are-there-raw-versions-and-formatted-ones)\n* [Some methods work slightly different](#some-methods-work-slightly-different)\n\n### Why are there raw versions and formatted ones?\n\nFor the purposes of my projects I don't really need all the stuff RMV gives (even though it's not much).\nI only need some specific things. However I do understand that in some cases other users may find\nthose methods quite useful so I implemented them as well.\n\n### Some methods work slightly different\n\nCan be. Not all function arguments written may work perfectly because I simply did not test each and\nevery request. Some of arguments may be irrelevant in my use-case and the others are used quite rare at all.\nJust [make an issue](https://git.end-play.xyz/profitroll/PythonRMV/issues/new) and I'll implement it correct when I'll have some free time.\n\n## To-Do\n\n### General\n\n* [ ] Docs in Wiki\n* [ ] Tickets",
@ -21,13 +21,9 @@ setup(
"pyrmv.enums", "pyrmv.enums",
"pyrmv.errors", "pyrmv.errors",
"pyrmv.utility", "pyrmv.utility",
"pyrmv.classes" "pyrmv.classes",
],
install_requires=[
"requests",
"xmltodict",
"isodate"
], ],
install_requires=["requests", "xmltodict", "isodate"],
classifiers=[ classifiers=[
"Development Status :: 3 - Alpha", "Development Status :: 3 - Alpha",
"Intended Audience :: Developers", "Intended Audience :: Developers",
@ -35,6 +31,6 @@ setup(
"Operating System :: OS Independent", "Operating System :: OS Independent",
"Programming Language :: Python :: 3", "Programming Language :: Python :: 3",
"Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Utilities" "Topic :: Utilities",
] ],
) )