def purge_deleted(apmec_config, table_name, age, granularity='days'): try: age = int(age) except ValueError: msg = _("'%s' - age should be an integer") % age raise exceptions.InvalidInput(error_message=msg) if age < 0: msg = _("'%s' - age should be a positive integer") % age raise exceptions.InvalidInput(error_message=msg) if granularity not in GRANULARITY.keys(): msg = _("'%s' granularity should be days, hours, minutes, " "or seconds") % granularity raise exceptions.InvalidInput(error_message=msg) age *= GRANULARITY[granularity] time_line = timeutils.utcnow() - datetime.timedelta(seconds=age) engine = get_engine(apmec_config) meta = sqlalchemy.MetaData() meta.bind = engine inspector = inspect(engine) assoc_map = _generate_associated_tables_map(inspector) if table_name == 'events': _purge_events_table(meta, engine, time_line) elif table_name == 'all': _purge_events_table(meta, engine, time_line) for t in ['mea', 'mead', 'vims']: _purge_resource_tables(t, meta, engine, time_line, assoc_map) else: _purge_resource_tables(table_name, meta, engine, time_line, assoc_map)
def _validate_no_whitespace(data): """Validates that input has no whitespace.""" if len(data.split()) > 1: msg = _("'%s' contains whitespace") % data LOG.debug(msg) raise n_exc.InvalidInput(error_message=msg) return data
def convert_kvp_str_to_list(data): """Convert a value of the form 'key=value' to ['key', 'value']. :raises n_exc.InvalidInput: if any of the strings are malformed (e.g. do not contain a key). """ kvp = [x.strip() for x in data.split('=', 1)] if len(kvp) == 2 and kvp[0]: return kvp msg = _("'%s' is not of the form <key>=[value]") % data raise n_exc.InvalidInput(error_message=msg)
def convert_to_boolean(data): if isinstance(data, six.string_types): val = data.lower() if val == "true" or val == "1": return True if val == "false" or val == "0": return False elif isinstance(data, bool): return data elif isinstance(data, int): if data == 0: return False elif data == 1: return True msg = _("'%s' cannot be converted to boolean") % data raise n_exc.InvalidInput(error_message=msg)
def convert_to_int(data): try: return int(data) except (ValueError, TypeError): msg = _("'%s' is not an integer") % data raise n_exc.InvalidInput(error_message=msg)