2016-10-10 6 views
0

Я пишу скрипт в python3.5, который должен проверить, есть ли файл на Dropbox более новый, чем локальный файл. Если файл более новый, ему необходимо загрузить файл.Python 3.5 Дата обновления Dropbox API не обновляется

Проблема, с которой я сталкиваюсь, заключается в том, что дата на сервере не обновляется. Возможно ли, что он обновляется только в определенное время?

code snippet: 
    def check_if_needed(dbx): 
     server_date = dbx.files_get_metadata('/Verlichting.zip').server_modified 
     version_epoch = os.path.getmtime('versie.txt') 
     version_date = datetime.datetime.fromtimestamp(version_epoch) 

     print (server_date) 
     print (version_date) 

    if (version_date < server_date): 
     return True 


    return False 

выход:
2016-10-10 13:05:35
2016-10-10 15: 04: 25,861405

, что это должно быть:
2016-10-10- 15:10:00
2016-10-10 15: 04: 25.861405

Таким образом, он возвращает False, в то время как он должен быть истинным.

Я обновил файл на Dropbox пару раз, но он не обновляется. Я также смотрел в Интернете, но ничего не мог найти. Также я не использую клиент Dropbox, но прямо в браузере, и да, я обновляю файл в папке Apps, созданной dropbox;) Если вам нужна дополнительная информация, дайте мне знать!

Любой, кто может мне помочь? Спасибо заранее!

ответ

0

Проблема заключалась в разнице между часовыми поясами. Я нахожусь в GMT +2, а dropbox - GMT +0. Таким образом, я преследовал эту линию

version_date = datetime.datetime.fromtimestamp(version_epoch) - datetime.timedelta(hours=2) 

Теперь он отлично работает.