mirror of
https://github.com/MikroWizard/mikroman.git
synced 2025-07-23 12:16:18 +02:00
fix firmware folder and redownload if fimware file has problem
This commit is contained in:
parent
f7f70828f6
commit
75138ab41d
2 changed files with 3 additions and 6 deletions
|
@ -135,7 +135,6 @@ def get_firmware(firmid):
|
||||||
# return buildResponse({'result':'failed', 'err':"Device not found"}, 200)
|
# return buildResponse({'result':'failed', 'err':"Device not found"}, 200)
|
||||||
|
|
||||||
if firm:
|
if firm:
|
||||||
log.error(dev_ip)
|
|
||||||
data={
|
data={
|
||||||
"devip":dev_ip,
|
"devip":dev_ip,
|
||||||
# "devid":dev.id,
|
# "devid":dev.id,
|
||||||
|
|
|
@ -898,7 +898,8 @@ def extract_zip (file,path):
|
||||||
log.error(e)
|
log.error(e)
|
||||||
|
|
||||||
def download_firmware_to_repository(version,q,arch="all",all_package=False):
|
def download_firmware_to_repository(version,q,arch="all",all_package=False):
|
||||||
repository='/app/firms/'
|
#repository='/app/firms/'
|
||||||
|
repository=config.FIRM_DIR
|
||||||
#create direcorty version in repository if not exist
|
#create direcorty version in repository if not exist
|
||||||
path=repository+version+"/"
|
path=repository+version+"/"
|
||||||
os.makedirs(path, exist_ok=True)
|
os.makedirs(path, exist_ok=True)
|
||||||
|
@ -910,7 +911,6 @@ def download_firmware_to_repository(version,q,arch="all",all_package=False):
|
||||||
links=get_mikrotik_download_links(version)
|
links=get_mikrotik_download_links(version)
|
||||||
if links:
|
if links:
|
||||||
links=links[version]
|
links=links[version]
|
||||||
log.error(links)
|
|
||||||
firm=db_firmware.Firmware()
|
firm=db_firmware.Firmware()
|
||||||
for lnk in links:
|
for lnk in links:
|
||||||
if all_package and arch+"-allpackage" == lnk:
|
if all_package and arch+"-allpackage" == lnk:
|
||||||
|
@ -921,7 +921,6 @@ def download_firmware_to_repository(version,q,arch="all",all_package=False):
|
||||||
log.error(link)
|
log.error(link)
|
||||||
done=web2file(link, file, sha256=sha256)
|
done=web2file(link, file, sha256=sha256)
|
||||||
files=extract_zip(file, path)
|
files=extract_zip(file, path)
|
||||||
log.error(files)
|
|
||||||
try:
|
try:
|
||||||
if done and len(files)>0:
|
if done and len(files)>0:
|
||||||
for f in files:
|
for f in files:
|
||||||
|
@ -938,8 +937,6 @@ def download_firmware_to_repository(version,q,arch="all",all_package=False):
|
||||||
if arch!="all" and arch==lnk:
|
if arch!="all" and arch==lnk:
|
||||||
arch_togo=lnk
|
arch_togo=lnk
|
||||||
link=links[lnk]["link"]
|
link=links[lnk]["link"]
|
||||||
log.error(arch)
|
|
||||||
log.error(link)
|
|
||||||
sha256=links[lnk]["sha"]
|
sha256=links[lnk]["sha"]
|
||||||
file=path+"{}.npk".format(arch)
|
file=path+"{}.npk".format(arch)
|
||||||
done=web2file(link, file,sha256=sha256)
|
done=web2file(link, file,sha256=sha256)
|
||||||
|
@ -1021,6 +1018,7 @@ def update_device(dev,q):
|
||||||
else:
|
else:
|
||||||
q.put({"id": dev.id})
|
q.put({"id": dev.id})
|
||||||
if firm and firm.architecture == arch:
|
if firm and firm.architecture == arch:
|
||||||
|
download_firmware_to_repository(str(ver_to_install), False,arch=arch,all_package=False)
|
||||||
dev.failed_attempt=dev.failed_attempt+1
|
dev.failed_attempt=dev.failed_attempt+1
|
||||||
if dev.failed_attempt > 3:
|
if dev.failed_attempt > 3:
|
||||||
db_events.firmware_event(dev.id,"updater","Update Failed","Critical",0,"Unable to Update device")
|
db_events.firmware_event(dev.id,"updater","Update Failed","Critical",0,"Unable to Update device")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue