Commit 2802f2b9 by Őry Máté

store: add doc

parent c8a7d50d
......@@ -7,31 +7,43 @@ COUNT=5
wm = WatchManager()
mask = IN_CREATE | IN_MODIFY | IN_DONT_FOLLOW
"""
Register given file to ~/../.top dir as a symbolic link.
"""
def update_new(name):
if os.path.normpath(name).find("/.") != -1:
return
home = pwd.getpwuid(os.stat(name).st_uid).pw_dir
if not name.startswith(home):
return
return # outside home
top_dir = os.path.normpath(os.path.join(home, "../.top"))
try:
os.mkdir(top_dir)
except OSError:
for f in os.listdir(top_dir):
if os.readlink(os.path.join(top_dir, f)) == name:
return
return # duplicate
for i in range(1, COUNT):
try:
os.rename(os.path.join(top_dir, str(i+1)), os.path.join(top_dir, str(i)))
except OSError as e:
pass
os.symlink(name, os.path.join(top_dir, str(COUNT)))
"""
Process inotify event.
"""
class Process(ProcessEvent):
def process_default(self, event):
if event.name:
update_new(os.path.join(event.path, event.name))
"""
Watch continuously file modifications in /home.
"""
def main():
notifier = Notifier(wm, Process())
wdd = wm.add_watch('/home', mask, rec=True)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment