2016-10-10 6 views
0

Ich schreibe ein Skript in python3.5, das überprüfen muss, ob die Datei auf Dropbox neuer als eine lokale Datei ist. Wenn die Datei neuer ist, muss sie heruntergeladen werden.Python 3.5 Dropbox API geändertes Datum wird nicht aktualisiert

Das Problem, das ich habe, ist, dass das Datum auf dem Server scheint nicht zu aktualisieren. Ist es möglich, dass es nur zu bestimmten Zeiten aktualisiert wird?

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 

Ausgang:
2016-10-10 13:05:35
2016-10-10 15: 04: 25,861405

was es sein sollte:
2016-10-10- 15.10.00
2016.10.10 15: 04: 25,861405

So gibt es falsch, während es wahr sein muss.

Ich habe die Datei auf Dropbox ein paar Mal aktualisiert, aber es wird nicht aktualisiert. Ich habe auch im Internet gesucht, aber ich konnte nichts finden. Auch verwende ich den Dropbox-Client nicht, sondern direkt im Browser, und ja, ich aktualisiere die Datei im Apps-Ordner von Dropbox;) Wenn mehr Informationen benötigt werden, lass es mich wissen!

Kann mir jemand helfen? Vielen Dank im Voraus!

Antwort

0

Das Problem war der Unterschied zwischen Zeitzonen. Ich bin in GMT +2, während Dropbox GMT +0 ist. Also habe ich diese Linie geändert

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

Jetzt funktioniert es perfekt.