data coming back is unicode, so make sure we encode to utf-8. otherwise errors (e.g., UnicodeEncodeError: 'ascii' codec can't encode character ...) can be encountered when buffered (e.g., while piping output to less).
diff --git a/list_instances.py b/list_instances.py index ebddee0..044117b 100755 --- a/list_instances.py +++ b/list_instances.py
@@ -45,9 +45,9 @@ for ti in instances['results']: print '\t'.join([ str(ti['id']), - ti['status'], - ti['student_display_name'], - ti['task_definition_name'] + ti['status'].encode('utf-8'), + ti['student_display_name'].encode('utf-8'), + ti['task_definition_name'].encode('utf-8') ]) next_page = 0
diff --git a/list_tasks.py b/list_tasks.py index d80caad..098a495 100755 --- a/list_tasks.py +++ b/list_tasks.py
@@ -43,7 +43,7 @@ while next_page > 0: tasks = client.ListTasks(page=next_page) for t in tasks['results']: - print '\t'.join([str(t['id']), t['name']]) + print '\t'.join([str(t['id']), t['name'].encode('utf-8')]) next_page = 0 if tasks['next']: