def insert_into_service_path_table_db( self, service_path_ip, service_path_id, service_path_name, service_path_best_ip=None, service_path_best_path_local_pref=None, service_path_best_via_ip=None, service_path_best_loopback_ip=None): """ Checks service paths in """ date_created = datetime.datetime.now() try: ServicePathTable.insert( service_path_ip=service_path_ip, service_path_name=service_path_name, service_path_description=service_path_description, service_path_enabled=service_path_enabled, created_by=created_by, date_created=date_created).execute() self.status = 'Service Path Added: {}'.format(service_path_name) return self.status except IntegrityError as out_error: output = str(out_error) if "Duplicate" in output and "service_path_ip" in output: self.status = 'IP is already in use.' self.error = True return self.status if "Duplicate" in output and "service_path_name" in output: self.status = 'Name is already in use.' self.error = True return self.status
def insert_record(self, insert_dict): """ Function to insert record into the service path table. Model is as follows: class ServicePathTable(BaseModel): alt_path_0_ip = CharField(null=True) alt_path_0_local_pref = IntegerField(null=True) alt_path_0_loopback_ip = CharField(null=True) alt_path_0_via_ip = CharField(null=True) alt_path_1_ip = CharField(null=True) alt_path_1_local_pref = IntegerField(null=True) alt_path_1_loopback_ip = CharField(null=True) alt_path_1_via_ip = CharField(null=True) alt_path_2_ip = CharField(null=True) alt_path_2_local_pref = IntegerField(null=True) alt_path_2_loopback_ip = CharField(null=True) alt_path_2_via_ip = CharField(null=True) alt_path_3_ip = CharField(null=True) alt_path_3_local_pref = IntegerField(null=True) alt_path_3_loopback_ip = CharField(null=True) alt_path_3_via_ip = CharField(null=True) alt_path_4_ip = CharField(null=True) alt_path_4_local_pref = IntegerField(null=True) alt_path_4_loopback_ip = CharField(null=True) alt_path_4_via_ip = CharField(null=True) alt_path_5_ip = CharField(null=True) alt_path_5_local_pref = IntegerField(null=True) alt_path_5_loopback_ip = CharField(null=True) alt_path_5_via_ip = CharField(null=True) counter = IntegerField() date = DateTimeField() error = CharField(null=True) service_path_best_path_ip = CharField(null=True) service_path_best_path_local_pref = IntegerField(null=True) service_path_best_path_via_ip = CharField(null=True) service_path_best_path_via_loopback_ip = CharField(null=True) service_path = ForeignKeyField(db_column='service_path_id', rel_model=ServicePathPaths, to_field='id') sh_command_output = CharField(null=True) sh_command_output = CharField(null=True) id = IntegerField(primary_key=True) class Meta: db_table = 'service_path_table' """ self.insert_dict = insert_dict row_insert = ServicePathTable.insert(**self.insert_dict).execute() self.insert_output = row_insert