Selaa lähdekoodia

handle invalid events

pull/287/head
nicfb 1 vuosi sitten
vanhempi
commit
8ae5053471
2 muutettua tiedostoa jossa 23 lisäystä ja 2 poistoa
  1. +11
    -2
      kosmorro/__main__.py
  2. +12
    -0
      kosmorro/exceptions.py

+ 11
- 2
kosmorro/__main__.py Näytä tiedosto

@@ -47,6 +47,7 @@ from .exceptions import (
SearchDatesNotGivenError,
UnavailableFeatureError,
OutOfRangeDateError as DateRangeError,
InvalidEventTypeError,
)
from kosmorro.i18n.utils import _

@@ -135,6 +136,10 @@ def run():
use_colors,
args.show_graph,
)
except InvalidEventTypeError as error:
print_stderr(colored(error.msg, "red"))
debug.debug_print(error)
return 7
except InvalidDateRangeError as error:
print_stderr(colored(error, "red"))
debug.debug_print(error)
@@ -258,8 +263,12 @@ def get_search_information(
try:
if search_until is None:
raise SearchDatesNotGivenError

event_types = [EventType[event.upper()] for event in requested_events]
try:
event_types = [EventType[event.upper()] for event in requested_events]
except KeyError as error:
raise InvalidEventTypeError(error.args[0])
from_ = parse_date(search_from)
until = parse_date(search_until)
events_list = search_events(event_types, until, from_, timezone)


+ 12
- 0
kosmorro/exceptions.py Näytä tiedosto

@@ -19,6 +19,7 @@
from datetime import date
from babel.dates import format_date
from kosmorro.i18n.utils import _, SHORT_DATE_FORMAT
from kosmorrolib.enum import EventType


class UnavailableFeatureError(RuntimeError):
@@ -60,6 +61,17 @@ class SearchDatesNotGivenError(RuntimeError):
"Search end date (--until) is required when searching events."
)

class InvalidEventTypeError(RuntimeError):
def __init__(self, invalid_event: EventType):
super().__init__()
self.invalid_event = invalid_event
supported_events = ', '.join([event.name for _, event in enumerate(EventType)])
self.msg = _(
"Invalid event type {event}.\nSupported events are {events}."
).format(
event=self.invalid_event,
events=supported_events,
)

class CompileError(RuntimeError):
def __init__(self, msg):


Ladataan…
Peruuta
Tallenna