Сортировать словарь в хронологическом порядке по дате в присутствии типа None - PullRequest
0 голосов
/ 16 ноября 2018

Я отображаю содержимое словаря (список задач, использующих API todoist) на моем рабочем столе.

Я хочу, чтобы они отображались в хронологическом порядке в соответствии с датой исполнения (и в конце списка, если срок не установлен -> None). Срок выполнения записывается в словаре в следующем формате: 'due_date_utc': 'Tue 13 Nov 2018 04:59:59 +0000',, а когда срок выполнения не установлен: 'due_date_utc': None,. В настоящее время мой код:

rank = 0  # Simple counter to number the task (ie: 1-,  2-, 3-...)
for i in api.state['items']:  # going through all the items in todoist
    if i['checked'] == 0:  # if the item is incomplete
        rank += 1
        print(rank, "- ", i['contents'])  # Prints the list number and the task itself...

Я уже просмотрел этот пост и этот пост , но возникают две основные проблемы:

  1. Они ломаются при встрече с None типом
  2. Они сортируют по номеру или по алфавиту, а не по дате.

Я знаю, что могу настроить среду списков для разных месяцев года, но я подумал, что может быть готовое (и более простое решение), поскольку формат даты, используемый API, довольно универсален.

Если вам интересно узнать о API todoist и его содержимом, вот его страница документации.

...