Package: khal Version: 1:0.9.10-1 Severity: normal Tags: patch pending Dear maintainer,
I've prepared an NMU for khal (versioned as 1:0.9.10-1.1) and uploaded it to DELAYED/5. Please feel free to tell me if I should delay it longer. I have these changes locally as git commits against the khal package - please tell me if I should simply push those changes to salsa. Regards. - Jonas diff -Nru khal-0.9.10/debian/changelog khal-0.9.10/debian/changelog --- khal-0.9.10/debian/changelog 2019-01-22 11:56:29.000000000 +0100 +++ khal-0.9.10/debian/changelog 2019-03-26 09:56:46.000000000 +0100 @@ -1,3 +1,12 @@ +khal (1:0.9.10-1.1) unstable; urgency=medium + + * Non-maintainer upload. + * Add patch cherry-picked upstream to fix parse categories as list, + superseding patch 0008 only fixing testsuite. + Tighten build-dependency on python3-icalendar. + + -- Jonas Smedegaard <d...@jones.dk> Tue, 26 Mar 2019 09:56:46 +0100 + khal (1:0.9.10-1) unstable; urgency=medium [ OndÅej Nový ] diff -Nru khal-0.9.10/debian/control khal-0.9.10/debian/control --- khal-0.9.10/debian/control 2019-01-22 11:56:07.000000000 +0100 +++ khal-0.9.10/debian/control 2019-03-26 09:48:59.000000000 +0100 @@ -15,7 +15,7 @@ python3-dateutil, python3-doc, python3-freezegun, - python3-icalendar, + python3-icalendar (>= 4.0.3), python3-pytest, python3-setuptools, python3-setuptools-scm, diff -Nru khal-0.9.10/debian/patches/0000-20190325~c58fb88-fix-parse-categories-as-list.patch khal-0.9.10/debian/patches/0000-20190325~c58fb88-fix-parse-categories-as-list.patch --- khal-0.9.10/debian/patches/0000-20190325~c58fb88-fix-parse-categories-as-list.patch 1970-01-01 01:00:00.000000000 +0100 +++ khal-0.9.10/debian/patches/0000-20190325~c58fb88-fix-parse-categories-as-list.patch 2019-03-26 09:42:14.000000000 +0100 @@ -0,0 +1,121 @@ +Description: fix pass categories as list + Support (only) icalendar >= 4.0.3 + . + With icalendar 4.0.3 the CATEGORIES Property became a list + as mandated by the RFC. +Author: Christian Geier <ge...@lostpackets.de> +Bug: https://github.com/pimutils/khal/issues/825 +Last-Update: 2019-03-26 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/khal/cli.py ++++ b/khal/cli.py +@@ -335,7 +335,7 @@ + @click.option('--location', '-l', + help=('The location of the new event.')) + @click.option('--categories', '-g', +- help=('The categories of the new event.')) ++ help=('The categories of the new event, comma separated.')) + @click.option('--repeat', '-r', + help=('Repeat event: daily, weekly, monthly or yearly.')) + @click.option('--until', '-u', +--- a/khal/controllers.py ++++ b/khal/controllers.py +@@ -349,6 +349,8 @@ + categories=None, repeat=None, until=None, alarms=None, + timezone=None, format=None, env=None): + """Create a new event from arguments and add to vdirs""" ++ if isinstance(categories, str): ++ categories = list([category.strip() for category in categories.split(',')]) + try: + event = utils.new_event( + locale=conf['locale'], location=location, categories=categories, +@@ -489,7 +491,10 @@ + value = prompt(question, default) + if allow_none and value == "None": + value = "" +- getattr(event, "update_" + attr)(value) ++ if attr == 'categories': ++ getattr(event, "update_" + attr)(list([cat.strip() for cat in value.split(',')])) ++ else: ++ getattr(event, "update_" + attr)(value) + edited = True + + if edited: +--- a/khal/khalendar/event.py ++++ b/khal/khalendar/event.py +@@ -409,13 +409,16 @@ + + @property + def categories(self): +- return self._vevents[self.ref].get('CATEGORIES', '') ++ try: ++ return self._vevents[self.ref].get('CATEGORIES', '').to_ical().decode('utf-8') ++ except AttributeError: ++ return '' + + def update_categories(self, categories): +- if categories.strip(): +- self._vevents[self.ref]['CATEGORIES'] = categories +- else: +- self._vevents[self.ref].pop('CATEGORIES', False) ++ assert isinstance(categories, list) ++ self._vevents[self.ref].pop('CATEGORIES', False) ++ if categories: ++ self._vevents[self.ref].add('CATEGORIES', categories) + + @property + def description(self): +--- a/khal/ui/editor.py ++++ b/khal/ui/editor.py +@@ -414,7 +414,7 @@ + self.event.update_summary(self.summary.get_edit_text()) + self.event.update_description(self.description.get_edit_text()) + self.event.update_location(self.location.get_edit_text()) +- self.event.update_categories(self.categories.get_edit_text()) ++ self.event.update_categories(self.categories.get_edit_text().split(',')) + + if self.startendeditor.changed: + self.event.update_start_end( +--- a/setup.py ++++ b/setup.py +@@ -11,7 +11,7 @@ + + requirements = [ + 'click>=3.2', +- 'icalendar', ++ 'icalendar>=4.0.3', + 'urwid', + 'pyxdg', + 'pytz', +--- a/tests/event_test.py ++++ b/tests/event_test.py +@@ -55,7 +55,7 @@ + event.update_summary('A not so simple Event') + event.update_description('Everything has changed') + event.update_location('anywhere') +- event.update_categories('meeting') ++ event.update_categories(['meeting']) + assert normalize_component(event.raw) == normalize_component(event_updated.raw) + + +@@ -95,7 +95,7 @@ + def test_update_remove_categories(): + event = Event.fromString(_get_text('event_dt_simple_updated'), **EVENT_KWARGS) + event_nocat = Event.fromString(_get_text('event_dt_simple_nocat'), **EVENT_KWARGS) +- event.update_categories(' ') ++ event.update_categories([]) + assert normalize_component(event.raw) == normalize_component(event_nocat.raw) + + +--- a/tests/utils_test.py ++++ b/tests/utils_test.py +@@ -564,7 +564,7 @@ + event = _construct_event(data_list.split(), + description='please describe the event', + location='in the office', +- categories='boring meeting', ++ categories=['boring meeting'], + locale=LOCALE_BERLIN) + assert _replace_uid(event).to_ical() == vevent + diff -Nru khal-0.9.10/debian/patches/0008_pass-categories-as-list.patch khal-0.9.10/debian/patches/0008_pass-categories-as-list.patch --- khal-0.9.10/debian/patches/0008_pass-categories-as-list.patch 2019-01-22 11:54:29.000000000 +0100 +++ khal-0.9.10/debian/patches/0008_pass-categories-as-list.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,17 +0,0 @@ -Description: fix pass categories as list in test -Author: Jonas Smedegaard <d...@jones.dk> -Bug: https://github.com/pimutils/khal/issues/825 -Last-Update: 2018-12-13 ---- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ ---- a/tests/utils_test.py -+++ b/tests/utils_test.py -@@ -564,7 +564,7 @@ - event = _construct_event(data_list.split(), - description='please describe the event', - location='in the office', -- categories='boring meeting', -+ categories=['boring meeting'], - locale=LOCALE_BERLIN) - assert _replace_uid(event).to_ical() == vevent - diff -Nru khal-0.9.10/debian/patches/series khal-0.9.10/debian/patches/series --- khal-0.9.10/debian/patches/series 2019-01-22 11:54:29.000000000 +0100 +++ khal-0.9.10/debian/patches/series 2019-03-26 09:25:59.000000000 +0100 @@ -1,7 +1,7 @@ +0000-20190325~c58fb88-fix-parse-categories-as-list.patch 0001-No-RSS-news-in-docs.patch 0003-Fix-intersphinx-mapping.patch 0004-Fix-tests-failing-due-to-timezone.patch 0005-Avoid-privacy-breach-in-sphinx-doc.patch 0006-Timezone-tests-may-fail-due-to-older-pytz-with-newer.patch 0007-Workaround-test-of-stdin-input.patch -0008_pass-categories-as-list.patch