Skip to content

Commit

Permalink
Merge pull request #158 from niccokunzmann/architecture
Browse files Browse the repository at this point in the history
version 3.0.0
  • Loading branch information
niccokunzmann authored Aug 20, 2024
2 parents b3184d6 + b124989 commit 9810382
Show file tree
Hide file tree
Showing 6 changed files with 471 additions and 11 deletions.
31 changes: 29 additions & 2 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -233,11 +233,11 @@ Skip bad formatted ical events
******************************

Some events may be badly formatted and therefore cannot be handled by recurring-ical-events.
Passing ```skip_bad_events=True``` as ``of()`` argument will totally skip theses events.
Passing ```skip_bad_series=True``` as ``of()`` argument will totally skip theses events.

.. code:: Python
of(a_calendar, skip_bad_events=True)
of(a_calendar, skip_bad_series=True)
Version Fixing
Expand Down Expand Up @@ -323,9 +323,36 @@ To release new versions,
6. notify the issues about their release

Architecture
------------

.. image:: img/architecture.png
:alt: Architecture Diagram showing the components interacting

Each icalendar **Calendar** can contain Events, Journal entries,
TODOs and others, called **Components**.
Those entries are grouped by their ``UID``.
Such a ``UID`` defines a **Series** of **Occurrences** that take place at
a given time.
Since each **Component** is different, the **ComponentAdapter** offers a unified
interface to interact with them.
The **Calendar** gets filtered and for each ``UID``,
a **Series** can use one or more **ComponentAdapters** to create
**Occurrences** of what happens in a time span.
These **Occurrences** are used internally and convert to **Components** for further use.

Changelog
---------

- v3.0.0

- Change the architecture and add a diagram
- Add type hints, see `Issue 91 <https://github.com/niccokunzmann/python-recurring-ical-events/issues/91>`_
- Rename ``UnfoldableCalendar`` to ``CalendarQuery``
- Rename ``of(skip_bad_events=None)`` to ``of(skip_bad_series=False)``
- ``of(components=[...])`` now also takes ``ComponentAdapters``
- Fix edit sequence problems, see `Issue 151 <https://github.com/niccokunzmann/python-recurring-ical-events/issues/151>`_

- v2.2.3

- Fix: Edits of whole event are now considering RDATE and EXDATE, see `Issue 148 <https://github.com/niccokunzmann/python-recurring-ical-events/issues/148>`_
Expand Down
Binary file added img/architecture.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 9810382

Please sign in to comment.