diff --git a/cfg/linse-box2_5b2a64.cfg b/cfg/linse-box2_5b2a64.cfg new file mode 100644 index 0000000..a157bab --- /dev/null +++ b/cfg/linse-box2_5b2a64.cfg @@ -0,0 +1,10 @@ +[NETWORK] +; please refer to README.md for help +eth0=wan +eth1=192.168.2.2 +eth2=192.168.3.3 +eth3=192.168.127.254 + +[ROUTER] +; please refer to README.md for help +3001=192.168.127.254:3001 diff --git a/install.py b/install.py index 9353f24..5027db2 100755 --- a/install.py +++ b/install.py @@ -475,6 +475,8 @@ def handle_config(): cfgfile = BoxInfo.CFGPATH % (newhostname, box.id) with open(cfgfile, 'w') as f: f.write(template) + config = box.read_config() + cfgfile = box.cfgfile if box.hostname_changed or cfgfile != BoxInfo.CFGPATH % (newhostname, box.id): box.hostname_changed = True if cfgfile: diff --git a/utils.py b/utils.py index cd00ad0..0c154fc 100644 --- a/utils.py +++ b/utils.py @@ -56,10 +56,14 @@ class BoxInfo: def read_config(self, section=None): cfgfiles = glob(self.CFGPATH % ('*', self.id)) - if len(cfgfiles) != 1: - raise ValueError('there must be one and only one single cfgfile %r' % cfgfiles) + if len(cfgfiles) > 1: + raise ValueError('ambiguous cfgfile: %r' % cfgfiles) + if section and not cfgfiles: + raise ValueError('no cfg file found for %s' % self.id) if cfgfiles: self.cfgfile = cfgfiles[0] + else: + return {} parser = ConfigParser() parser.read(self.cfgfile) if section: