ungana

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

commit 32f9d42d758368cd5898d3940a97691a931e19df
parent cfa8bf32dd515b1ac45797ef57bac35ef9828da0
Author: Carlosokumu <carlosokumu254@gmail.com>
Date:   Wed,  5 Nov 2025 21:41:26 +0300

feat: add read for poster and long data

Diffstat:
Mungana/cmd/args_parser.py | 24++++++++++++++++++------
1 file changed, 18 insertions(+), 6 deletions(-)

diff --git a/ungana/cmd/args_parser.py b/ungana/cmd/args_parser.py @@ -21,7 +21,6 @@ class ArgsParser: description="Create a customized iCalendar (.ics) event" ) self.ical_manager = ICalManager() - self.attachment_manager = AttachmentManager() self._add_command_arguments() def _read_file_or_exit(self, file_path: str) -> str: @@ -108,7 +107,7 @@ class ArgsParser: args = self.parser.parse_args() self.logging = LoggingManager(verbose=args.verbose, quiet=args.quiet) self.logger = self.logging.get_logger("ArgsParser") - + self.attachment_manager = AttachmentManager(logger=self.logging.get_logger("AttachmentManager")) return args def _prompt_datetime(self, prompt: str, allow_blank: bool = False): @@ -199,7 +198,6 @@ class ArgsParser: "long": args.long, "contact": args.contact } - if not any(event_args.values()): ics_filename = args.ics_filename or f"event_{datetime.now().strftime('%Y%m%d_%H%M%S')}.ics" cal = self.ical_manager.load_ical_file(ics_filename) @@ -461,16 +459,30 @@ class ArgsParser: contact = value else: contact = None - for ctx_name in ("poster", "long"): arg_val = getattr(args, ctx_name, None) if arg_val: try: - prop, value, params = self.attachment_manager.create_attachment(arg_val, ctx=ctx_name) + file_path = Path(arg_val).expanduser().resolve() + + if not file_path.exists(): + self.parser.error(f"{ctx_name} file not found: {file_path}") + + if ctx_name == "poster": + data = file_path.read_bytes() + else: + data = file_path.read_text(encoding="utf-8") + + prop, value, params = self.attachment_manager.create_attachment( + file_path, + ctx=ctx_name, + data=data + ) + attachments.append((prop, value, params)) except Exception as e: - self.parser.error(f"Unexpected error: {e}") + self.parser.error(f"Unexpected error processing {ctx_name}: {e}") event_data = { 'summary': args.summary,