Added password hint
This commit is contained in:
+27
-2
@@ -360,20 +360,45 @@ class MikrotikModelMixin(RoutedModelAbstract):
|
||||
|
||||
|
||||
def sync_from_mikrotik(classname):
|
||||
to_delete = []
|
||||
_st = classname()
|
||||
for i in _st.router_get_all:
|
||||
i = {k.replace('-', '_'): v for k, v in i.items()}
|
||||
try:
|
||||
existing = classname.objects.get(id=i['id'])
|
||||
existing = list(classname.objects.filter(id=i['id']))
|
||||
if not existing:
|
||||
raise ValueError("Empty")
|
||||
|
||||
_to_delete = []
|
||||
if len(existing) > 1:
|
||||
_to_delete = [a.internal_id for a in existing]
|
||||
for e in existing:
|
||||
if e.active_address:
|
||||
existing = [e]
|
||||
break
|
||||
|
||||
|
||||
_logger.error(f"More than 1 Entry for id {i['id']} - {existing}")
|
||||
|
||||
existing = existing[0]
|
||||
if _to_delete:
|
||||
_to_delete.remove(existing.internal_id)
|
||||
to_delete.extend(_to_delete)
|
||||
for k, v in i.items():
|
||||
if hasattr(existing, k):
|
||||
_logger.debug(f'Updating {k} to {v} - {existing}')
|
||||
setattr(existing, k, v)
|
||||
existing.save()
|
||||
except classname.DoesNotExist:
|
||||
except (ValueError, classname.DoesNotExist):
|
||||
_logger.info(f'Creating {i["id"]}')
|
||||
try:
|
||||
classname.objects.create(**i)
|
||||
except IntegrityError as e:
|
||||
_logger.error(f'Could not create {i["id"]}, already exists')
|
||||
_logger.exception(e)
|
||||
if to_delete:
|
||||
deletions = classname.objects.filter(internal_id__in=to_delete)
|
||||
_logger.warning(f"Delete {classname} items {deletions}")
|
||||
# deletions.delete()
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user