def create(self, request, system_id=None): s = System() s.hostname = system_id try: s.save() resp = rc.CREATED resp.write('json = {"id":%i, "hostname":"%s"}' % (s.id, s.hostname)) except: resp = rc.BAD_REQUEST resp.write('Unable to Create Host') return resp
def system_import(blob): if 'pk' in blob: try: system = System.objects.get(pk=blob['pk']) return system_update(system, blob) except System.DoesNotExist: raise BadImportData( bad_blob=blob, msg='Could not find the System with primary key ' '{0}.'.format(blob['pk'])) else: recurse_confirm_no_pk(blob) system = System() return system_update(system, blob)
def create_fake_host(**kwargs): """ This is a factory for building valid Systems. This factory should be used instead of calling System methods directly for making new systems made for testing. If a new field ever becomes required we can make sure it is filled in here instead of updating every test that creates a new System. """ if 'system_type' in kwargs: system_type = kwargs.pop('system_type') else: type_name = random_str() while SystemType.objects.filter(type_name=type_name).exists(): type_name = random_str() system_type, _ = SystemType.objects.get_or_create(type_name=type_name) if 'allocation' in kwargs: allocation = kwargs.pop('allocation') else: allocation_name = random_str() while Allocation.objects.filter(name=allocation_name).exists(): allocation_name = random_str() allocation, _ = Allocation.objects.get_or_create(name=allocation_name) if 'serial' in kwargs: serial = kwargs.pop('serial') else: serial = random_str() while System.objects.filter(serial=serial).exists(): type_name = random_str() save = kwargs.pop('save', True) s = System(allocation=allocation, serial=serial, system_type=system_type, warranty_start=datetime.datetime.now(), warranty_end=datetime.datetime.now(), **kwargs) if save: s.save() return s
test_role_1 = Role(name="Test Role 1", owner=extra_users[0]) test_role_1.save() extra_users[0].roles.add(test_role_1) test_role_1_admin_permission = create_permission(ValidPermissions.ROLE_ADMIN, test_role_1.id) test_role_1.permissions.add(test_role_1_admin_permission) with open("data/systems.json") as f: systems_data = json.load(f) for system_data in systems_data: if not system_data.get("basics", False): system_data["basics"] = None system = System(**{ k: v for k, v in system_data.items() if k not in ["genres", "publisher"] }) system.save() if system_data["publisher"]: publisher, _ = Publisher.objects.get_or_create( name=system_data["publisher"]["name"], defaults={"website": system_data["publisher"]["site"]}, ) system.publisher = publisher if system_data["genres"]: for genre_data in system_data["genres"]: genre, _ = Genre.objects.get_or_create(genre=genre_data) system.genres.add(genre) print(f"Created system: {system.name}") print("\n")