Esempio n. 1
0
def update_road_condition_action(road_condition_action_id: int,
                                 instrument_system_id: int, action_name: str,
                                 road_condition_action_goal_id: int,
                                 constraint: RoadConstraintInputObject,
                                 description: str,
                                 instrument_action_ids: graphene.List(
                                     graphene.Int)) -> RoadConditionAction:
    road_condition_action = get_road_condition_action_by_id(
        road_condition_action_id)
    if road_condition_action_goal_id:
        road_condition_action.road_condition_action_goal = \
            get_road_condition_action_goal_by_id(road_condition_action_goal_id)
    if instrument_system_id:
        road_condition_action.instrument_system = \
            get_instrument_system_with_id(instrument_system_id)
    if action_name:
        update_road_condition_action_name(road_condition_action, action_name)
    if constraint:
        update_road_condition_constraint(road_condition_action, constraint)
    road_condition_action.description = description \
        if description else road_condition_action.description

    if instrument_action_ids:
        replace_instrument_action(road_condition_action, instrument_action_ids)

    road_condition_action.save()
    return road_condition_action
def create_road_condition_action(road_condition_id: int,
                                 instrument_system_id: int, action_name: str,
                                 road_condition_action_goal_id: int,
                                 constraint: RoadConstraintInputObject,
                                 description: str,
                                 instrument_action_ids: graphene.List(
                                     graphene.Int),
                                 auto_resolver: bool = False) \
        -> RoadConditionAction:
    instrument_system = get_instrument_system_with_id(instrument_system_id)
    road_condition_action_goal = get_road_condition_action_goal_by_id(
        road_condition_action_goal_id)

    new_constraint = create_road_condition_action_constraint(constraint)

    road_condition_action = RoadConditionAction(
        road_condition_action_goal=road_condition_action_goal,
        instrument_system=instrument_system,
        constraint=new_constraint,
        description=description)
    road_condition = get_road_condition_with_id(road_condition_id)
    update_road_condition_action_name(road_condition_action, action_name,
                                      auto_resolver)
    road_condition_action.save()
    RoadConditionToRoadConditionAction(
        road_condition=road_condition,
        road_condition_action=road_condition_action).save()

    replace_instrument_action(road_condition_action, instrument_action_ids)
    return road_condition_action
def create_instrument(name: str,
                      instrument_type_id: int,
                      lat: float,
                      lng: float,
                      instrument_system_id: int,
                      description: str,
                      labels: LabelArrayInputObject = []) -> Instrument:
    instrument_type = get_instrument_type(instrument_type_id)
    instrument_system = get_instrument_system_with_id(instrument_system_id)

    instrument = Instrument(name=name,
                            instrument_type=instrument_type,
                            lat=lat,
                            lng=lng,
                            instrument_system=instrument_system,
                            description=description)

    instrument.save()
    for l in labels:
        InstrumentToLabel(instrument=instrument, label=create_label(l)).save()

    return instrument
Esempio n. 4
0
def update_instrument(instrument_id: int, name: str, lat: float, lng: float,
                      description: str,
                      instrument_system_id: int, instrument_type_id: int,
                      labels: LabelArrayInputObject) -> Instrument:
    instrument = get_instrument_with_id(instrument_id)

    instrument.name = name if name else instrument.name
    instrument.lat = lat if lat else instrument.lat
    instrument.lng = lng if lng else instrument.lng
    instrument.description = description \
        if description else instrument.description
    if instrument_system_id:
        instrument.instrument_system = get_instrument_system_with_id(
            instrument_system_id)
    if instrument_type_id:
        instrument.instrument_type = get_instrument_type(instrument_type_id)
    instrument.save()

    if labels:
        InstrumentToLabel.objects.filter(instrument_id=instrument.id).delete()
        for l in labels:
            InstrumentToLabel(instrument=instrument,
                              label=create_label(l)).save()
    return instrument
Esempio n. 5
0
 def test_get_instrument_system_exception(self):
     with self.assertRaises(ObjectNotFoundException):
         get_instrument_system_with_id(-1)
Esempio n. 6
0
 def test_has_and_get_instrument_system(self):
     instrument_system = self.instrument_systems[0]
     getter_instrument_type = get_instrument_system_with_id(
         instrument_system.id)
     self.assertEqual(instrument_system, getter_instrument_type)
     self.assertTrue(has_instrument_system_with_id(instrument_system.id))