pimutils / pimutils/khal

Clean-up and refactoring

Open
#1,161 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
3.1k
Forks
233
Avg merge
1h 44m
Merged PRs (30d)
1

Description

As we are breaking backwards compatibility anyway, we should try to clean the code base.

Some ideas:

  • there are lots of different ways to create events at the moment, we should aggregate and only expose as few as possible
  • better naming convention for different types of events, we currently have
    • strings in icalendar format (starting with BEGIN:VCALENDAR), which are often names ics or ical (and probably some other things) -> suggestion: ics (ical string)
    • icalendar.Vevents() -> suggestion: vevent
    • List[icalendar.Vevents() - often called events_list
    • our own khalendar.event.Events() -> suggestion: event
    • urwid widgets representing events (several different types I believe)
  • rename backend to cache
  • rename CalendarCollection.new() to insert()

see #1160

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the remaining unchecked naming-convention and backend-to-cache items, using the event types described in this issue across the Python codebase. Check the related discussion in #1160 and identify the affected icalendar, khalendar, and urwid references. Done means the agreed names and backend terminology are applied consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, cli
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.