Compare commits
3 Commits
3b2351efc6
...
b2baa07371
| Author | SHA1 | Date | |
|---|---|---|---|
|
b2baa07371
|
|||
|
56e7ba92e8
|
|||
|
a3e1d9ccbf
|
+29
-7
@@ -31,6 +31,11 @@ class AgeGroup(str, Enum):
|
||||
u15a = "U15 (A)"
|
||||
|
||||
|
||||
class EventType(str, Enum):
|
||||
game = "game"
|
||||
practice = "practice"
|
||||
|
||||
|
||||
def load_cookies(file: str = "cookies.txt") -> requests.cookies.RequestsCookieJar:
|
||||
cookie_jar_file = Path(file)
|
||||
cj_dict = {}
|
||||
@@ -211,7 +216,7 @@ def schedule(
|
||||
print(schedule)
|
||||
|
||||
|
||||
def open(file: str) -> None:
|
||||
def os_open(file: str) -> None:
|
||||
if os.uname().sysname == "Linux":
|
||||
os.system(f"xdg-open {file}")
|
||||
else:
|
||||
@@ -228,7 +233,7 @@ def get_game_pdf(
|
||||
"""
|
||||
output_filename = f"game_{game_id}.pdf"
|
||||
game_pdf(game_id, Path(output_filename))
|
||||
open(output_filename)
|
||||
os_open(output_filename)
|
||||
|
||||
|
||||
@app.command("practice")
|
||||
@@ -240,12 +245,16 @@ def get_practice_pdf(
|
||||
"""
|
||||
output_filename = f"practice_{game_id}.pdf"
|
||||
practice_pdf(game_id, Path(output_filename))
|
||||
open(output_filename)
|
||||
os_open(output_filename)
|
||||
|
||||
|
||||
@app.command("search")
|
||||
def parse_schedule(
|
||||
age_group: Annotated[AgeGroup, typer.Argument(...)],
|
||||
age_group: Annotated[AgeGroup | None, typer.Option(...)] = None,
|
||||
event_type_filter: Annotated[
|
||||
EventType | None,
|
||||
typer.Option("--type", help="Only display events of this type"),
|
||||
] = None,
|
||||
schedule_file: Annotated[
|
||||
Path, typer.Option(help="schedule json file to parse")
|
||||
] = Path("schedule.json"),
|
||||
@@ -255,9 +264,22 @@ def parse_schedule(
|
||||
"""
|
||||
with schedule_file.open("r") as f:
|
||||
data = json.load(f)
|
||||
for event in [x for x in data if x["agegroup"] == age_group]:
|
||||
# print(json.dumps(event, indent=2))
|
||||
raw_title = event["title"].removeprefix(age_group + "\n")
|
||||
# age_group filter
|
||||
if age_group:
|
||||
events = [x for x in data if x["agegroup"] == age_group]
|
||||
else:
|
||||
events = [x for x in data if x["agegroup"] in AgeGroup]
|
||||
# event_type filter
|
||||
if event_type_filter:
|
||||
if event_type_filter.value == EventType.game:
|
||||
events = [x for x in events if "event" in x and x["event"] == "Jeu"]
|
||||
else:
|
||||
events = [x for x in events if "event" not in x or x["event"] == "Jeu"]
|
||||
for event in events:
|
||||
if age_group:
|
||||
raw_title = event["title"].removeprefix(age_group + "\n")
|
||||
else:
|
||||
raw_title = event["title"]
|
||||
title = " ".join(raw_title.split("\n"))
|
||||
start = datetime.datetime.fromisoformat(event["start"])
|
||||
start_fmt = start.strftime("%H:%M")
|
||||
|
||||
Generated
+1
-1
@@ -1025,4 +1025,4 @@ files = [
|
||||
[metadata]
|
||||
lock-version = "2.0"
|
||||
python-versions = "^3.12"
|
||||
content-hash = "e11a9960c50f8b210bd0942533a30915eb56bed47cf5f67ac33f405cb1ef5859"
|
||||
content-hash = "32eb77391a5bfd29bed30f4a384ccd08ca307923ac47c48eaad6bfee18798081"
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
[tool.poetry]
|
||||
name = "myice"
|
||||
version = "0.1.0"
|
||||
version = "v0.1.3"
|
||||
description = "myice parsing"
|
||||
authors = ["Rene Luria <rene@luria.ch>"]
|
||||
license = "MIT"
|
||||
@@ -9,7 +9,7 @@ readme = "README.md"
|
||||
[tool.poetry.dependencies]
|
||||
python = "^3.12"
|
||||
requests = "^2.32.3"
|
||||
typer = {extras = ["all"], version = "^0.12.5"}
|
||||
typer = "^0.12.5"
|
||||
|
||||
|
||||
[tool.poetry.group.dev.dependencies]
|
||||
|
||||
Reference in New Issue
Block a user