londiste: call handler at add-table time
authorMarko Kreen <markokr@gmail.com>
Fri, 19 Nov 2010 13:17:51 +0000 (15:17 +0200)
committerMarko Kreen <markokr@gmail.com>
Fri, 26 Nov 2010 11:27:32 +0000 (13:27 +0200)
python/londiste/setup.py

index a323ab20b81edf1de1538d562bfaf057b3810630..9ea44bbb1574d102f1aaf72287c3f9217b68b35c 100644 (file)
@@ -162,20 +162,21 @@ class LondisteSetup(CascadeAdmin):
             self.log.warning('Table "%s" missing on subscriber, use --create if necessary' % tbl)
             return
 
-        attrs = {}
+        tgargs = []
+        if self.options.trigger_arg:
+            tgargs = self.options.trigger_arg
+        tgflags = self.options.trigger_flags
+        if tgflags:
+            tgargs.append('tgflags='+tgflags)
 
+        attrs = {}
         hlist = self.options.handler
         if hlist:
             p = londiste.handler.build_handler(tbl, hlist)
             attrs['handlers'] = ":".join(hlist)
+            p.add(tgargs)
 
         # actual table registration
-        tgflags = self.options.trigger_flags
-        tgargs = self.options.trigger_arg # None by default
-        if tgflags:
-            if not tgargs:
-                tgargs = []
-            tgargs.append('tgflags='+tgflags)
         q = "select * from londiste.local_add_table(%s, %s, %s)"
         self.exec_cmd(dst_curs, q, [self.set_name, tbl, tgargs])