mirror of
https://github.com/bb-Ricardo/netbox-sync.git
synced 2026-01-19 23:40:26 -06:00
Merge branch 'fix/manufacturer-slug-issue' into development
This commit is contained in:
@@ -100,12 +100,15 @@ class NetBoxInventory:
|
||||
if data_id is not None and data_id != 0:
|
||||
return self.get_by_id(object_type, nb_id=data_id)
|
||||
|
||||
# add slug to data if slug is primary key
|
||||
if object_type.primary_key == "slug" and data.get("name") is not None:
|
||||
data["slug"] = NetBoxObject.format_slug(data.get("name"))
|
||||
# try to find object by slug
|
||||
if "slug" in object_type.data_model.keys() and data.get("name") is not None:
|
||||
object_slug = NetBoxObject.format_slug(data.get("name"))
|
||||
for this_object in self.get_all_items(object_type):
|
||||
if this_object.data.get("slug") == object_slug:
|
||||
return this_object
|
||||
|
||||
# try to find by primary/secondary key
|
||||
if data.get(object_type.primary_key) is not None:
|
||||
elif data.get(object_type.primary_key) is not None:
|
||||
object_name_to_find = None
|
||||
for this_object in self.get_all_items(object_type):
|
||||
|
||||
|
||||
@@ -468,15 +468,14 @@ class NetBoxObject:
|
||||
# value must be a string witch a certain max length
|
||||
if isinstance(defined_value_type, int):
|
||||
if not isinstance(value, str):
|
||||
log.error(f"Invalid data type for '{self.__class__.__name__}.{key}' (must be str), got: '{value}'")
|
||||
log.error(f"Invalid data type for '{self.__class__.__name__}.{key}' (must be str), got: "
|
||||
f"{value} ({type(value)})")
|
||||
continue
|
||||
|
||||
value = value[0:defined_value_type]
|
||||
|
||||
if key == "slug":
|
||||
value = self.format_slug(text=value, max_len=defined_value_type)
|
||||
else:
|
||||
value = value[0:defined_value_type]
|
||||
|
||||
if isinstance(defined_value_type, list):
|
||||
|
||||
@@ -1230,7 +1229,7 @@ class NBPrefix(NetBoxObject):
|
||||
class NBManufacturer(NetBoxObject):
|
||||
name = "manufacturer"
|
||||
api_path = "dcim/manufacturers"
|
||||
primary_key = "slug"
|
||||
primary_key = "name"
|
||||
prune = False
|
||||
data_model = {
|
||||
"name": 50,
|
||||
|
||||
Reference in New Issue
Block a user