ungana

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

commit f3dc2783f0327776a62468987b2d76cce5b94205
parent d73b0d2765ec641e5e3d232733d91de07c5fdf97
Author: Carlosokumu <carlosokumu254@gmail.com>
Date:   Mon, 25 Aug 2025 14:24:17 +0300

extend ArgsParser:
- add an email regex for checking valid emails
-extend _get_user_updates_from_args to check if the provided contact is an email,if so add a mailto as ALTREP.

Diffstat:
Mcalendarapp/cmd/args_parser.py | 9+++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/calendarapp/cmd/args_parser.py b/calendarapp/cmd/args_parser.py @@ -9,6 +9,8 @@ from calendarapp.logging.logging_manager import LoggingManager class ArgsParser: + EMAIL_RE = re.compile(r"^[^@]+@[^@]+\.[^@]+$") + def __init__(self): self.parser = argparse.ArgumentParser( description="Create a customized iCalendar (.ics) event" @@ -283,8 +285,11 @@ class ArgsParser: if args.organizer: updates["ORGANIZER"] = args.organizer if args.contact: value, params = self._process_contact_arg(args.contact) - if params: - updates["CONTACT"] = (value, params) # will be expanded + if not params and self.EMAIL_RE.match(value): + params = {"ALTREP": f"mailto:{value}"} + updates["CONTACT"] = (value, params) + elif params: + updates["CONTACT"] = (value, params) else: updates["CONTACT"] = value