Commit c6adb06c authored by Nick Yefremov's avatar Nick Yefremov

Added pyinotify for RedirectorWatch

parent 3444015e
import sys import sys
import pyinotify
from core import generators from core import generators
from core import logger from core import logger
...@@ -13,8 +14,6 @@ class Redirector: ...@@ -13,8 +14,6 @@ class Redirector:
self.config_generator = generators.ConfigGenerator() self.config_generator = generators.ConfigGenerator()
def generate(self, yaml_file, map_file): def generate(self, yaml_file, map_file):
import pdb
pdb.set_trace()
project_name = "Error" project_name = "Error"
try: try:
data, project_name = self.parser.parse_map(map_file, yaml_file) data, project_name = self.parser.parse_map(map_file, yaml_file)
...@@ -45,7 +44,32 @@ class Redirector: ...@@ -45,7 +44,32 @@ class Redirector:
class RedirectorWatch: class RedirectorWatch:
def __init__(self): def __init__(self):
self.logger = logger.Logger("redirector-watch.log")
self.redirector = Redirector()
self.mask = pyinotify.IN_MODIFY
watch_manager = pyinotify.WatchManager()
self.notifier = pyinotify.AsyncioNotifier(watch_manager, self.Watch())
@staticmethod
def parse_many(filename):
with open(filename, "r") as file_:
return (line.split() for line in file_.readlines())
def add_files(self, map_file, yaml_file, filename=None):
if filename:
for map_, yaml_ in filename:
pass
else:
pass pass
try:
self.notifier.loop(daemonize=True, callback=self.watch,
pid_file='/tmp/pyinotify.pid', stdout='/tmp/pyinotify.log')
except pyinotify.NotifierError as err:
self.logger.log(err)
@staticmethod
def watch(*args):
print(args)
def main(args=None): def main(args=None):
......
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 to comment