>From 695b50a3744a8bd31a7e4578aaf7e5bb0fc4a36e Mon Sep 17 00:00:00 2001 From: Benjamin Slade Date: Thu, 7 Dec 2023 11:55:03 -0600 Subject: [PATCH] add python-ical2orgpy and dependencies --- gnu/packages/python-xyz.scm | 84 +++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 86f8d81..67345d8 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -146,6 +146,7 @@ ;;; Copyright © 2023 Janneke Nieuwenhuizen ;;; Copyright © 2023 Attila Lendvai ;;; Copyright © 2023 Troy Figiel +;;; Copyright © 2023 Benjamin Slade ;;; ;;; This file is part of GNU Guix. ;;; @@ -34377,6 +34378,89 @@ (define-public python-zeroc-ice-3.6 (base32 "0mikjfvq26kh8asnn9v55z41pap4c5ypymqnwwi4xkavc3mzyda2")))))) +(define-public python-x-wr-timezone + (package + (name "python-x-wr-timezone") + (version "0.0.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri "x_wr_timezone" version)) + (sha256 + (base32 "0j5zjvrshn7smq6cgbh7l66dl64wqs18cfyfnq1np1y00g320pha")))) + (build-system python-build-system) + (arguments + ;; Broken tests or cyclic dependecies with other packages. + '(#:phases (modify-phases %standard-phases + (delete 'sanity-check)) + #:tests? #f)) + (propagated-inputs (list python-icalendar python-pytz)) + (home-page "https://github.com/niccokunzmann/x-wr-timezone") + (synopsis "Handling of non-standard X-WR-TIMEZONE icalendar property") + (description + "Some calendar providers introduce the non-standard X-WR-TIMEZONE +parameter to ICS calendar files. Strict interpretations according to RFC 5545 ignore + the X-WR-TIMEZONE parameter. This causes the times of the events to differ from those + which make use of X-WR-TIMEZONE. This module aims to bridge the gap by converting + calendars using X-WR-TIMEZONE to a strict RFC 5545 calendars.") + (license license:lgpl3+))) + +(define-public python-recurring-ical-events + (package + (name "python-recurring-ical-events") + (version "2.1.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "recurring_ical_events" version)) + (sha256 + (base32 "00k4l800j2d3zfqhxjlzjk0b6493wqhmg4r58xsp12sx2ia2sxla")))) + (build-system python-build-system) + (arguments + ;; Broken tests or cyclic dependecies with other packages. + '(#:phases (modify-phases %standard-phases + (delete 'sanity-check)) + #:tests? #f)) + (propagated-inputs (list python-x-wr-timezone python-icalendar python-pytz)) + (home-page "https://github.com/niccokunzmann/python-recurring-ical-events") + (synopsis + "Python library for recurrence of ical events based on icalendar") + (description + "ICal has some complexity to it: Events, TODOs and Journal entries can + be repeated, removed from the feed and edited later on. +This tool takes care of these circumstances.") + (license license:lgpl3+))) + +(define-public python-ical2orgpy + (package + (name "python-ical2orgpy") + (version "0.5") + (source + (origin + (method url-fetch) + (uri (pypi-uri "ical2orgpy" version)) + (sha256 + (base32 "0a2ai78jzn250s1dlsimsfp6035421nrabj08xdlgsh7mb82gkap")))) + (build-system python-build-system) + (arguments + ;; Broken tests or cyclic dependecies with other packages. + '(#:phases (modify-phases %standard-phases + (delete 'sanity-check)) + #:tests? #f)) + (propagated-inputs (list python-click python-icalendar python-pytz + python-tzlocal python-recurring-ical-events)) + (home-page "https://github.com/ical2org-py/ical2org.py") + (synopsis "Convert ical .ics file to org-mode") + (description + "This python script converts an ical calendar (for instance, as exported + from google calendar) into an org-mode document. It is conceived as a replacement of + the awk script located at +@url{https://orgmode.org/worg/org-tutorials/org-google-sync.html}. + The main difference is that ical2orgpy correctly manages recurring events of + @dfn{yearly}, @dfn{daily} and @dfn{weekly} types. ical2orgpy duplicates all recurring + events falling into a specified time-frame into the exported org-document.") + (license license:gpl3+))) + ;;; ;;; Avoid adding new packages to the end of this file. To reduce the chances ;;; of a merge conflict, place them above by existing packages with similar -- 2.41.0