diff --git a/watcher.py b/watcher.py index 647a2cf..56546b5 100755 --- a/watcher.py +++ b/watcher.py @@ -39,7 +39,7 @@ import subprocess from types import * from string import Template -import ConfigParser +import configparser import argparse class Daemon: @@ -65,7 +65,7 @@ def daemonize(self): if pid > 0: #exit first parent sys.exit(0) - except OSError, e: + except OSError as e: sys.stderr.write("fork #1 failed: %d (%s)\n" % (e.errno, e.strerror)) sys.exit(1) @@ -80,16 +80,16 @@ def daemonize(self): if pid > 0: # exit from second parent sys.exit(0) - except OSError, e: + except OSError as e: sys.stderr.write("fork #2 failed: %d (%s)\n" % (e.errno, e.strerror)) sys.exit(1) #redirect standard file descriptors sys.stdout.flush() sys.stderr.flush() - si = file(self.stdin, 'r') - so = file(self.stdout, 'a+') - se = file(self.stderr, 'a+', 0) + si = open(self.stdin, 'r') + so = open(self.stdout, 'a+') + se = open(self.stderr, 'a+', 0) os.dup2(si.fileno(), sys.stdin.fileno()) os.dup2(so.fileno(), sys.stdout.fileno()) os.dup2(se.fileno(), sys.stderr.fileno()) @@ -97,7 +97,7 @@ def daemonize(self): #write pid file atexit.register(self.delpid) pid = str(os.getpid()) - file(self.pidfile, 'w+').write("%s\n" % pid) + open(self.pidfile, 'w+').write("%s\n" % pid) def delpid(self): os.remove(self.pidfile) @@ -108,7 +108,7 @@ def start(self): """ # Check for a pidfile to see if the daemon already runs try: - pf = file(self.pidfile, 'r') + pf = open(self.pidfile, 'r') pid = int(pf.read().strip()) pf.close() except IOError: @@ -129,7 +129,7 @@ def stop(self): """ # get the pid from the pidfile try: - pf = file(self.pidfile, 'r') + pf = open(self.pidfile, 'r') pid = int(pf.read().strip()) pf.close() except IOError: @@ -145,13 +145,13 @@ def stop(self): while 1: os.kill(pid, SIGTERM) time.sleep(0.1) - except OSError, err: + except OSError as err: err = str(err) if err.find("No such process") > 0: if os.path.exists(self.pidfile): os.remove(self.pidfile) else: - print str(err) + print(str(err)) sys.exit(1) def restart(self): @@ -163,17 +163,17 @@ def restart(self): def status(self): try: - pf = file(self.pidfile, 'r') + pf = open(self.pidfile, 'r') pid = int(pf.read().strip()) pf.close() except IOError: pid = None if pid: - print "service running" + print("service running") sys.exit(0) if not pid: - print "service not running" + print("service not running") sys.exit(3) def run(self): @@ -201,51 +201,51 @@ def runCommand(self, event): cookie=self.shellquote(event.cookie if hasattr(event, "cookie") else 0)) try: os.system(command) - except OSError, err: - print "Failed to run command '%s' %s" % (command, str(err)) + except OSError as err: + print("Failed to run command '%s' %s" % (command, str(err))) def process_IN_ACCESS(self, event): - print "Access: ", event.pathname + print("Access: ", event.pathname) self.runCommand(event) def process_IN_ATTRIB(self, event): - print "Attrib: ", event.pathname + print("Attrib: ", event.pathname) self.runCommand(event) def process_IN_CLOSE_WRITE(self, event): - print "Close write: ", event.pathname + print("Close write: ", event.pathname) self.runCommand(event) def process_IN_CLOSE_NOWRITE(self, event): - print "Close nowrite: ", event.pathname + print("Close nowrite: ", event.pathname) self.runCommand(event) def process_IN_CREATE(self, event): - print "Creating: ", event.pathname + print("Creating: ", event.pathname) self.runCommand(event) def process_IN_DELETE(self, event): - print "Deleteing: ", event.pathname + print("Deleteing: ", event.pathname) self.runCommand(event) def process_IN_MODIFY(self, event): - print "Modify: ", event.pathname + print("Modify: ", event.pathname) self.runCommand(event) def process_IN_MOVE_SELF(self, event): - print "Move self: ", event.pathname + print("Move self: ", event.pathname) self.runCommand(event) def process_IN_MOVED_FROM(self, event): - print "Moved from: ", event.pathname + print("Moved from: ", event.pathname) self.runCommand(event) def process_IN_MOVED_TO(self, event): - print "Moved to: ", event.pathname + print("Moved to: ", event.pathname) self.runCommand(event) def process_IN_OPEN(self, event): - print "Opened: ", event.pathname + print("Opened: ", event.pathname) self.runCommand(event) class WatcherDaemon(Daemon): @@ -367,7 +367,7 @@ def log(msg): args = parser.parse_args() # Parse the config file - config = ConfigParser.ConfigParser() + config = configparser.ConfigParser() if(args.config): confok = config.read(args.config) else: @@ -392,6 +392,6 @@ def log(msg): elif 'debug' == args.command: daemon.run() else: - print "Unkown Command" + print("Unkown Command") sys.exit(2) sys.exit(0)