##// END OF EJS Templates
inotify.server: the decorator eventaction() shouldn't be a method of repowatcher
Benoit Boissinot -
r8791:23730a47 default
parent child Browse files
Show More
@@ -142,6 +142,24 b' class pollable(object):'
142 def shutdown(self):
142 def shutdown(self):
143 raise NotImplementedError
143 raise NotImplementedError
144
144
145 def eventaction(code):
146 """
147 Decorator to help handle events in repowatcher
148 """
149 def decorator(f):
150 def wrapper(self, wpath):
151 if code == 'm' and wpath in self.lastevent and \
152 self.lastevent[wpath] in 'cm':
153 return
154 self.lastevent[wpath] = code
155 self.timeout = 250
156
157 f(self, wpath)
158
159 wrapper.func_name = f.func_name
160 return wrapper
161 return decorator
162
145 class repowatcher(pollable):
163 class repowatcher(pollable):
146 """
164 """
147 Watches inotify events
165 Watches inotify events
@@ -439,21 +457,6 b' class repowatcher(pollable):'
439 self.statcache.pop(wpath, None)
457 self.statcache.pop(wpath, None)
440 raise
458 raise
441
459
442 def eventaction(code):
443 def decorator(f):
444 def wrapper(self, wpath):
445 if code == 'm' and wpath in self.lastevent and \
446 self.lastevent[wpath] in 'cm':
447 return
448 self.lastevent[wpath] = code
449 self.timeout = 250
450
451 f(self, wpath)
452
453 wrapper.func_name = f.func_name
454 return wrapper
455 return decorator
456
457 @eventaction('c')
460 @eventaction('c')
458 def created(self, wpath):
461 def created(self, wpath):
459 if wpath == '.hgignore':
462 if wpath == '.hgignore':
General Comments 0
You need to be logged in to leave comments. Login now