- def _walk_load(self, args, dname, fnames):
- for fname in fnames:
- if fname.endswith('.tmpl'):
- template_file = os.path.join(dname, fname)
- self.add(template_file)
-
- def load(self):
- if not self._loaded:
- os.path.walk(self._base, self._walk_load, None)
- for path, filename in self._files.items():
- __import__('.'.join(['templates']+list(path)))
- self._loaded = True
-
- def _event_handler(self, event):
- if event.name.endswith('.tmpl') and not event.name.startswith('.'):
- if event.maskname == 'IN_DELETE':
- self.remove(event.pathname)
- else:
- time.sleep(0.5)
- self.add(event.pathname)
-
+ def _walk_path(self, path_name):
+ def _walk_load(args, dname, fnames):
+ for fname in fnames:
+ if fname.endswith('.tmpl'):
+ template_file = os.path.join(dname, fname)
+ self.add(path_name, template_file)
+ return _walk_load
+
+ def load(self, path_name):
+ os.path.walk(path_name, self._walk_path(path_name), None)
+ for path, filename in self._files.items():
+ logging.debug('TEMPLATE LOAD [%s] %s', path, filename)
+ __import__('.'.join(['templates']+list(path)))
+ self._event_add_watch(path_name)
+
+ def _path_event_handler(self, path_name):
+ def _event_handler(event):
+ logging.debug('TEMPLATE EVENT: %s', repr(event.__dict__.items()))
+ if event.name.endswith('.tmpl') and not event.name.startswith('.'):
+ if event.maskname == 'IN_DELETE':
+ self.remove(event.pathname)
+ else:
+ time.sleep(0.5)
+ self.add(path_name, event.pathname)
+ return _event_handler