From f713dfd5b75faec29519b0601f05a0513a86340c Mon Sep 17 00:00:00 2001 From: Tobias Brox Date: Mon, 17 Dec 2018 10:56:55 +0100 Subject: more fixing, ref https://github.com/tobixen/calendar-cli/issues/45 --- calendar-cli.py | 9 ++++++--- tests/script_test.sh | 8 ++++---- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/calendar-cli.py b/calendar-cli.py index 63c1cc6..d1843fa 100755 --- a/calendar-cli.py +++ b/calendar-cli.py @@ -488,17 +488,20 @@ def calendar_agenda(caldav_conn, args): event[timeattr] = event[timeattr].strftime(args.timestamp_format) else: event[timeattr] = '-' - for textattr in ('description', 'location'): + for textattr in vcal_txt_one: if hasattr(event['instance'], textattr): event[textattr] = getattr(event['instance'], textattr).value + else: + event[textattr] = '-' for summary_attr in ('summary', 'location', 'description'): if hasattr(event['instance'], summary_attr): event['summary'] = getattr(event['instance'], summary_attr).value break event['uid'] = event['instance'].uid.value if hasattr(event['instance'], 'uid') else '' ## TODO: this will probably break and is probably moot on python3? - if isinstance(event['summary'], unicode): - event['summary'] = event['summary'].encode('utf-8') + for attr in vcal_txt_one + ['summary']: + if isinstance(event['summary'], unicode): + event['summary'] = event['summary'].encode('utf-8') print(args.event_template.format(**event)) def todo_select(caldav_conn, args): diff --git a/tests/script_test.sh b/tests/script_test.sh index d33a9d5..33f8530 100755 --- a/tests/script_test.sh +++ b/tests/script_test.sh @@ -25,7 +25,7 @@ calendar_cli() { ## CLEANUP from earlier failed test runs -for uid in $(../calendar-cli calendar agenda --from-time=2010-10-10 --agenda-days=1 --event-template='{uid}') ; do ../calendar-cli calendar delete --event-uid=$uid ; done +for uid in $($calendar_cli calendar agenda --from-time=2010-10-10 --agenda-days=1 --event-template='{uid}') ; do calendar_cli calendar delete --event-uid=$uid ; done ## TESTING @@ -39,7 +39,7 @@ echo "## Attempting to add a past event at 2010-10-09 20:00:00, 2 hours duration calendar_cli calendar add '2010-10-09 20:00:00+2h' 'testing testing' uid=$(echo $output | perl -ne '/uid=(.*)$/ && print $1') echo "## Attempting to add a past event at 2010-10-10 20:00:00, CET (1 hour duration is default)" -calendar_cli calendar add '2010-10-10 20:00:00+01:00' 'testing testing' +calendar_cli calendar add '2010-10-10 20:00:00+01:00' 'testing testing' --set-description='this is a test calendar event' uid2=$(echo $output | perl -ne '/uid=(.*)$/ && print $1') echo "## Attempting to add a past event at 2010-10-11 20:00:00, CET, 3h duration" calendar_cli calendar add '2010-10-11 20:00:00+01:00+3h' 'testing testing' @@ -47,8 +47,8 @@ uid3=$(echo $output | perl -ne '/uid=(.*)$/ && print $1') echo "## OK: Added the event, uid is $uid" echo "## Taking out the agenda for 2010-10-09 + four days" -calendar_cli calendar agenda --from-time=2010-10-09 --agenda-days=4 -echo $output | { grep -q 'testing testing' && echo "## OK: found the event" ; } || echo "## FAIL: didn't find the event" +calendar_cli calendar agenda --from-time=2010-10-09 --agenda-days=4 --event-template='{description}' +echo $output | { grep -q 'this is a test calendar event' && echo "## OK: found the event" ; } || echo "## FAIL: didn't find the event" echo "## Taking out the agenda for 2010-10-10, with uid" calendar_cli calendar agenda --from-time=2010-10-10 --agenda-days=1 --event-template='{dtstart} {uid}' -- cgit v1.2.3