27 Commits

Author SHA1 Message Date
608d3a775c Update dependency tox to v4.23.2
All checks were successful
Tests / test (3.11) (pull_request) Successful in -1m16s
Tests / test (3.8) (pull_request) Successful in -1m13s
Tests / test (3.10) (pull_request) Successful in -1m16s
Tests / test (3.12) (pull_request) Successful in -1m7s
Tests / test (3.9) (pull_request) Successful in -1m16s
Tests / test (3.10) (push) Successful in -1m17s
Tests / test (3.11) (push) Successful in -1m21s
Tests / test (3.12) (push) Successful in -1m7s
Tests / test (3.8) (push) Successful in -1m18s
Tests / test (3.9) (push) Successful in -1m16s
2024-10-22 18:12:10 +03:00
94034a1b1a Merge pull request 'Update dependency tox to v4.23.0' (#66) from renovate/tox-4.x into dev
Some checks failed
Tests / test (3.10) (push) Successful in -53s
Tests / test (3.11) (push) Failing after -58s
Tests / test (3.12) (push) Successful in -45s
Tests / test (3.8) (push) Failing after -57s
Tests / test (3.9) (push) Successful in -56s
Reviewed-on: #66
2024-10-17 09:55:43 +03:00
ed735fa605 Update dependency tox to v4.23.0
All checks were successful
Tests / test (3.11) (pull_request) Successful in -56s
Tests / test (3.12) (pull_request) Successful in -40s
Tests / test (3.8) (pull_request) Successful in -48s
Tests / test (3.9) (pull_request) Successful in -54s
Tests / test (3.10) (pull_request) Successful in -54s
2024-10-17 07:40:09 +03:00
5699a7ce86 Update dependency tox to v4.22.0
Some checks failed
Tests / test (3.10) (pull_request) Successful in -44s
Tests / test (3.11) (pull_request) Successful in -45s
Tests / test (3.12) (pull_request) Successful in -32s
Tests / test (3.8) (pull_request) Successful in -43s
Tests / test (3.9) (pull_request) Successful in -41s
Tests / test (3.10) (push) Failing after -45s
Tests / test (3.11) (push) Successful in -46s
Tests / test (3.12) (push) Successful in -35s
Tests / test (3.8) (push) Successful in -47s
Tests / test (3.9) (push) Failing after -45s
2024-10-15 22:29:54 +03:00
87d24f3da1 Update dependency mypy to ~=1.12.0
All checks were successful
Tests / test (3.10) (pull_request) Successful in -40s
Tests / test (3.11) (pull_request) Successful in -45s
Tests / test (3.12) (pull_request) Successful in -32s
Tests / test (3.8) (pull_request) Successful in -45s
Tests / test (3.9) (pull_request) Successful in -43s
Tests / test (3.10) (push) Successful in -42s
Tests / test (3.11) (push) Successful in -44s
Tests / test (3.12) (push) Successful in -34s
Tests / test (3.8) (push) Successful in -44s
Tests / test (3.9) (push) Successful in -45s
2024-10-14 15:22:03 +03:00
b64b02b6b4 Update dependency xmltodict to ~=0.14.0
Some checks failed
Tests / test (3.10) (pull_request) Successful in 2s
Tests / test (3.11) (pull_request) Successful in -26s
Tests / test (3.12) (pull_request) Failing after -16s
Tests / test (3.8) (pull_request) Successful in -30s
Tests / test (3.9) (pull_request) Successful in -31s
Tests / test (3.10) (push) Successful in -26s
Tests / test (3.11) (push) Successful in -34s
Tests / test (3.12) (push) Successful in -23s
Tests / test (3.8) (push) Successful in -32s
Tests / test (3.9) (push) Successful in -26s
2024-10-08 22:46:23 +03:00
4a376d0522 Update dependency isodate to ~=0.7.0
All checks were successful
Tests / test (3.10) (pull_request) Successful in -28s
Tests / test (3.11) (pull_request) Successful in -27s
Tests / test (3.12) (pull_request) Successful in -13s
Tests / test (3.8) (pull_request) Successful in -24s
Tests / test (3.9) (pull_request) Successful in -23s
Tests / test (3.10) (push) Successful in -22s
Tests / test (3.11) (push) Successful in -27s
Tests / test (3.12) (push) Successful in -22s
Tests / test (3.8) (push) Successful in -29s
Tests / test (3.9) (push) Successful in -29s
2024-10-08 06:04:32 +03:00
52b86c257d revert 0e89fd0350
All checks were successful
Tests / test (3.10) (push) Successful in -27s
Tests / test (3.11) (push) Successful in -20s
Tests / test (3.12) (push) Successful in -14s
Tests / test (3.8) (push) Successful in -26s
Tests / test (3.9) (push) Successful in -25s
revert Update dependency pylint to ==3.3.1,<3.4.0
2024-10-07 14:21:38 +03:00
0e89fd0350 Update dependency pylint to ==3.3.1,<3.4.0
Some checks failed
Tests / test (3.10) (pull_request) Successful in -21s
Tests / test (3.11) (pull_request) Successful in -21s
Tests / test (3.12) (pull_request) Successful in -15s
Tests / test (3.8) (pull_request) Failing after -1m11s
Tests / test (3.9) (pull_request) Successful in -26s
Tests / test (3.10) (push) Successful in -26s
Tests / test (3.11) (push) Successful in -30s
Tests / test (3.12) (push) Successful in -20s
Tests / test (3.8) (push) Failing after -1m10s
Tests / test (3.9) (push) Successful in -29s
2024-10-07 14:04:03 +03:00
b507a70615 Merge pull request 'Update dependency tox to v4.21.2' (#58) from renovate/tox-4.x into dev
All checks were successful
Tests / test (3.11) (push) Successful in -19s
Tests / test (3.12) (push) Successful in -13s
Tests / test (3.8) (push) Successful in -24s
Tests / test (3.9) (push) Successful in -22s
Tests / test (3.10) (push) Successful in -28s
Reviewed-on: #58
2024-10-07 13:47:40 +03:00
a0b9d2a6da revert f04733c0
All checks were successful
Tests / test (3.10) (push) Successful in -20s
Tests / test (3.11) (push) Successful in -24s
Tests / test (3.12) (push) Successful in -19s
Tests / test (3.8) (push) Successful in -25s
Tests / test (3.9) (push) Successful in -28s
2024-10-07 13:36:11 +03:00
1d78e6c55e Update dependency tox to v4.21.2
Some checks failed
Tests / test (3.11) (pull_request) Successful in -15s
Tests / test (3.12) (pull_request) Successful in -5s
Tests / test (3.9) (pull_request) Successful in -15s
Tests / test (3.10) (pull_request) Successful in -21s
Tests / test (3.8) (pull_request) Failing after -1m9s
2024-10-06 22:23:08 +03:00
affb4007e4 Update dependency build to v1.2.2.post1
Some checks failed
Tests / test (3.10) (pull_request) Successful in -13s
Tests / test (3.11) (pull_request) Successful in -20s
Tests / test (3.12) (pull_request) Successful in -3s
Tests / test (3.8) (pull_request) Failing after -1m6s
Tests / test (3.9) (pull_request) Successful in -13s
Tests / test (3.10) (push) Successful in -11s
Tests / test (3.11) (push) Successful in -16s
Tests / test (3.12) (push) Failing after -3s
Tests / test (3.8) (push) Failing after -1m4s
Tests / test (3.9) (push) Failing after -11s
2024-10-06 21:20:00 +03:00
c8b42ce818 Merge pull request 'Update dependency tox to v4.21.0' (#57) from renovate/tox-4.x into dev
Some checks failed
Tests / test (3.10) (push) Successful in 45s
Tests / test (3.11) (push) Successful in 9s
Tests / test (3.12) (push) Successful in 14s
Tests / test (3.8) (push) Failing after -46s
Tests / test (3.9) (push) Successful in 4s
Reviewed-on: #57
2024-10-01 23:12:54 +03:00
f23beec5ad Update dependency tox to v4.21.0
Some checks failed
Tests / test (3.10) (pull_request) Successful in 11s
Tests / test (3.11) (pull_request) Successful in 1s
Tests / test (3.12) (pull_request) Successful in 12s
Tests / test (3.8) (pull_request) Failing after -41s
Tests / test (3.9) (pull_request) Successful in 7s
2024-10-01 07:40:01 +03:00
87841b4037 Update dependency pylint to v3.3.1
Some checks failed
Tests / test (3.10) (pull_request) Failing after 34s
Tests / test (3.11) (pull_request) Successful in 34s
Tests / test (3.12) (pull_request) Failing after 46s
Tests / test (3.8) (pull_request) Failing after -15s
Tests / test (3.9) (pull_request) Successful in 32s
Tests / test (3.10) (push) Failing after 35s
Tests / test (3.11) (push) Successful in 31s
Tests / test (3.12) (push) Failing after 40s
Tests / test (3.8) (push) Failing after -15s
Tests / test (3.9) (push) Successful in 35s
2024-09-24 15:11:43 +03:00
f04733c093 Update dependency pylint to v3.3.0
Some checks failed
Tests / test (3.10) (pull_request) Successful in 48s
Tests / test (3.11) (pull_request) Failing after 47s
Tests / test (3.12) (pull_request) Failing after 58s
Tests / test (3.8) (pull_request) Failing after -2s
Tests / test (3.9) (pull_request) Successful in 48s
Tests / test (3.10) (push) Failing after 46s
Tests / test (3.11) (push) Failing after 47s
Tests / test (3.12) (push) Successful in 52s
Tests / test (3.8) (push) Failing after 0s
Tests / test (3.9) (push) Failing after 44s
2024-09-20 16:22:59 +03:00
4412dd133c Merge pull request 'Update dependency tox to v4.20.0' (#54) from renovate/tox-4.x into dev
All checks were successful
Tests / test (3.10) (push) Successful in 53s
Tests / test (3.11) (push) Successful in 53s
Tests / test (3.8) (push) Successful in 49s
Tests / test (3.9) (push) Successful in 54s
Tests / test (3.12) (push) Successful in 57s
Reviewed-on: #54
2024-09-19 23:10:15 +03:00
e3a8e385b9 Merge branch 'dev' into renovate/tox-4.x
All checks were successful
Tests / test (3.10) (pull_request) Successful in 49s
Tests / test (3.11) (pull_request) Successful in 48s
Tests / test (3.12) (pull_request) Successful in 57s
Tests / test (3.8) (pull_request) Successful in 46s
Tests / test (3.9) (pull_request) Successful in 52s
2024-09-19 23:10:05 +03:00
dfb472a4e8 Possibly fixed false positives on exception detection
All checks were successful
Tests / test (3.10) (push) Successful in 48s
Tests / test (3.11) (push) Successful in 46s
Tests / test (3.12) (push) Successful in 56s
Tests / test (3.8) (push) Successful in 47s
Tests / test (3.9) (push) Successful in 50s
2024-09-19 22:03:57 +02:00
c06d90b7ce Fixed unavailable Message attributes 2024-09-19 22:03:23 +02:00
9e12b53c3b Trip.duration and Trip.real_time_duration are now nullable 2024-09-19 22:03:02 +02:00
19971e6e71 Fixed a rare bug with locals() being changed during iteration 2024-09-19 21:56:24 +02:00
5f30c68edb Update dependency tox to v4.20.0
Some checks failed
Tests / test (3.10) (pull_request) Successful in 1m44s
Tests / test (3.12) (pull_request) Successful in 1m14s
Tests / test (3.8) (pull_request) Successful in 55s
Tests / test (3.11) (pull_request) Failing after 50s
Tests / test (3.9) (pull_request) Failing after 55s
2024-09-19 06:56:49 +03:00
956c4c30ea Added handling for SVC_PARAM error
Some checks failed
Tests / test (3.10) (push) Successful in 1s
Tests / test (3.11) (push) Successful in 0s
Tests / test (3.12) (push) Failing after 7s
Tests / test (3.8) (push) Successful in -2s
Tests / test (3.9) (push) Successful in -4s
2024-09-15 00:55:16 +02:00
c70982755d Improved and cleaned up imports 2024-09-15 00:54:56 +02:00
483aae38b3 Added Python 3.12 to testing matrix
All checks were successful
Tests / test (3.10) (push) Successful in 23s
Tests / test (3.11) (push) Successful in 25s
Tests / test (3.12) (push) Successful in 1m4s
Tests / test (3.8) (push) Successful in 23s
Tests / test (3.9) (push) Successful in 21s
2024-09-08 01:58:25 +02:00
22 changed files with 63 additions and 66 deletions

View File

@@ -15,7 +15,7 @@ jobs:
container: catthehacker/ubuntu:act-latest container: catthehacker/ubuntu:act-latest
strategy: strategy:
matrix: matrix:
python-version: ["3.8", "3.9", "3.10", "3.11"] python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3

View File

@@ -3,15 +3,6 @@
"extends": [ "extends": [
"config:base" "config:base"
], ],
"baseBranches": [
"dev"
],
"pip_requirements": {
"fileMatch": [
"requirements/.*\\.txt$"
],
"enabled": true
},
"packageRules": [ "packageRules": [
{ {
"matchUpdateTypes": [ "matchUpdateTypes": [

View File

@@ -1,3 +1,3 @@
requests~=2.32.3 requests~=2.32.3
xmltodict~=0.13.0 xmltodict~=0.14.0
isodate~=0.6.1 isodate~=0.7.0

View File

@@ -1,10 +1,10 @@
black~=24.8.0 black~=24.8.0
isort==5.13.2 isort==5.13.2
mypy~=1.11.2 mypy~=1.12.0
pylint==3.2.7 pylint==3.2.7,<3.3.0
pytest-cov~=5.0.0 pytest-cov~=5.0.0
pytest~=8.3.2 pytest~=8.3.2
tox==4.18.1 tox==4.23.2
types-ujson~=5.10.0.20240515 types-ujson~=5.10.0.20240515
# Disabled async libraries for now # Disabled async libraries for now

View File

@@ -1,2 +1,2 @@
build==1.2.2 build==1.2.2.post1
twine~=5.1.1 twine~=5.1.1

View File

@@ -1,10 +1,10 @@
from datetime import datetime from datetime import datetime
from typing import Any, List, Mapping, Union from typing import Any, List, Mapping, Union
from pyrmv.classes.journey import Journey from ..classes.journey import Journey
from pyrmv.classes.message import Message from ..classes.message import Message
from pyrmv.classes.stop import Stop from ..classes.stop import Stop
from pyrmv.utility import ref_upgrade from ..utility import ref_upgrade
class LineArrival: class LineArrival:

View File

@@ -1,7 +1,7 @@
from datetime import datetime, timedelta from datetime import datetime, timedelta
from typing import List, OrderedDict, Union from typing import List, OrderedDict, Union
from pyrmv.classes import ( from ..classes import (
BoardArrival, BoardArrival,
BoardDeparture, BoardDeparture,
Journey, Journey,
@@ -10,7 +10,7 @@ from pyrmv.classes import (
StopTrip, StopTrip,
Trip, Trip,
) )
from pyrmv.enums import ( from ..enums import (
AffectedJourneyMode, AffectedJourneyMode,
AffectedJourneyStopMode, AffectedJourneyStopMode,
BoardArrivalType, BoardArrivalType,
@@ -22,15 +22,15 @@ from pyrmv.enums import (
SearchMode, SearchMode,
SelectionMode, SelectionMode,
) )
from pyrmv.raw import board_arrival as raw_board_arrival from ..raw import board_arrival as raw_board_arrival
from pyrmv.raw import board_departure as raw_board_departure from ..raw import board_departure as raw_board_departure
from pyrmv.raw import him_search as raw_him_search from ..raw import him_search as raw_him_search
from pyrmv.raw import journey_detail as raw_journey_detail from ..raw import journey_detail as raw_journey_detail
from pyrmv.raw import stop_by_coords as raw_stop_by_coords from ..raw import stop_by_coords as raw_stop_by_coords
from pyrmv.raw import stop_by_name as raw_stop_by_name from ..raw import stop_by_name as raw_stop_by_name
from pyrmv.raw import trip_find as raw_trip_find from ..raw import trip_find as raw_trip_find
from pyrmv.raw import trip_recon as raw_trip_recon from ..raw import trip_recon as raw_trip_recon
from pyrmv.utility import find_exception from ..utility import find_exception
try: try:
from typing import Literal from typing import Literal
@@ -150,7 +150,7 @@ class Client:
boardType=board_type.code, boardType=board_type.code,
) )
find_exception(board_raw) find_exception(board_raw.copy())
return BoardArrival( return BoardArrival(
board_raw, board_raw,
@@ -219,7 +219,7 @@ class Client:
boardType=board_type.code, boardType=board_type.code,
) )
find_exception(board_raw) find_exception(board_raw.copy())
return BoardDeparture( return BoardDeparture(
board_raw, board_raw,
@@ -343,7 +343,7 @@ class Client:
minprio=priority_min, minprio=priority_min,
) )
find_exception(messages_raw) find_exception(messages_raw.copy())
if "Message" in messages_raw: if "Message" in messages_raw:
messages.extend(Message(message) for message in messages_raw["Message"]) messages.extend(Message(message) for message in messages_raw["Message"])
@@ -402,7 +402,7 @@ class Client:
toIdx=to_index, toIdx=to_index,
) )
find_exception(journey_raw) find_exception(journey_raw.copy())
return Journey(journey_raw) return Journey(journey_raw)
@@ -481,7 +481,7 @@ class Client:
locationSelectionMode=selection_mode, # type: ignore locationSelectionMode=selection_mode, # type: ignore
) )
find_exception(stops_raw) find_exception(stops_raw.copy())
if "stopLocationOrCoordLocation" in stops_raw: if "stopLocationOrCoordLocation" in stops_raw:
for stop in stops_raw["stopLocationOrCoordLocation"]: for stop in stops_raw["stopLocationOrCoordLocation"]:
@@ -536,7 +536,7 @@ class Client:
accessId=self.access_id, inputString=query, lang=lang.code, maxNo=1 accessId=self.access_id, inputString=query, lang=lang.code, maxNo=1
) )
find_exception(stops_raw) find_exception(stops_raw.copy())
if len(stops_raw["stopLocationOrCoordLocation"]) <= 0: if len(stops_raw["stopLocationOrCoordLocation"]) <= 0:
return None return None
@@ -642,7 +642,7 @@ class Client:
filterMode=filter_mode.code, filterMode=filter_mode.code,
) )
find_exception(stops_raw) find_exception(stops_raw.copy())
if "stopLocationOrCoordLocation" in stops_raw: if "stopLocationOrCoordLocation" in stops_raw:
for stop in stops_raw["stopLocationOrCoordLocation"]: for stop in stops_raw["stopLocationOrCoordLocation"]:
@@ -833,7 +833,7 @@ class Client:
withFreq=frequency, withFreq=frequency,
) )
find_exception(trips_raw) find_exception(trips_raw.copy())
if "Trip" in trips_raw: if "Trip" in trips_raw:
trips.extend(Trip(trip) for trip in trips_raw["Trip"]) trips.extend(Trip(trip) for trip in trips_raw["Trip"])
@@ -913,7 +913,7 @@ class Client:
trafficMessages=messages, trafficMessages=messages,
) )
find_exception(trips_raw) find_exception(trips_raw.copy())
if "Trip" in trips_raw: if "Trip" in trips_raw:
trips.extend(Trip(trip) for trip in trips_raw["Trip"]) trips.extend(Trip(trip) for trip in trips_raw["Trip"])

View File

@@ -1,8 +1,8 @@
from typing import Any, List, Mapping, Union from typing import Any, List, Mapping, Union
from pyrmv.classes.message import Message from ..classes.message import Message
from pyrmv.classes.stop import Stop from ..classes.stop import Stop
from pyrmv.utility import ref_upgrade from ..utility import ref_upgrade
class Journey: class Journey:

View File

@@ -3,9 +3,9 @@ from typing import Any, List, Mapping, Union
from isodate import Duration, parse_duration from isodate import Duration, parse_duration
from pyrmv.classes.gis import Gis from ..classes.gis import Gis
from pyrmv.classes.message import Message from ..classes.message import Message
from pyrmv.classes.stop import StopTrip from ..classes.stop import StopTrip
class Leg: class Leg:

View File

@@ -3,7 +3,7 @@ from typing import Any, List, Mapping, Union
from isodate import Duration, parse_duration from isodate import Duration, parse_duration
from pyrmv.classes.stop import Stop from ..classes.stop import Stop
class Url: class Url:
@@ -59,9 +59,9 @@ class Message:
self.channels.extend(Channel(channel) for channel in data["channel"]) self.channels.extend(Channel(channel) for channel in data["channel"])
self.id: str = data["id"] self.id: str = data["id"]
self.active: bool = data["act"] self.active: bool = data["act"]
self.head: str = data["head"] self.head: str = "" if "head" not in data else data["head"]
self.lead: str = data["lead"] self.lead: str = "" if "lead" not in data else data["lead"]
self.text: str = data["text"] self.text: str = "" if "text" not in data else data["text"]
self.company: Union[str, None] = data.get("company") self.company: Union[str, None] = data.get("company")
self.category: Union[str, None] = data.get("category") self.category: Union[str, None] = data.get("category")
self.priority: Union[int, None] = data.get("priority") self.priority: Union[int, None] = data.get("priority")

View File

@@ -1,6 +1,6 @@
from typing import Any, Mapping, Union from typing import Any, Mapping, Union
from pyrmv.enums.platform_type_type import PlatformTypeType from ..enums.platform_type_type import PlatformTypeType
class PlatformType: class PlatformType:

View File

@@ -3,8 +3,8 @@ from typing import List, Union
from isodate import Duration, parse_duration from isodate import Duration, parse_duration
from pyrmv.classes.leg import Leg from ..classes.leg import Leg
from pyrmv.classes.stop import StopTrip from ..classes.stop import StopTrip
class Trip: class Trip:
@@ -19,8 +19,10 @@ class Trip:
self.index: int = data["idx"] self.index: int = data["idx"]
self.id: str = data["tripId"] self.id: str = data["tripId"]
self.ctx_recon: str = data["ctxRecon"] self.ctx_recon: str = data["ctxRecon"]
self.duration: Union[Duration, timedelta] = parse_duration(data["duration"]) self.duration: Union[Duration, timedelta, None] = (
self.real_time_duration: Union[Duration, timedelta] = ( None if "duration" not in data else parse_duration(data["duration"])
)
self.real_time_duration: Union[Duration, timedelta, None] = (
None if "rtDuration" not in data else parse_duration(data["rtDuration"]) None if "rtDuration" not in data else parse_duration(data["rtDuration"])
) )
self.checksum: str = data["checksum"] self.checksum: str = data["checksum"]

View File

@@ -3,7 +3,7 @@
from enum import Enum from enum import Enum
from pyrmv.const import PRODUCTS from ..const import PRODUCTS
class AutoName(Enum): class AutoName(Enum):

View File

@@ -64,7 +64,7 @@ def board_arrival(
payload = {} payload = {}
headers = {"Accept": "application/json"} if json else {"Accept": "application/xml"} headers = {"Accept": "application/json"} if json else {"Accept": "application/xml"}
for var, val in locals().items(): for var, val in locals().copy().items():
if str(var) == "date": if str(var) == "date":
if val != None: if val != None:
if isinstance(val, datetime): if isinstance(val, datetime):

View File

@@ -65,7 +65,7 @@ def board_departure(
payload = {} payload = {}
headers = {"Accept": "application/json"} if json else {"Accept": "application/xml"} headers = {"Accept": "application/json"} if json else {"Accept": "application/xml"}
for var, val in locals().items(): for var, val in locals().copy().items():
if str(var) == "date": if str(var) == "date":
if val != None: if val != None:
if isinstance(val, datetime): if isinstance(val, datetime):

View File

@@ -4,7 +4,7 @@ from typing import OrderedDict, Union
from requests import get from requests import get
from xmltodict import parse as xmlparse from xmltodict import parse as xmlparse
from pyrmv.utility import weekdays_bitmask from ..utility import weekdays_bitmask
try: try:
from typing import Literal from typing import Literal
@@ -97,7 +97,7 @@ def him_search(
payload = {} payload = {}
headers = {"Accept": "application/json"} if json else {"Accept": "application/xml"} headers = {"Accept": "application/json"} if json else {"Accept": "application/xml"}
for var, val in locals().items(): for var, val in locals().copy().items():
if str(var) in {"dateB", "dateE"}: if str(var) in {"dateB", "dateE"}:
if val != None: if val != None:
if isinstance(val, datetime): if isinstance(val, datetime):

View File

@@ -55,7 +55,7 @@ def journey_detail(
payload = {} payload = {}
headers = {"Accept": "application/json"} if json else {"Accept": "application/xml"} headers = {"Accept": "application/json"} if json else {"Accept": "application/xml"}
for var, val in locals().items(): for var, val in locals().copy().items():
if str(var) == "rtMode": if str(var) == "rtMode":
if val != None: if val != None:
payload["rtMode"] = val.upper() payload["rtMode"] = val.upper()

View File

@@ -54,7 +54,7 @@ def stop_by_coords(
payload = {} payload = {}
headers = {"Accept": "application/json"} if json else {"Accept": "application/xml"} headers = {"Accept": "application/json"} if json else {"Accept": "application/xml"}
for var, val in locals().items(): for var, val in locals().copy().items():
if str(var) == "stopType": if str(var) == "stopType":
if val != None: if val != None:
payload["type"] = val.upper() payload["type"] = val.upper()

View File

@@ -65,7 +65,7 @@ def stop_by_name(
payload = {} payload = {}
headers = {"Accept": "application/json"} if json else {"Accept": "application/xml"} headers = {"Accept": "application/json"} if json else {"Accept": "application/xml"}
for var, val in locals().items(): for var, val in locals().copy().items():
if str(var) == "inputString": if str(var) == "inputString":
if val != None: if val != None:
payload["input"] = val payload["input"] = val

View File

@@ -201,7 +201,7 @@ def trip_find(
payload = {} payload = {}
headers = {"Accept": "application/json"} if json else {"Accept": "application/xml"} headers = {"Accept": "application/json"} if json else {"Accept": "application/xml"}
for var, val in locals().items(): for var, val in locals().copy().items():
if str(var) == "date": if str(var) == "date":
if val != None: if val != None:
if isinstance(val, datetime): if isinstance(val, datetime):

View File

@@ -87,7 +87,7 @@ def trip_recon(
payload = {} payload = {}
headers = {"Accept": "application/json"} if json else {"Accept": "application/xml"} headers = {"Accept": "application/json"} if json else {"Accept": "application/xml"}
for var, val in locals().items(): for var, val in locals().copy().items():
if str(var) == "date": if str(var) == "date":
if val != None: if val != None:
if isinstance(val, datetime): if isinstance(val, datetime):

View File

@@ -1,4 +1,4 @@
from pyrmv.errors import ( from ..errors import (
ApiAuthError, ApiAuthError,
ApiFormatError, ApiFormatError,
ApiParamError, ApiParamError,
@@ -26,6 +26,7 @@ from pyrmv.errors import (
SvcNoResultError, SvcNoResultError,
SvcProductError, SvcProductError,
SvcSearchError, SvcSearchError,
SvcParamError,
UnknownError, UnknownError,
) )
@@ -86,6 +87,9 @@ def find_exception(data: dict):
elif data["errorCode"] == "SVC_CTX": elif data["errorCode"] == "SVC_CTX":
raise SvcContextError() raise SvcContextError()
elif data["errorCode"] == "SVC_PARAM":
raise SvcParamError(errorCode=data["errorCode"], errorText=data["errorText"])
elif data["errorCode"] == "SVC_NO_RESULT": elif data["errorCode"] == "SVC_NO_RESULT":
raise SvcNoResultError() raise SvcNoResultError()