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
示例#4
0
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")