def populate_raw_data_types(drop): """ Populate default set of raw data types into the system. :param drop: Drop the existing collection before trying to populate. :type: boolean """ # define your raw data types here data_types = ['Text', 'JSON'] if drop: RawDataType.drop_collection() if len(RawDataType.objects()) < 1: for data_type in data_types: dt = RawDataType() dt.name = data_type dt.save() print "Raw Data Types: added %s types!" % len(data_types) else: print "Raw Data Types: existing documents detected. skipping!"
def add_new_raw_data_type(data_type, analyst): """ Add a new RawData datatype to CRITs. :param data_type: The new datatype to add. :type data_type: str :param analyst: The user adding the new datatype. :type analyst: str :returns: bool """ data_type = data_type.strip() try: raw_data_type = RawDataType.objects(name=data_type).first() if raw_data_type: return False raw_data_type = RawDataType() raw_data_type.name = data_type raw_data_type.save(username=analyst) return True except ValidationError: return False