config: replace open-coded cfg.get[int]
[hippotat] / hippotatlib / __init__.py
index 16bba81..ce94a86 100644 (file)
@@ -110,7 +110,8 @@ def logevent_is_boringtwisted(event):
     if dflag is None and DBG.TWISTED in debug_set: return False
     return True
   except Exception:
-    print(traceback.format_exc(), file=org_stderr)
+    print('EXCEPTION (IN BORINGTWISTED CHECK)',
+          traceback.format_exc(), file=org_stderr)
     return False
 
 @implementer(twisted.logger.ILogFilterPredicate)
@@ -136,9 +137,11 @@ max_batch_up = 4000
 http_retry = 5
 port = 80
 vroutes = ''
+ifname_client = hippo%%d
+ifname_server = shippo%%d
 
 #[server] or [<client>] overrides
-ipif = userv root ipif %(local)s,%(peer)s,%(mtu)s,slip %(rnets)s
+ipif = userv root ipif %(local)s,%(peer)s,%(mtu)s,slip,%(ifname)s %(rnets)s
 
 # relating to virtual network
 mtu = 1500
@@ -149,7 +152,7 @@ mtu = 1500
 # relating to virtual network
 vvnetwork = 172.24.230.192
 # vnetwork = <prefix>/<len>
-# vadd  r  = <ipaddr>
+# vaddr    = <ipaddr>
 # vrelay   = <ipaddr>
 
 
@@ -430,8 +433,8 @@ def _cfg_process_putatives():
 
   return (servers, clients)
 
-def cfg_process_common(c, ss):
-  c.mtu = cfg.getint(ss, 'mtu')
+def cfg_process_general(c, ss):
+  c.mtu = cfg1getint(ss, 'mtu')
 
 def cfg_process_saddrs(c, ss):
   class ServerAddr():
@@ -457,20 +460,20 @@ def cfg_process_saddrs(c, ss):
     def __repr__(self):
       return 'ServerAddr'+repr((self.port,self.addr))
 
-  c.port = cfg.getint(ss,'port')
+  c.port = cfg1getint(ss,'port')
   c.saddrs = [ ]
-  for addrspec in cfg.get(ss, 'addrs').split():
+  for addrspec in cfg1get(ss, 'addrs').split():
     sa = ServerAddr(c.port, addrspec)
     c.saddrs.append(sa)
 
 def cfg_process_vnetwork(c, ss):
-  c.vnetwork = ipnetwork(cfg.get(ss,'vnetwork'))
+  c.vnetwork = ipnetwork(cfg1get(ss,'vnetwork'))
   if c.vnetwork.num_addresses < 3 + 2:
     raise ValueError('vnetwork needs at least 2^3 addresses')
 
 def cfg_process_vaddr(c, ss):
   try:
-    c.vaddr = cfg.get(ss,'vaddr')
+    c.vaddr = cfg1get(ss,'vaddr')
   except NoOptionError:
     cfg_process_vnetwork(c, ss)
     c.vaddr = next(c.vnetwork.hosts())
@@ -481,13 +484,23 @@ def cfg_search_section(key,sections):
       return section
   raise NoOptionError(key, repr(sections))
 
+def cfg_get_raw(*args, **kwargs):
+  # for passing to cfg_search
+  return cfg.get(*args, raw=True, **kwargs)
+
 def cfg_search(getter,key,sections):
   section = cfg_search_section(key,sections)
   return getter(section, key)
 
+def cfg1get(*args, **kwargs):
+  return cfg.get(*args, **kwargs)
+
+def cfg1getint(*args, **kwargs):
+  return cfg.getint(*args, **kwargs)
+
 def cfg_process_client_limited(cc,ss,sections,key):
-  val = cfg_search(cfg.getint, key, sections)
-  lim = cfg_search(cfg.getint, key, ['%s LIMIT' % ss, 'LIMIT'])
+  val = cfg_search(cfg1getint, key, sections)
+  lim = cfg_search(cfg1getint, key, ['%s LIMIT' % ss, 'LIMIT'])
   cc.__dict__[key] = min(val,lim)
 
 def cfg_process_client_common(cc,ss,cs,ci):
@@ -502,7 +515,7 @@ def cfg_process_client_common(cc,ss,cs,ci):
   try: pwsection = cfg_search_section('password', sections)
   except NoOptionError: return None
     
-  pw = cfg.get(pwsection, 'password')
+  pw = cfg1get(pwsection, 'password')
   cc.password = pw.encode('utf-8')
 
   cfg_process_client_limited(cc,ss,sections,'target_requests_outstanding')
@@ -519,7 +532,7 @@ def cfg_process_ipif(c, sections, varmap):
   #print('CFGIPIF',repr((varmap, sections, c.__dict__)),file=sys.stderr)
 
   section = cfg_search_section('ipif', sections)
-  c.ipif_command = cfg.get(section,'ipif', vars=c.__dict__)
+  c.ipif_command = cfg1get(section,'ipif', vars=c.__dict__)
 
 #---------- startup ----------
 
@@ -538,7 +551,7 @@ def common_startup(process_cfg):
   def readconfig(pathname, mandatory=True):
     def log(m, p=pathname):
       if not DBG.CONFIG in debug_set: return
-      log_debug_config('%s: %s' % (m, pathname))
+      log_debug_config('%s: %s' % (m, p))
 
     try:
       files = os.listdir(pathname)