mirror of
https://github.com/MikroWizard/mikroman.git
synced 2025-07-02 18:14:33 +02:00
79 lines
2.4 KiB
Python
79 lines
2.4 KiB
Python
#!/usr/bin/python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
# db_sysconfig.py: Models and functions for accsessing db related to mikrowizard system configs
|
|
# MikroWizard.com , Mikrotik router management solution
|
|
# Author: sepehr.ha@gmail.com
|
|
|
|
from peewee import *
|
|
|
|
from libs.db.db import User,BaseModel,get_object_or_404
|
|
import logging
|
|
log = logging.getLogger("db_sysconfig")
|
|
|
|
class Sysconfig(BaseModel):
|
|
|
|
#id - automatic
|
|
|
|
key = TextField()
|
|
value = TextField()
|
|
|
|
created_by = ForeignKeyField(db_column='created_by', null=True,
|
|
model=User, to_field='id')
|
|
created = DateTimeField()
|
|
modified = DateTimeField()
|
|
|
|
class Meta:
|
|
db_table = 'sysconfig'
|
|
|
|
def get_default_user():
|
|
return get_object_or_404(Sysconfig, key="default_user")
|
|
|
|
def get_all():
|
|
return Sysconfig.select()
|
|
|
|
def save_all(data):
|
|
Sysconfig.insert_many(data).on_conflict(conflict_target=['key'], preserve=(Sysconfig.value,Sysconfig.modified)).execute()
|
|
|
|
def get_default_password():
|
|
return get_object_or_404(Sysconfig, key="default_password")
|
|
def update_sysconfig(key,value):
|
|
return Sysconfig.update(value=value).where(Sysconfig.key == key).execute()
|
|
|
|
def get_scan_mode():
|
|
return get_object_or_404(Sysconfig, key="scan_mode")
|
|
|
|
def get_sysconfig(key):
|
|
return get_object_or_404(Sysconfig, key=key).value
|
|
|
|
def get_firmware_latest():
|
|
return get_object_or_404(Sysconfig, key="latest_version")
|
|
|
|
def get_firmware_action():
|
|
return get_object_or_404(Sysconfig, key="old_firmware_action")
|
|
|
|
def get_firmware_old():
|
|
return get_object_or_404(Sysconfig, key="old_version")
|
|
|
|
def get_mac_scan_interval():
|
|
return get_object_or_404(Sysconfig, key="mac_scan_interval")
|
|
|
|
def get_ip_scan_interval():
|
|
"""Return Movie or throw."""
|
|
return get_object_or_404(Sysconfig, key="ip_scan_interval")
|
|
|
|
def update_sysconfig(key,value):
|
|
return Sysconfig.insert(value=value,key=key).on_conflict(conflict_target=['key'], preserve=['key'], update={'value':value}).execute() # firm.version = version
|
|
|
|
def set_sysconfig(key,value):
|
|
return Sysconfig.insert(value=value, key=key).on_conflict(conflict_target=['key'], preserve=['key'], update={'value':value}).execute() # firm.version = version
|
|
|
|
|
|
# --------------------------------------------------------------------------
|
|
|
|
if __name__ == '__main__':
|
|
|
|
# quick adhoc tests
|
|
logging.basicConfig(level=logging.DEBUG)
|
|
|
|
|