MikroWizard Initial commit | MikroMan Welcome to the world :)

This commit is contained in:
sepehr 2024-07-20 15:48:46 +03:30
commit 8c49b9a55d
96 changed files with 12274 additions and 0 deletions

59
py/libs/db/db_firmware.py Normal file
View file

@ -0,0 +1,59 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# db_firmware.py: Models and functions for accsessing db related to Firmware
# MikroWizard.com , Mikrotik router management solution
# Author: sepehr.ha@gmail.com
from peewee import *
from libs.db.db import BaseModel,get_object_or_none
import logging
log = logging.getLogger("db_firmware")
class Firmware(BaseModel):
version = TextField()
location = TextField()
architecture = TextField()
sha256 = TextField()
created = DateTimeField()
class Meta:
# `indexes` is a tuple of 2-tuples, where the 2-tuples are
# a tuple of column names to index and a boolean indicating
# whether the index is unique or not.
db_table = 'firmware'
def get_firm(id):
return get_object_or_none(Firmware, id=id)
def get_frim_by_version(version,arch):
return get_object_or_none(Firmware, version=version, architecture=arch)
def create_perm(datas):
for data in datas:
perm=Firmware()
perm.version = data["version"]
perm.location = data["location"]
perm.architecture = data["architecture"]
perm.sha256 = data["sha256"]
perm.save(force_insert=True)
def query_firms(page=0, limit=1000, search=None):
page = int(page or 0)
limit = int(limit or 1000)
q = Firmware.select()
if search:
search = "%"+search+"%"
q = q.where(Firmware.version ** search)
q = q.paginate(page, limit).order_by(Firmware.id.desc())
return q
# --------------------------------------------------------------------------
if __name__ == '__main__':
# quick adhoc tests
logging.basicConfig(level=logging.DEBUG)