ungana

Client application that creates customized .ics files for ticket booking and event reservations
Info | Log | Files | Refs | README

DateCommit messageAuthorFiles+-
2025-11-14 07:25test: add tests for missing testsCarlosokumu5+108-0
2025-11-14 06:46fix: make datetime.datetime always a real type and avoid shadowing.Carlosokumu1+1-1
2025-11-14 06:46chore: clean up logsCarlosokumu1+0-1
2025-11-14 06:45fix failing testsCarlosokumu2+4-4
2025-11-11 09:47chore: pass config as an argumentCarlosokumu1+2-2
2025-11-11 09:46feat: implement merge functionCarlosokumu1+81-2
2025-11-11 09:44feat: add a merge commandCarlosokumu1+42-2
2025-11-11 09:12feat: pass config to ArgParserCarlosokumu1+3-1
2025-11-06 15:02chore: handle string concatenation using urllib.parseCarlosokumu2+24-19
2025-11-05 19:07fix: ensure html contents are read correctlyCarlosokumu1+9-5
2025-11-05 18:45chore: rename name to key for clarityCarlosokumu3+9-9
2025-11-05 18:42feat: implement functionality to store object filesCarlosokumu1+32-3
2025-11-05 18:41feat: add read for poster and long dataCarlosokumu1+18-6
2025-11-05 18:38feat: add obj store location configsCarlosokumu1+2-0
2025-11-05 18:37feat: add load for object storesCarlosokumu1+19-5
2025-11-05 18:35fix: always include a console handlerCarlosokumu1+17-21
2025-11-05 07:41feat: add store implementation for fs and walaCarlosokumu5+78-0
2025-09-27 12:59add check for geo propertiesCarlosokumu1+1-1
2025-09-25 19:22add methods to extract and parse datetime and duration for eventCarlosokumu1+37-1
2025-09-25 19:21add entry start date and durationCarlosokumu1+10-2
2025-09-25 18:48add method to extract ical attachmentsCarlosokumu1+22-0
2025-09-25 18:41add missing ical fieldsCarlosokumu1+20-0
2025-09-25 16:22add missing ical fieldsCarlosokumu1+23-4
2025-09-25 16:16add method to get ical classesCarlosokumu1+6-0
2025-09-24 19:13add missing ical fieldsCarlosokumu1+61-0
2025-09-24 19:12add method to extract ical fieldsCarlosokumu1+11-0
2025-09-18 06:36 handle SIGINT gracefullyCarlosokumu1+9-0
2025-09-16 00:19Downgrade mimetypes requirement to 3.8lash2+8-3
2025-09-15 14:41Fix breaking equality test for geo objectlash1+1-1
2025-09-15 14:20Merge branch 'master' into lash/guilash13+374-45
2025-09-12 07:19add main blockCarlosokumu4+13-1
2025-09-12 07:08make each test dir an executableCarlosokumu4+0-0
2025-09-11 17:40add test discoveryCarlosokumu1+4-0
2025-09-11 04:03only include contact if not NoneCarlosokumu1+4-4
2025-09-10 16:03update READE.mdCarlosokumu1+4-4
2025-09-10 14:41test edit commandCarlosokumu1+29-7
2025-09-10 04:54rename non_interactive to event_fieldsCarlosokumu1+20-22
2025-09-10 04:41remove explicit interactive mode flagCarlosokumu1+4-11
2025-09-08 06:33add ICalHelper testsCarlosokumu1+61-0
2025-09-08 06:30update check_existing_event to tick to standard iCalendar property namesCarlosokumu1+5-3
2025-09-08 06:05add utils testsCarlosokumu1+54-0
2025-09-07 14:33add unit testsCarlosokumu3+168-0
2025-09-04 21:27Make entry edit work with last mergelash2+5-3
2025-09-04 12:42Merge branch 'master' into lash/guilash4+293-217
2025-09-03 10:46add setting host,venue and organizer via editCarlosokumu2+19-3
2025-09-02 20:24allow setting contact and attachment on the create command.Carlosokumu2+58-3
2025-09-02 19:11disable interactive mode for edit: pick up set flags for an ical file that contains multiple events defined.Carlosokumu1+11-12
2025-09-02 18:39add check attempting edits for invalid ical filesCarlosokumu2+13-2
2025-09-02 18:14add check for multiline user inputCarlosokumu1+15-10
2025-09-02 13:47Set up textview for descriptionlash6+101-17
2025-09-01 12:13ensure single letters in short flagsCarlosokumu1+5-5
2025-09-01 09:55move methods that require explicit cal argument to IcalHelper classCarlosokumu1+6-142
2025-09-01 09:54add an IcalHelperCarlosokumu1+110-0
2025-09-01 09:53add helper functionsCarlosokumu1+56-0
2025-09-01 09:52move datetime parsing to utilsCarlosokumu1+14-36
2025-09-01 04:44deduplicate poster and long attachmentsCarlosokumu1+15-22
2025-09-01 00:22Replace main window with event listingslash5+270-108
2025-08-31 21:07Separate runner from gui modulelash6+209-189
2025-08-31 20:58Introduce config, move gui to packagelash5+208-167
2025-08-31 05:51Demo file picker and image displaylash2+76-3
2025-08-31 04:30Set uid and domainlash3+49-24
2025-08-31 04:15Use xgettext generated pot filelash1+12-1
2025-08-31 04:12Hello world translationlash4+39-3
2025-08-31 02:56GUI hello world set field valuelash1+13-5
2025-08-31 02:27Hello world guilash2+66-0
2025-08-30 11:06ensure domain is respected in interactive mode.Carlosokumu1+7-2
2025-08-29 15:04retrieve domain flag value and use it to generate uids,add dtstamp,class and status entriesCarlosokumu1+14-4
2025-08-29 15:02allow user to specify domain using the --domain flagCarlosokumu1+12-4
2025-08-29 10:39go interactive if no argument is specifiedCarlosokumu1+46-36
2025-08-29 09:52add user input validationCarlosokumu1+64-35
2025-08-28 12:58update ArgsParser: - separate edit and create required arguments - ensure a safe timestamp based filename is generated if not givenCarlosokumu1+129-82
2025-08-27 17:13add interactive calendar creationCarlosokumu2+139-75
2025-08-26 10:35update project script to match new project nameCarlosokumu1+1-1
2025-08-26 07:40rename runnable instance filename to ungana_cal_cli to match project nameCarlosokumu1+0-0
2025-08-25 18:36make ical_file argument positionalCarlosokumu1+5-6
2025-08-25 13:13use ungana as the domain name for generated ical filesCarlosokumu1+1-1
2025-08-25 13:11use ungana as the domain nameCarlosokumu1+2-2
2025-08-25 13:04update ArgsParser: - make --tzid argument optional - extend handle_create to check if -tzid is a valid timezone if givenCarlosokumu1+11-2
2025-08-25 12:44update project name to unganaCarlosokumu1+3-3
2025-08-25 12:39ignore generated ical filesCarlosokumu1+4-0
2025-08-25 12:34change project name and associated submodules from calendarapp to ungana.Carlosokumu14+339-339
2025-08-25 11:26extend IcalManager: - update update_event to pop existing components when doing an editCarlosokumu1+3-0
2025-08-25 11:24extend 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.Carlosokumu1+7-2
2025-08-23 13:03extend IcalManager: - update generate_uuid to generate a globally unique UID using UUID + domain format for new event entries. - update load_ical_file to return a calendar instance if the the provided ical_path does not exist. - add check_existing_event to check if an event with same summary,start and end already exists.Carlosokumu1+55-7
2025-08-23 12:57extend ArgsParser: -Updatehandle_create to detect and prevent creating events with duplicate details in an existing iCalendar fileCarlosokumu1+15-3
2025-08-21 20:00update README.mdCarlosokumu1+3-0
2025-08-21 19:39update IcalManager update_event method to ensure that If you run edit multiple times with the same poster or long attachment, it won’t duplicate the fieldsCarlosokumu1+20-0
2025-08-21 15:04Extend IcalManager 'update_event' to handle property updates with parameters (ALTREP for CONTACT fields)Carlosokumu1+5-1
2025-08-21 15:02enhance _process_contact_arg in ArgsParser to parse CONTACT information, supporting freeform text and optional parameters such as ALTREP for alternative representations.Carlosokumu1+20-0
2025-08-21 13:08improve ArgsParser: - add _get_user_updates_from_args that extracts and parses editable fields provided to the edit sub command via arguments. - extend handle_edit to check if the user gave any field args: if yes → do non-interactive update If no → go into interactive edit mode.Carlosokumu1+34-24
2025-08-20 18:26 extends IcalManager's update_event so that it supports both detailed attachment tuples and simple attachment values, instead of assuming a fixed tuple structure.Carlosokumu1+6-3
2025-08-20 18:20pdate ArgParser’s handle_edit method to format the extracted iCalendar file for editingCarlosokumu1+66-48
2025-08-20 11:09update README.mdCarlosokumu1+5-10
2025-08-20 07:05update README.mdCarlosokumu1+17-13
2025-08-20 05:05add command argument to specify filename for created icalendar fileCarlosokumu1+6-1
2025-08-19 11:58add parsing of attachments by introducing the AttachmentManagerCarlosokumu1+33-10
2025-08-19 11:57update ICalManager's update_event method to handle attachment updates for long and posterCarlosokumu1+10-6
2025-08-19 11:49add an AttachmentManager that: - creates attachment - validates attachment file type according to ctx rules. - returns a SHA256 digest of the file content.Carlosokumu1+51-0
2025-08-18 21:20update README.mdCarlosokumu1+2-2
2025-08-18 21:20breakdown parse_args and add a run dispatcherCarlosokumu1+136-118
2025-08-18 21:14add method to retrieve first event if --all flag is not specified for ical files with more than one eventCarlosokumu1+9-0
2025-08-18 21:11setup a dispatcher for running parse_args initializationCarlosokumu1+1-1
2025-08-18 15:23ensure flags come after subcommandsCarlosokumu1+12-17
2025-08-18 15:22ensure ical field DTSTART stores two entries : one with tzid and withoout tzidCarlosokumu1+33-24
2025-08-15 19:07update README.mdCarlosokumu1+10-1
2025-08-15 13:40add logging, and saving updated ical fieldsCarlosokumu1+12-2
2025-08-15 13:39add logging, implement ical updatesCarlosokumu1+62-9
2025-08-15 13:39add loggingCarlosokumu1+0-0
2025-08-15 13:37add loggingCarlosokumu1+39-0
2025-08-14 19:32update README.mdCarlosokumu1+7-2
2025-08-14 18:07add parsing for editing an ical fileCarlosokumu1+80-19
2025-08-14 18:06remove print statement for passed argsCarlosokumu1+1-2
2025-08-14 18:04add logic to load existing ical filesCarlosokumu1+40-0
2025-08-14 08:27update README.mdCarlosokumu1+7-6
2025-08-13 21:54update README.mdCarlosokumu1+20-0
2025-08-13 21:27add an IcalManagerCarlosokumu1+56-0
2025-08-13 21:27add IcalManager instance,add ical file creation logicCarlosokumu1+16-0
2025-08-13 21:25add icalendar dependencyCarlosokumu1+4-2
2025-08-13 17:07update README.mdCarlosokumu1+16-2
2025-08-13 14:10initialize arg parserCarlosokumu1+6-1
2025-08-13 14:07add an argument parserCarlosokumu1+93-0
2025-08-13 08:08initial commitCarlosokumu9+45-0
2025-08-13 08:07initial commitCarlosokumu1+35-0
2025-08-12 16:53remove test fileCarlosokumu1+0-2
2025-08-12 14:52add test commitCarlosokumu1+2-0