[Python-apps-team] Bug#925522: khal: diff for NMU version 1:0.9.10-1.1
Jonas Smedegaard
dr at jones.dk
Tue Mar 26 09:01:19 GMT 2019
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 <dr at 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 <geier at 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 <dr at 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
More information about the Python-apps-team
mailing list