0

ファイルの変更を追跡し、変更があった場合にサーバーを更新する、Dropbox に似たファイル ウォッチャーを作成しようとしています。残念ながら、私が使用している Watchdog の fileSystemHandler の実装では、ファイルの削除を検出できません。ここにオブザーバーコードがあります

class MyHandler(FileSystemEventHandler):


    def on_any_event(self, event):
        message = dict()

        try:
            index = event.src_path.index('onedir')
            message['filename'] = str(event.src_path[index+7:])
        except:
            print "NoneType error, could not update"
        message['timestamp'] = str(datetime.datetime.now())
        message['username'] = str(self.username)
        message['password'] = str(self.password)
        messageStr = json.dumps(message)
        print messageStr
        print event.event_type
        urlExtension = ""
        if event.event_type == "created":
            urlExtension = '/userfile/newfile'
        elif event.event_type == 'modified':
            urlExtension = '/userfile/updatefile'
        elif event.event_type == 'deleted':
            urlExtension = '/userfile/deletefile'
        else:
            return
        self.sendJson(urlExtension, message)

そして、ここに FileSystemHandler を開始するコードがあります

def run(self):
    event_handler = MyHandler()
    event_handler.username = self.username
    event_handler.password = self.password
    self.observer.schedule(event_handler, self.path, recursive=True)
    self.observer.start()
4

0 に答える 0