ungana

Unnamed repository; edit this file 'description' to name the repository.
Info | Log | Files | Refs | README

commit 31821d22b046fa68a16b1348639082159dcc30cf
parent f7b2a82963c12841a557ed72b6b5717701a7b027
Author: Carlosokumu <carlosokumu254@gmail.com>
Date:   Mon, 25 Aug 2025 16:04:14 +0300

update ArgsParser:
-  make --tzid argument optional
- extend handle_create to check if  -tzid is a valid timezone if given

Diffstat:
Mungana/cmd/args_parser.py | 13+++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/ungana/cmd/args_parser.py b/ungana/cmd/args_parser.py @@ -6,6 +6,7 @@ import logging from ungana.attachment.attachment_manager import AttachmentManager from ungana.ical.ical_manager import ICalManager from ungana.logging.logging_manager import LoggingManager +from dateutil import tz class ArgsParser: @@ -68,8 +69,7 @@ class ArgsParser: help="Event location") parser.add_argument("-o", "--organizer", required=required_flags, help="Event organizer") - parser.add_argument("--tzid", required=required_flags, - help="Time zone ID (e.g., 'Europe/Berlin')") + parser.add_argument("--tzid",help="Time zone ID (e.g., 'Europe/Berlin')") parser.add_argument("--duration", type=self._validate_duration, help="Event duration (e.g., '2h' or '30m')") parser.add_argument("--end", type=self._validate_datetime, @@ -126,6 +126,15 @@ class ArgsParser: duration = end_dt - args.start_dt args.duration = f"{duration.seconds//3600}h{(duration.seconds%3600)//60}m" + if args.tzid: + tzinfo = tz.gettz(args.tzid) + if tzinfo is None: + self.parser.error(f"Invalid timezone ID: {args.tzid}") + else: + # Fallback to UTC + tzinfo = tz.UTC + args.tzid = "UTC" + event_data = { 'start': args.start_dt, 'duration': args.duration,