def is_uuid(uuid): """Check if provided string is a UUID""" if validation.is_uuid(uuid): return True else: print('Invalid uuid %s.' % uuid) return False
def __init__(self, ip_address, password=None, script=None, uuid=None, ipv6_address=None, ipv6_gateway=None, ipv6_prefix=None, persistent=False): if re.match('[0-9A-Z]{8}', ip_address.upper()): octets = [str(int(x, 16)) for x in re.findall('..', ip_address)] ip_address = '.'.join(octets) get_mode = True else: get_mode = False self.ip_address = ip_address self.script = script # set ipv6 parameters only when all are provided if (ipv6_address and ipv6_gateway and ipv6_prefix) is not None: self.ipv6_address = ipv6_address self.ipv6_gateway = ipv6_gateway self.ipv6_prefix = ipv6_prefix else: self.ipv6_address = None self.ipv6_gateway = None self.ipv6_prefix = None # if uuid is passed, validate it. In case validation fails # a new uuid is generated if uuid is None: self.uuid = None else: if validation.is_uuid(uuid): self.uuid = str(UUID(uuid)) else: self.uuid = str(uuid4()) if self.exists(): self.label = self.get_label() if (self.ipv6_address and self.ipv6_gateway and self.ipv6_prefix) is None: self.ipv6_address = self.get_ipv6_address() self.ipv6_gateway = self.get_ipv6_gateway() self.ipv6_prefix = self.get_ipv6_prefix() if script is None: self.script = self.get_script() # fetch uuid from config file only in get_mode, we don't want # to reuse and old uuid if none was passed if get_mode: self.uuid = self.get_uuid() if password not in [None, '']: self.password = password self.persistent = persistent
def __init__(self, ip_address, password=None, script=None, uuid=None, ipv6_address=None, ipv6_gateway=None, ipv6_prefix=None): if re.match('[0-9A-Z]{8}', ip_address.upper()): octets = [str(int(x, 16)) for x in re.findall('..', ip_address)] ip_address = '.'.join(octets) get_mode = True else: get_mode = False self.ip_address = ip_address self.script = script # set ipv6 parameters only when all are provided if (ipv6_address and ipv6_gateway and ipv6_prefix) is not None: self.ipv6_address = ipv6_address self.ipv6_gateway = ipv6_gateway self.ipv6_prefix = ipv6_prefix else: self.ipv6_address = None self.ipv6_gateway = None self.ipv6_prefix = None # if uuid is passed, validate it. In case validation fails # a new uuid is generated if uuid is None: self.uuid = None else: if validation.is_uuid(uuid): self.uuid = str(UUID(uuid)) else: self.uuid = str(uuid4()) if self.exists(): self.label = self.get_label() if (self.ipv6_address and self.ipv6_gateway and self.ipv6_prefix) is None: self.ipv6_address = self.get_ipv6_address() self.ipv6_gateway = self.get_ipv6_gateway() self.ipv6_prefix = self.get_ipv6_prefix() if script is None: self.script = self.get_script() # fetch uuid from config file only in get_mode, we don't want # to reuse and old uuid if none was passed if get_mode: self.uuid = self.get_uuid() if password not in [None, '']: self.password = password
def post(self, uuid): """Creates a new statusupdate for a UUID""" if not validation.is_uuid(uuid): return abort(404) parser = reqparse.RequestParser(bundle_errors=True) parser.add_argument('status_code', type=int, required=True) parser.add_argument('step_description', type=str, required=True) parser.add_argument('current_step', type=int, required=True) parser.add_argument('total_steps', type=int, required=True) args = parser.parse_args(request) install = InstallStatus(uuid) install.insert_status(args.status_code, args.step_description, args.current_step, args.total_steps) return
def is_uuid(uuid): """Check if provided string is a UUID.""" return validation.is_uuid(uuid)