/delta 機能を使用して、Dropbox アカウントに変更があったかどうかを確認しています。
初めて実行するとき ('has_more' が False になるまで) は問題ありません。しかし、(前の呼び出しのカーソルを使用して) 再度実行すると、ファイルのリストが表示されます。(ファイルを変更せずに) もう一度実行すると、同じファイルのリストが表示されます (ただし、ファイルは変更されていません)。これらのファイルは共有フォルダーにあると考えました。そのフォルダー内の新しいファイル セットで再度テストしたところ、同じ結果が得られました。これらのファイルは変更されていませんが、デルタ エントリに表示されます。
どうしたの?
これはバグだと思います。それを回避する方法はありますか?
編集:これがコードです
def getDeltaEntries(self): #this function is a method of a class
def _getDelta():
delta = self.client.delta(self.cursor)
entries = delta.get('entries')
has_more = delta.get('has_more')
self.cursor = delta['cursor']
while has_more:
delt = self.client.delta(self.cursor)
entries.extend(delta.get('entries'))
has_more = delt.get('has_more')
self.cursor = delta['cursor']
return entries
#workaround: query for delta twice and if the result is the same both times,
#it implies there's no change
ent1 = _getDelta()
ent2 = _getDelta()
if ent1 == ent2:
entries = []
else:
entries = ent1
return entries