+ def update_ip(self):
+ try:
+ command = "/sbin/ifconfig eth0 | grep -v inet6 | grep inet | awk '{print$2;}'"
+ (status, output) = self.commands(command)
+ ip = re.findall(r'[0-9\.]+', output)[0]
+ except:
+ ip = "127.0.0.1"
+ self['ip'] = ip.strip()
+ return self['ip']
+
+ def update_api(self):
+ # Set up API acccess
+ # If plc is specified, find its configuration
+ # and use its API
+ self.update_ip()
+ name, ip, port, path = self['name'], self['ip'], self['port'], self['api_path']
+ if self.config.verbose:
+ utils.header("Updating %(name)s's api to https://%(ip)s:%(port)s/%(path)s" % locals(), logfile = self.config.logfile)
+ api_server = "https://%(ip)s:%(port)s/%(path)s" % locals()
+ self.config.api = xmlrpclib.Server(api_server, allow_none = 1)
+ self.config.api_type = 'xmlrpc'
+
+ def scp_to_webroot(self, localfiles, recursive = False):
+ if self.config.verbose:
+ utils.header("Copying %s to %s webroot" % (localfiles, self['name']), logfile = self.config.logfile)
+ self.scp_to("%(localfiles)s" % locals(), "/var/www/html/")
+
+class PLCs(Table):