|
@@ -113,7 +113,6 @@ class VersionManagement(View):
|
|
|
resolutionRatio = request_dict.get('resolutionRatio', '')
|
|
|
Description = request_dict.get('Description', '')
|
|
|
status = request_dict.get('status', 0)
|
|
|
- fileSize = request_dict.get('fileSize', '')
|
|
|
|
|
|
if not all([file, mci, lang, ESN, max_ver, channel, resolutionRatio]):
|
|
|
return response.json(444)
|
|
@@ -124,15 +123,22 @@ class VersionManagement(View):
|
|
|
status = int(status)
|
|
|
# 文件名为设备版本,最后一个'.'的前面为软件版本,后面为设备规格名称
|
|
|
# V2.2.4.16E201252CA,软件版本:2.2.4,设备规格名称:16E201252CA
|
|
|
+ # V1.7.2.36C11680X30411F000600000150001Z,软件版本:1.7.2,设备规格名称:36C11680X30411F000600000150001Z
|
|
|
file_name = str(file) # 文件名
|
|
|
- version = file_name[:file_name.rindex('.')] # 设备版本
|
|
|
- rpoint = version.rindex('.')
|
|
|
- softwareVersion = version[1:rpoint] # 软件版本
|
|
|
- code = version[rpoint+1:] # 设备规格名称
|
|
|
+ # .img和.tar.gz文件
|
|
|
+ file_type_index = file_name.find('.img')
|
|
|
+ if file_type_index == -1:
|
|
|
+ file_type_index = file_name.find('.tar')
|
|
|
+ if file_type_index == -1:
|
|
|
+ return response.json(444, {'error': 'unsupported file type'})
|
|
|
+ version = file_name[:file_type_index] # 设备版本
|
|
|
+ version_index = version.rindex('.')
|
|
|
+ softwareVersion = version[1:version_index] # 软件版本
|
|
|
+ code = version[version_index+1:] # 设备规格名称
|
|
|
chipModelList2Code = code[:4] # 主芯片
|
|
|
- type = code[-3:-1] # 设备机型
|
|
|
+ type = code[8:10] # 设备机型
|
|
|
companyCode = code[-1:] # 公司代码
|
|
|
- fileSize = fileSize
|
|
|
+ fileSize = file.size
|
|
|
filePath = '/'.join(('static/otapack', mci, lang, file_name))
|
|
|
file_data = file.read()
|
|
|
fileMd5 = hashlib.md5(file_data).hexdigest()
|