Questo non risponderà direttamente alla tua domanda, ma è inteso più come soluzione temporanea; Il dropbox sdk fornisce un semplice esempio di updown.py che utilizza la dimensione del file e il tempo di modifica per controllare la valuta di un file.
un esempio abbreviato tratto da updown.py:
dbx = dropbox.Dropbox(api_token)
...
# returns a dictionary of name: FileMetaData
listing = list_folder(dbx, folder, subfolder)
# name is the name of the file
md = listing[name]
# fullname is the path of the local file
mtime = os.path.getmtime(fullname)
mtime_dt = datetime.datetime(*time.gmtime(mtime)[:6])
size = os.path.getsize(fullname)
if (isinstance(md, dropbox.files.FileMetadata) and mtime_dt == md.client_modified and size == md.size):
print(name, 'is already synced [stats match]')
Grazie. Temeva quello che mi hai detto. Dovrò salvare url-local_sha1-server_rev :( –
Doh! Ho appena colpito questo problema. Sono davvero sorpreso che l'API di Dropbox non fornisca una somma SHA1 o qualcosa per i file nei metadati, così non lo farai t tenere traccia di questo manualmente. –