Control: tags 908497 + patch Control: tags 908497 + pending Dear maintainer,
I've prepared an NMU for khal (versioned as 1:0.9.10-0.1) and uploaded it directly to NEW (since it affected an RC bug for some time blocking the transition of a range of other packages by now. I notice it has been some time since your last upload. Please do tell if you are tired of maintaining this, and would be interested in me either joining as co-maintainer or perhaps even take over maintenance. Regards, - Jonas diff -Nru khal-0.9.8/CHANGELOG.rst khal-0.9.10/CHANGELOG.rst --- khal-0.9.8/CHANGELOG.rst 2017-10-05 23:19:47.000000000 +0200 +++ khal-0.9.10/CHANGELOG.rst 2018-10-09 18:01:22.000000000 +0200 @@ -7,6 +7,18 @@ may want to subscribe to `GitHub's tag feed <https://github.com/geier/khal/tags.atom>`_. +0.9.10 +====== +released 2018-010-09 + +* Dependencies: dateutil 2.7 supported now + +0.9.9 +===== +released 2018-05-26 + +* Dependencies: only dateutil < 2.7 is supported (and always has been) + 0.9.8 ===== released 2017-10-05 diff -Nru khal-0.9.8/debian/changelog khal-0.9.10/debian/changelog --- khal-0.9.8/debian/changelog 2017-12-11 16:01:18.000000000 +0100 +++ khal-0.9.10/debian/changelog 2018-12-13 15:39:05.000000000 +0100 @@ -1,3 +1,15 @@ +khal (1:0.9.10-0.1) unstable; urgency=medium + + * Non-maintainer upload. + + [ Jonas Smedegaard ] + * New upstream version 0.9.6.1 + Closes: Bug#908497. Thanks to Paul Gevers and Adrian Bunk. + * Unfuzz patch 0007. + * Add patch 0008 to fix pass categories as list in test. + + -- Jonas Smedegaard <d...@jones.dk> Thu, 13 Dec 2018 15:39:05 +0100 + khal (1:0.9.8-1) unstable; urgency=medium * New upstream version diff -Nru khal-0.9.8/debian/patches/0007-Workaround-test-of-stdin-input.patch khal-0.9.10/debian/patches/0007-Workaround-test-of-stdin-input.patch --- khal-0.9.8/debian/patches/0007-Workaround-test-of-stdin-input.patch 2017-12-11 15:02:53.000000000 +0100 +++ khal-0.9.10/debian/patches/0007-Workaround-test-of-stdin-input.patch 2018-12-13 13:39:08.000000000 +0100 @@ -11,7 +11,7 @@ index 9c98899..140455e 100644 --- a/tests/cli_test.py +++ b/tests/cli_test.py -@@ -495,6 +495,7 @@ def test_import_invalid_choice_and_prefix(runner): +@@ -497,6 +497,7 @@ def test_import_invalid_choice_and_prefix(runner): assert result.output == '09.04.-09.04. An Event\n' @@ -19,7 +19,7 @@ def test_import_from_stdin(runner): ics_data = 'This is some really fake icalendar data' -@@ -677,6 +678,7 @@ def test_print_ics_command(runner): +@@ -681,6 +682,7 @@ def test_print_ics_command(runner): assert 24 == len(result.output.split('\t')) diff -Nru khal-0.9.8/debian/patches/0008_pass-categories-as-list.patch khal-0.9.10/debian/patches/0008_pass-categories-as-list.patch --- khal-0.9.8/debian/patches/0008_pass-categories-as-list.patch 1970-01-01 01:00:00.000000000 +0100 +++ khal-0.9.10/debian/patches/0008_pass-categories-as-list.patch 2018-12-13 15:38:02.000000000 +0100 @@ -0,0 +1,17 @@ +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.8/debian/patches/series khal-0.9.10/debian/patches/series --- khal-0.9.8/debian/patches/series 2017-12-11 15:02:53.000000000 +0100 +++ khal-0.9.10/debian/patches/series 2018-12-13 15:20:41.000000000 +0100 @@ -4,3 +4,4 @@ 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 diff -Nru khal-0.9.8/doc/source/news/khal099.rst khal-0.9.10/doc/source/news/khal099.rst --- khal-0.9.8/doc/source/news/khal099.rst 1970-01-01 01:00:00.000000000 +0100 +++ khal-0.9.10/doc/source/news/khal099.rst 2018-10-09 18:01:22.000000000 +0200 @@ -0,0 +1,21 @@ +khal v0.9.9 released (dependency clarification) +=============================================== + +.. feed-entry:: + :date: 2018-05-26 + +`khal v0.9.9`_ (and previous version of khal) currently only support the +dateutil library (that khal depends on) in versions < 2.7. The only change in +khal v0.9.9 is updated dependency. + +If your OS already shipe dateutil >= 2.7, we recommend pipsi_ to install the +latest version of khal. + + +Get `khal v0.9.9`_ from this site, or from pypi_. + + +.. _pypi: https://pypi.python.org/pypi/khal/ +.. _khal v0.9.9: https://lostpackets.de/khal/downloads/khal-0.9.9.tar.gz +.. _pipsi: https://pypi.org/project/pipsi/ + diff -Nru khal-0.9.8/doc/source/news.rst khal-0.9.10/doc/source/news.rst --- khal-0.9.8/doc/source/news.rst 2017-10-05 23:19:47.000000000 +0200 +++ khal-0.9.10/doc/source/news.rst 2018-10-09 18:01:22.000000000 +0200 @@ -12,6 +12,7 @@ :title: khal news :link: http://lostpackets.de/khal/ + news/khal099 news/khal098 news/khal097 news/khal096 diff -Nru khal-0.9.8/khal/cli.py khal-0.9.10/khal/cli.py --- khal-0.9.8/khal/cli.py 2017-10-05 23:19:29.000000000 +0200 +++ khal-0.9.10/khal/cli.py 2018-10-09 18:01:22.000000000 +0200 @@ -20,6 +20,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # import logging +import os import sys import textwrap from shutil import get_terminal_size @@ -435,7 +436,11 @@ # Default to stdin: if not ics: ics_strs = (sys.stdin.read(),) - sys.stdin = open('/dev/tty', 'r') + if not batch: + if os.path.isfile('/dev/tty'): + sys.stdin = open('/dev/tty', 'r') + else: + logger.warning('/dev/tty does not exist, importing might not work') else: ics_strs = (ics_file.read() for ics_file in ics) @@ -523,7 +528,6 @@ else: ics_str = sys.stdin.read() name = 'stdin input' - sys.stdin = open('/dev/tty', 'r') controllers.print_ics(ctx.obj['conf'], name, ics_str, format) except FatalError as error: logger.fatal(error) diff -Nru khal-0.9.8/khal/khalendar/utils.py khal-0.9.10/khal/khalendar/utils.py --- khal-0.9.8/khal/khalendar/utils.py 2017-10-05 23:19:29.000000000 +0200 +++ khal-0.9.10/khal/khalendar/utils.py 2018-10-09 18:01:22.000000000 +0200 @@ -83,10 +83,23 @@ dtstart = vevent['DTSTART'].dt if events_tz: dtstart = dtstart.replace(tzinfo=None) + if events_tz and 'Z' not in rrule_param.to_ical().decode(): + logger.warning( + "In event {}, DTSTART has a timezone, but UNTIL does not. This " + "might lead to errenous repeating instances (like missing the " + "last intended instance or adding an extra one)." + "".format(href)) + elif not events_tz and 'Z' in rrule_param.to_ical().decode(): + logger.warning( + "In event {}, DTSTART has no timezone, but UNTIL has one. This " + "might lead to errenous repeating instances (like missing the " + "last intended instance or adding an extra one)." + "".format(href)) rrule = dateutil.rrule.rrulestr( rrule_param.to_ical().decode(), - dtstart=dtstart + dtstart=dtstart, + ignoretz=True, ) if rrule._until is None: @@ -95,10 +108,9 @@ # if python can deal with larger datetime values yet and b) pytz # doesn't know any larger transition times rrule._until = datetime(2037, 12, 31) - elif getattr(rrule._until, 'tzinfo', None): - rrule._until = rrule._until \ - .astimezone(events_tz) \ - .replace(tzinfo=None) + elif events_tz and 'Z' in rrule_param.to_ical().decode(): + rrule._until = pytz.UTC.localize( + rrule._until).astimezone(events_tz).replace(tzinfo=None) rrule = map(sanitize_datetime, rrule) diff -Nru khal-0.9.8/khal/ui/calendarwidget.py khal-0.9.10/khal/ui/calendarwidget.py --- khal-0.9.8/khal/ui/calendarwidget.py 2017-10-05 23:19:29.000000000 +0200 +++ khal-0.9.10/khal/ui/calendarwidget.py 2018-10-09 18:01:22.000000000 +0200 @@ -619,8 +619,9 @@ if weeknumbers == 'right': dnames.append('#w') + month_names_length = get_month_abbr_len() dnames = urwid.Columns( - [(4, urwid.Text(' '))] + + [(month_names_length, urwid.Text(' ' * month_names_length))] + [(2, urwid.AttrMap(urwid.Text(name), 'dayname')) for name in dnames], dividechars=1) self.walker = CalendarWalker( diff -Nru khal-0.9.8/khal/version.py khal-0.9.10/khal/version.py --- khal-0.9.8/khal/version.py 2017-10-05 23:20:26.000000000 +0200 +++ khal-0.9.10/khal/version.py 2018-10-09 18:05:14.000000000 +0200 @@ -1,4 +1,4 @@ # coding: utf-8 # file generated by setuptools_scm # don't change, don't track in version control -version = '0.9.8' +version = '0.9.10' diff -Nru khal-0.9.8/khal.egg-info/PKG-INFO khal-0.9.10/khal.egg-info/PKG-INFO --- khal-0.9.8/khal.egg-info/PKG-INFO 2017-10-05 23:20:27.000000000 +0200 +++ khal-0.9.10/khal.egg-info/PKG-INFO 2018-10-09 18:05:14.000000000 +0200 @@ -1,12 +1,11 @@ -Metadata-Version: 1.1 +Metadata-Version: 2.1 Name: khal -Version: 0.9.8 +Version: 0.9.10 Summary: A standards based terminal calendar Home-page: http://lostpackets.de/khal/ Author: Christian Geier et. al. Author-email: k...@lostpackets.de License: Expat/MIT -Description-Content-Type: UNKNOWN Description: khal ==== .. image:: https://travis-ci.org/pimutils/khal.svg?branch=master @@ -117,3 +116,4 @@ Classifier: Programming Language :: Python :: 3 :: Only Classifier: Topic :: Utilities Classifier: Topic :: Communications +Provides-Extra: proctitle diff -Nru khal-0.9.8/khal.egg-info/SOURCES.txt khal-0.9.10/khal.egg-info/SOURCES.txt --- khal-0.9.8/khal.egg-info/SOURCES.txt 2017-10-05 23:20:27.000000000 +0200 +++ khal-0.9.10/khal.egg-info/SOURCES.txt 2018-10-09 18:05:14.000000000 +0200 @@ -58,6 +58,7 @@ doc/source/news/khal096.rst doc/source/news/khal097.rst doc/source/news/khal098.rst +doc/source/news/khal099.rst doc/source/ystatic/.gitignore doc/source/ytemplates/layout.html doc/webpage/src/new_rss_url.rst diff -Nru khal-0.9.8/PKG-INFO khal-0.9.10/PKG-INFO --- khal-0.9.8/PKG-INFO 2017-10-05 23:20:27.000000000 +0200 +++ khal-0.9.10/PKG-INFO 2018-10-09 18:05:15.000000000 +0200 @@ -1,12 +1,11 @@ -Metadata-Version: 1.1 +Metadata-Version: 2.1 Name: khal -Version: 0.9.8 +Version: 0.9.10 Summary: A standards based terminal calendar Home-page: http://lostpackets.de/khal/ Author: Christian Geier et. al. Author-email: k...@lostpackets.de License: Expat/MIT -Description-Content-Type: UNKNOWN Description: khal ==== .. image:: https://travis-ci.org/pimutils/khal.svg?branch=master @@ -117,3 +116,4 @@ Classifier: Programming Language :: Python :: 3 :: Only Classifier: Topic :: Utilities Classifier: Topic :: Communications +Provides-Extra: proctitle diff -Nru khal-0.9.8/tests/cli_test.py khal-0.9.10/tests/cli_test.py --- khal-0.9.8/tests/cli_test.py 2017-10-05 23:19:29.000000000 +0200 +++ khal-0.9.10/tests/cli_test.py 2018-10-09 18:01:22.000000000 +0200 @@ -373,6 +373,8 @@ assert not result.exception +# "see #810" +@pytest.mark.xfail def test_repeating(runner): runner = runner(default_command='list', days=2) now = datetime.datetime.now().strftime('%d.%m.%Y') @@ -651,8 +653,10 @@ # Non existing file result = runner.invoke(main_khal, ['printics', 'nonexisting_file']) assert result.exception - assert 'Error: Invalid value for "ics": Could not open file: ' \ - in result.output + assert ('Error: Invalid value for "ics": Could not open file: ' \ + in result.output or \ + 'Error: Invalid value for "[ICS]": Could not open file:' \ + in result.output) # Run on test files result = runner.invoke(main_khal, ['printics', _get_ics_filepath('cal_d')]) @@ -681,7 +685,7 @@ runner = runner(command='printics') result = runner.invoke(main_khal, ['printics'], input=_get_text('cal_d')) assert not result.exception - assert result.output == '1 events found in stdin input\n An Event\n' + assert '1 events found in stdin input\n An Event\n' in result.output def test_configure_command_config_exists(runner): diff -Nru khal-0.9.8/tox.ini khal-0.9.10/tox.ini --- khal-0.9.8/tox.ini 2017-04-08 01:18:22.000000000 +0200 +++ khal-0.9.10/tox.ini 2018-10-09 18:01:22.000000000 +0200 @@ -20,7 +20,7 @@ pytest-cov pytest-capturelog freezegun - vdirsyncer + vdirsyncer<0.17.0 pytz201702: pytz==2017.2 pytz201610: pytz==2016.10