[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