예제 #1
0
파일: api.py 프로젝트: haowj/build
def super_data_build_result(request):
    """
    获取super data 插件构建结果
    :param request:
    :return:
    """
    auth = authentication(request)
    if auth == 200:
        try:
            dev_model = request.GET.get('dev_model')
            tag = request.GET.get('tag')
            reason = str(request.GET.get('reason')).strip().replace(
                '\n', ';').replace("\t", "").replace(" ", "")
            user = str(request.user)
            is_test = None
            if tag == 'RC':
                is_test = True
            if dev_model:
                build_status = get_superd(dev_model, tag, reason, user,
                                          is_test)
                return JsonResponse(build_status)
            return JsonError('参数异常')
        except Exception as e:
            return JsonError(str(e))
    return auth
예제 #2
0
def set_oem(request):
    """
    新增 厂商编码信息
    :param request:
    :return:
    """
    auth = authentication(request)
    if auth==200:
        try:
            oem_name = request.GET.get('oem_name')
            oem_code = request.GET.get('oem_code')
            comment = str(request.GET.get('comment')).strip().replace('\n', ';').replace("\t", "").replace(" ", "")
            user = request.user
            insert_into_oem(comment=comment,
                            user=str(user),
                            oem_code=oem_code,
                            oem_name=oem_name)
            rdata = sp_api.addoem(oem_name=oem_name,oem_code=oem_code,comment=comment,user=str(user))
            rapdata = ap_api.add_oem(name=oem_name, code=oem_code)

            log.debug(rdata)
            log.debug(rapdata)
            return JsonResponse('add ok')
        except Exception as e:
            log.error(e)
            return JsonError(str(e))
    return auth
예제 #3
0
파일: api.py 프로젝트: haowj/build
def set_strategy(request):
    """
    根据型号进行打包 superD
    :param request:
    :return:
    """
    auth = authentication(request)
    if auth == 200:
        user = str(request.user)
        dev_model = str(request.GET.get('dev_model_id'))
        package_contains_path = str(request.GET.get('package_contains_path'))
        default_conf = request.GET.get('package_contains_type')
        superdcf_id = request.GET.get('superdcf_id')
        zdpi_sig_id = request.GET.get('zdpi_sig_id')
        superd_id = request.GET.get('superd_id')
        pack_type = request.GET.get('pack_type')
        docking_solution = request.GET.get('docking_solution')
        connector = request.GET.get('connector')
        pac_info = PackageDB(user, dev_model, package_contains_path, superd_id,
                             connector, superdcf_id, zdpi_sig_id, pack_type,
                             docking_solution, default_conf)
        data = pac_info.package_build
        if data:
            return JsonError(data)
        else:
            return JsonResponse('成功')
    return auth
예제 #4
0
파일: views.py 프로젝트: haowj/build
def get_tag(request):
    auth = authentication(request)
    if auth == 200:
        tag_data = get_tag_info(status=1)

        super_data = ['RC']
        super_api_load = ['RC']
        connector = ['RC']
        if tag_data:
            for t_i in tag_data:
                if 'superd' in t_i['project_name']:
                    super_data.append(t_i['tag'])
                elif 'sapiloader' in t_i['project_name']:
                    super_api_load.append(t_i['tag'])
                elif 'connector' in t_i['project_name']:
                    connector.append(t_i['tag'])

        vdata = {
            'superd': '插件版本',
            'sapiloader': '加载器版本',
            'connector': '连接器版本',
        }
        data = {
            'vdata': vdata,
            'superd_tag_list': super_data,
            'sapiloader_tag_list': super_api_load,
            'connector_type': connector_type,
            'connector': connector
        }
        return render(request, 'strategy/tag.html', data)
    return auth
예제 #5
0
파일: api.py 프로젝트: haowj/build
def tag_add(request):
    """
    新增版本
    :param request:
    :return:
    """
    auth = authentication(request)
    if auth == 200:
        try:
            tag = request.GET.get('tag')
            sw = request.GET.get('sw')
            comment = str(request.GET.get('comment')).strip().replace(
                '\n', ';').replace("\t", "").replace(" ", "")
            user = request.user
            msg = '操作人:build[{}],说明:{}'.format(user, comment)
            if sw and tag and comment:
                get_data_ass = get_tag_info(project_name=sw, tag=tag, status=1)
                if get_data_ass:
                    if len(get_data_ass) > 0:
                        return JsonError(f"请勿重复添加相同的版本号:{tag}")
                path, branch = getProjeck_path(sw)
                log.debug('sw:{},pj_path:{},msg:{},tag:{}'.format(
                    sw, path, msg, tag))
                git = GitProcess(path)
                git.init_project()
                git.createTag(tag, msg, sw, path, branch, str(user))
            else:
                return JsonError(f"参数数据缺失:tag={tag}、sw={sw}、comment={comment}")
            return JsonResponse(1)
        except Exception as e:
            log.error(e)
            return JsonError(str(e))
    return auth
예제 #6
0
def set_super_config(request):
    """
    新增 配置文件信息
    :param request:
    :return:
    """
    auth = authentication(request)
    if auth==200:
        try:
            if request.method == "POST":
                file_obj = request.FILES.get('file')
                superdcf_version = request.POST.get('version')
                dev_model = request.POST.get('dev_model')
                cf_type = request.POST.get('cf_type')
                comment = str(request.POST.get('comment')).strip().replace('\n',';').replace("\t", "").replace(" ","")
                user = str(request.user)
                # 写入数据库
                data = inset_into_super_config(file_obj, superdcf_version, dev_model, cf_type, comment, user)
                if type(data) == str:
                    return JsonError(data)
                if not data[1]:
                    return JsonError('数据已存在')
                return JsonResponse('upload ok!')
        except Exception as e:
            return JsonError(str(e))
    return auth
예제 #7
0
def get_dev_model(request):
    auth = authentication(request)
    if auth == 200:
        a = get_model_type()
        b =get_all_version_data()['dev_model']
        return render(request, 'strategy/dev_model.html', {'get': b, 'add': a})
    return auth
예제 #8
0
파일: api.py 프로젝트: haowj/build
def get_package_one_info(request):
    """
    打包:
        根据ID查询打包结果
        查询插件打包结果
    :param request:
    :return:
    """
    auth = authentication(request)
    if auth == 200:
        try:
            ids = request.GET.get('id')
            types = request.GET.get('type')
            if ids:
                if types == 'pg':
                    data = get_info_super_data_package(id=ids)
                elif types == 'sapiloader':
                    data = get_info_super_api_loader_package(id=ids)
                else:
                    data = [0]
                return JsonResponse(data)
        except Exception as e:
            log.error(e)
            return JsonError(str(e))
    return auth
예제 #9
0
파일: api.py 프로젝트: haowj/build
def get_filter_package_info(request):
    """
    打包
        根据设备型号查找打包结果
    :param request:
    :return:
    """

    auth = authentication(request)

    if auth == 200:
        try:
            t = request.GET.get('t')
            dev_model = request.GET.get('dev_model')

            if t == 'pg':
                package_contains_path_type = request.GET.get(
                    'package_contains_path_type')
                package_contains_path = package_contains_path_dict[
                    package_contains_path_type]
                data = get_info_super_data_package(
                    dev_model=dev_model,
                    package_contains_path_type=package_contains_path_type,
                    package_contains_path=package_contains_path)[:100]
            elif t == 'sapiloader':
                data = get_info_super_data_package(dev_model=dev_model)[:100]
            else:
                data = {}
            return JsonResponse(data)
        except Exception as e:
            log.error(e)
            return JsonError(str(e))
    return auth
예제 #10
0
파일: api.py 프로젝트: haowj/build
def tag_info(request):
    """
    根据Id获取版本详情
    :param request:
    :return:
    """
    auth = authentication(request)
    if auth == 200:
        try:
            tag_sw = str(request.GET.get('tag'))
            tag = tag_sw.split('_')[0]
            sw = tag_sw.split('_')[1]
            if tag:
                path, branch = getProjeck_path(sw)
                git = GitProcess(path)
                git.init_project()
                log.debug('sw:{},pj_path:{},tag:{}'.format(sw, path, tag))
                if tag == 'RC':
                    cmd = 'git log -n1'
                else:
                    cmd = "git show {}".format(tag)
                data = executionShell(cmd, path)
                adata = []
                for i in data:
                    if len(i) > 1:
                        i = str(i).replace('<', '').replace('>', '')
                        adata.append(i)
                return JsonResponse(adata)
        except Exception as e:
            log.error(e)
            return JsonError(str(e))
    return auth
예제 #11
0
파일: views.py 프로젝트: haowj/build
def get_super_d_config(request):
    auth = authentication(request)
    if auth == 200:
        model = get_all_version_data()['dev_model']
        model = [i['zy_model'] for i in model]
        data = get_super_d_config_data()
        return render(request, 'strategy/superdcf.html', {
            'data': data,
            'model': model,
            'type': superdcf_type
        })
    return auth
예제 #12
0
파일: views.py 프로젝트: haowj/build
def get_online_info(request):
    auth = authentication(request)
    if auth == 200:
        model = get_all_version_data()['dev_model']
        dev_model_list = [i['zy_model'] for i in model]
        rdata = get_info_online_log()
        data = {
            'release_log': rdata,
            'package_contains_path': package_contains_path_dict,
            'save_path': save_path,
            'dev_model_list': dev_model_list
        }
        return render(request, 'strategy/release.html', data)
    return auth
예제 #13
0
파일: api.py 프로젝트: haowj/build
def get_super_api_loader_package(request):
    """
    根据设备型号获取sapiloader包
    :param request:
    :return:
    """
    auth = authentication(request)
    if auth == 200:
        dev_model = request.GET.get('dev_model')
        data = get_info_super_api_loader_package(dev_model=dev_model)
        if type(data) is str:
            return JsonError(data)
        else:
            return JsonResponse(data)
    return auth
예제 #14
0
파일: views.py 프로젝트: haowj/build
def get_super_data_test(request):
    auth = authentication(request)
    if auth == 200:
        model = get_all_version_data()['dev_model']
        dev_model_list = [i['zy_model'] for i in model]
        data = get_super_d_all(build_type='test')
        bldata = get_build_log(type='superd_test')
        data = {
            'sdata': data,
            'bldata': bldata,
            'dev_model': dev_model_list,
            'tag': superd_build_test_branch_list
        }
        return render(request, 'strategy/superd_test.html', data)
    return auth
예제 #15
0
파일: api.py 프로젝트: haowj/build
def set_proxy_package(request):
    """
    新增反向代理包
    :param request:
    :return:
    """
    auth = authentication(request)
    if auth == 200:
        user = str(request.user)
        dev_model = request.GET.get('dev_model')
        try:
            data = to_build(dev_model, user)
            return JsonResponse(data)
        except Exception as e:
            return JsonError(str(e))
    return auth
예제 #16
0
파일: api.py 프로젝트: haowj/build
def set_online_log(request):
    """
    插入上线日志数据
    :param request:
    :return:
    """
    auth = authentication(request)
    if auth == 200:
        try:
            t = request.GET.get('t')
            user = str(request.user)
            rel = Online()

            if t == 'pg':
                pack_id = request.GET.get('id')

                save_target_path = request.GET.get('save_target_path')
                if save_target_path == 'slave':
                    save_target_path = '/sapi/slave'
                else:
                    save_target_path = '/sapi/master'
                run_cmd = request.GET.get('run_cmd')
                unpack_cmd = request.GET.get('unpack_cmd')
                monitor_time = request.GET.get('monitor_time')
                reconnect_time = request.GET.get('reconnect_time')
                rom_version = request.GET.get('rom_version')
                comment = request.GET.get('comment')
                data = rel.do_release(pack_id,
                                      user,
                                      comment=comment,
                                      save_target_path=save_target_path,
                                      run_cmd=run_cmd,
                                      unpack_cmd=unpack_cmd,
                                      monitor_time=monitor_time,
                                      reconnect_time=reconnect_time,
                                      rom_version=rom_version)
            else:
                s_pack_id = request.GET.get('id')
                area = request.GET.get('area')
                comment_api = request.GET.get('commentApi')
                data = rel.release_super_api_loader(s_pack_id, area,
                                                    comment_api, user)
            return JsonResponse(data)
        except Exception as e:
            log.error(f'数据上线失败,原因:{e}')
            return JsonResponse({'code': 500, 'err': str(e)})
    return auth
예제 #17
0
파일: api.py 프로젝트: haowj/build
def super_data_build_test(request):
    """
    构建插件版本 测试版本
    :param request:
    :return:
    """
    auth = authentication(request)
    if auth == 200:
        dev_model = request.GET.get('dev_model')
        branch = request.GET.get('branch')
        reason = str(request.GET.get('reason')).strip().replace(
            '\n', ';').replace("\t", "").replace(" ", "")
        try:
            data = toBuild_test(dev_model, branch, reason, str(request.user))
            return JsonResponse(data)
        except Exception as e:
            return JsonError(str(e))
    return auth
예제 #18
0
파일: api.py 프로젝트: haowj/build
def super_api_loader_build(request):
    """
    构建super loader 加载器
    :param request:
    :return:
    """
    auth = authentication(request)
    if auth == 200:
        dev_model = request.GET.get('dev_model')
        tag = request.GET.get('tag')
        reason = str(request.GET.get('reason')).strip().replace(
            '\n', ';').replace("\t", "").replace(" ", "")
        try:
            sbl = SuperApi()
            data = sbl.to_build(dev_model, tag, reason, request.user)
            return JsonResponse(data)
        except Exception as e:
            return JsonError(str(e))
    return auth
예제 #19
0
파일: api.py 프로젝트: haowj/build
def set_sapiloder_package(request):
    """
    根据型号进行打包 spailoder
    :param request:
    :return:
    """
    auth = authentication(request)
    if auth == 200:
        user = str(request.user)
        dev_model = request.GET.get('id')
        spailoader_edi = request.GET.get('ver')

        pac_info = SuperApiPackage(dev_model, spailoader_edi, user)
        data = pac_info.package_build
        if data:
            return JsonError(data)
        else:
            return JsonResponse('成功')
    return auth
예제 #20
0
파일: views.py 프로젝트: haowj/build
def get_connector(request):
    auth = authentication(request)
    if auth == 200:
        model = get_all_version_data()['dev_model']
        dev_model_list = [i['zy_model'] for i in model]
        history_data = get_super_task_data()
        dev_model_list.insert(0, 'fitall')
        tag_list = get_tag_info(project_name='connector')
        if tag_list:
            tag_list = [i['tag'] for i in tag_list]
        else:
            tag_list = []
        data = {
            'dev_model': dev_model_list,
            'tag': tag_list,
            'connector_type': connector_type,
            'history': history_data
        }
        return render(request, 'strategy/connector.html', data)
    return auth
예제 #21
0
파일: views.py 프로젝트: haowj/build
def get_super_d_data(request):
    auth = authentication(request)
    if auth == 200:
        tag_list = get_tag_info(project_name='superd', status=1)
        if tag_list:
            tag_list = [i['tag'] for i in tag_list]
        else:
            tag_list = []
        model = get_all_version_data()['dev_model']
        dev_model_list = [i['zy_model'] for i in model]
        sdata = get_super_d_all(build_type='superd')
        bldata = get_build_log(type='superd')
        data = {
            'sdata': sdata,
            'bldata': bldata,
            'tag': tag_list,
            'dev_model': dev_model_list
        }
        return render(request, 'strategy/superd.html', data)
    return auth
예제 #22
0
파일: api.py 프로젝트: haowj/build
def build_log_info(request):
    """
    获取super data 构建日志数据
    :param request:
    :return:
    """
    auth = authentication(request)
    if auth == 200:
        try:
            ids = int(request.GET.get('id'))
            if ids:
                data = get_build_log(id=ids)[0]
                try:
                    build_result = eval(data['build_result'])
                except:
                    build_result = data['build_result']
                return JsonResponse(build_result)
        except Exception as e:
            log.error(e)
            return JsonError(str(e))
    return auth
예제 #23
0
파일: views.py 프로젝트: haowj/build
def get_super_api_load(request):
    auth = authentication(request)
    if auth == 200:
        model = get_all_version_data()['dev_model']
        dev_model_list = [i['zy_model'] for i in model]
        data = get_super_api_loader_data()
        dev_model_list.insert(0, 'fitall')
        tag_list = get_tag_info(project_name='sapiloader', status=1)
        if tag_list:
            tag_list = [i['tag'] for i in tag_list]
        else:
            tag_list = []
        bldata = get_build_log(type='sapiloader')
        data = {
            'dev_model': dev_model_list,
            'tag': tag_list,
            'sdata': data,
            'bldata': bldata
        }
        return render(request, 'strategy/sapiloader_c.html', data)
    return auth
예제 #24
0
파일: api.py 프로젝트: haowj/build
def get_online_log(request):
    """
    根据Id获取上线日志
    :param request:
    :return:
    """
    auth = authentication(request)
    if auth == 200:
        try:
            id = request.GET.get('id')
            sid = str(id).split('_')[0]
            t = str(id).split('_')[1]
            if sid and t:
                data = get_info_online_log(id=sid, rtype=t)
                return JsonResponse(data)
            else:
                msg = '参数异常'
                raise msg
        except Exception as e:
            log.error(e)
            return JsonError(str(e))
    return auth
예제 #25
0
파일: api.py 프로젝트: haowj/build
def del_tag(request):
    """
    删除指定版本号
    :param request:
    :return:
    """
    auth = authentication(request)
    if auth == 200:
        try:
            tag = request.GET.get('tag')
            project_type = request.GET.get('sw')
            project_path, branch = getProjeck_path(project_type)
            if project_path and tag:
                git = GitProcess(project_path)
                data = git.delTag(tag, project_type)
                return JsonResponse(data)
            else:
                return JsonError('param error')
        except Exception as e:
            log.error(e)
            return JsonError(str(e))
    return auth
예제 #26
0
파일: api.py 프로젝트: haowj/build
def get_info_super_api_loader(request):
    """
    获取sapiloader 构建日志
    :param request:
    :return:
    """
    auth = authentication(request)
    if auth == 200:
        try:
            dev_model = request.GET.get('dev_model')
            tag = request.GET.get('tag')
            reason = str(request.GET.get('reason')).strip().replace(
                '\n', ';').replace("\t", "").replace(" ", "")

            user = str(request.user)
            if dev_model:
                build_status = get_log_info_super_api_loader(
                    dev_model, tag, reason, user)
                return JsonResponse(build_status)
            return JsonError('参数异常')
        except Exception as e:
            return JsonError(str(e))
    return auth
예제 #27
0
def set_dev_model(request):
    """
    新增 设备信息
    :param request:
    :return:
    """
    auth = authentication(request)
    if auth == 200:
        dev_model_type = request.GET.get('dev_model_type')
        zy_model = request.GET.get('zy_model')
        oem_model = request.GET.get('oem_model')
        oem_id = request.GET.get('oem_id')
        comment = str(request.GET.get('comment')).strip().replace('\n', ';').replace("\t", "").replace(" ", "")
        user = str(request.user)
        data = inset_into_dev_model(oem_id, comment, user, dev_model_type, zy_model, oem_id, oem_model)

        if type(data) == str:
            return JsonError(data)
        if not data[1]:
            return JsonError('该型号已经存在')
        return JsonResponse('insert ok')

    return auth
예제 #28
0
파일: api.py 프로젝트: haowj/build
def connector_add(request):
    """
    添加连接器版本
    :param request:
    :return:
    """
    auth = authentication(request)
    if auth == 200:
        try:
            tag = request.GET.get('tag')
            dev_model = request.GET.get('dev_model')
            comment = request.GET.get('comment')
            connector_type = request.GET.get('connector_type')
            user = str(request.user)
            if tag and dev_model:
                data = insert_into_super_task(tag, dev_model, connector_type,
                                              comment, user)
                if type(data) is str:
                    return JsonError(data)
            return JsonResponse('upload ok!')
        except Exception as e:
            log.error(e)
            return JsonError(str(e))
    return auth
예제 #29
0
파일: views.py 프로젝트: haowj/build
def get_package(request):
    """
    打包
    :param request:
    :return:
    """
    auth = authentication(request)
    if auth == 200:
        # dev_model , docking_solution
        data = get_all_version_data()

        # super data config data
        super_data_conf = get_super_d_config_data()
        if super_data_conf:
            super_data_conf = super_data_conf[:10]

        # 反向代理包
        proxydata = get_proxy_version_info()

        # dpi data
        dpi = get_dpi_config_all(dev_model_id='88888888')
        if dpi:
            dpi = dpi[:10]
        sldata = get_info_super_api_loader_package()
        rdata = {
            'pack_list': get_build_package_info(),
            'pack_type': package_type['c_sapiloader'],
            'spuer_los': [c_sapiloader, shell_sapiloader],
            'dpi_config': dpi,
            'super_data_conf': super_data_conf,
            'sapiloader_pack_list': sldata,
            'proxydata': proxydata
        }
        rdata.update(data)
        return render(request, 'strategy/package.html', {'data': rdata})
    return auth
예제 #30
0
def get_oem(request):
    auth = authentication(request)
    if auth == 200:
        data = get_oem_data()
        return render(request, 'strategy/oem.html', {'data': data})
    return auth