Compare commits

...

3 Commits

Author SHA1 Message Date
129093bda8 The actual changed code 2023-12-05 16:51:56 +01:00
4819c7dfcd Programmatically get barcode 2023-12-05 16:51:44 +01:00
4b8fe23789 Update .gitignore 2023-12-05 16:50:56 +01:00
4 changed files with 37 additions and 4 deletions

4
.gitignore vendored
View File

@ -1,4 +1,6 @@
archive
har
src/config.py
**/__pycache__
**/__pycache__
TODO.txt

View File

@ -1,10 +1,12 @@
from utils import raiseDiscord
import config
import json
class Travel():
def __init__(self, data):
self.orderId = data["orderId"]
self.serviceItemId = data["serviceItemId"]
self.dvNumber = data["dvNumber"]
self.dvNumber = data["dvNumber"] # or marketingCarrierRef, the ref of the visible ticket's ref
self.origin = data["origin"]
self.destination = data["destination"]
self.departureDateTime = data["departureDateTime"]
@ -16,9 +18,11 @@ class Travel():
self.seatNumber = data["seatNumber"]
self.reservationDate = data["reservationDate"]
self.travelConfirmed = data["travelConfirmed"] # CONFIRMED, TOO_EARLY_TO_CONFIRM
self.travelConfirmed = data["travelConfirmed"] # CONFIRMED, TOO_EARLY_TO_CONFIRM, TO_BE_CONFIRMED
self.travelStatus = data["travelStatus"]
self.tcn = None
def confirm(self, session, headers):
"""
https://www.maxjeune-tgvinoui.sncf/api/public/reservation/travel-confirm
@ -42,4 +46,30 @@ class Travel():
return r
def get(self, s, headers):
r = s.post(
"https://www.maxjeune-tgvinoui.sncf/api/public/reservation/get-travel",
headers=headers,
json = {
"customerName": config.customer_name,
"departureDateTime": self.departureDateTime,
"marketingCarrierRef": self.dvNumber,
"trainNumber": self.trainNumber
})
data = json.loads(r.content.decode("utf-8"))
self.tcn = data["tcn"]
return data
def tprint(self, s, headers):
if self.tcn is None:
self.get(s, headers)
return s.post(
"https://www.maxjeune-tgvinoui.sncf/api/public/reservation/print-travel",
headers=headers,
json = {
"orderId": self.orderId,
"serviceItemId": self.serviceItemId,
"tcn": [self.tcn]
})

View File

@ -6,6 +6,7 @@ authorization = "Bearer ..."
cookies = "didomi_token=...; euconsent-v2=...; sticky__authentication=...; _dd_s=..."
customer_name = "Dupont"
# Discord Webhooks
error_url = "https://discord.com/api/webhooks/..."

View File

@ -77,7 +77,7 @@ def confirm_all(s, headers):
if datetime.fromisoformat(travel.departureDateTime) >= now:
print(travel)
print(travel.travelConfirmed)
if (travel.travelConfirmed != "CONFIRMED" and travel.travelConfirmed != "TOO_EARLY_TO_CONFIRM"):
if (travel.travelConfirmed == "TO_BE_CONFIRMED"):
travel.confirm(s, headers)
if check_confirmed(travel, s, headers):
utils.successDiscord(travel)