示例#1
0
def capability_checklist_review(caminho, nome_checklist, dados_json,
                                caminho_def):
    os.chdir(caminho)
    erro = 0
    excel = xlrd.open_workbook(nome_checklist)
    aba_verificada = excel.sheet_by_index(2)
    versao_sw = aba_verificada.cell_value(rowx=9, colx=1)
    result = aba_verificada.cell_value(rowx=6, colx=1)
    if result == 'PASS':
        ng = 0
    else:
        ng = 1
    if str(versao_sw).find(dados_json['PDM']['SW']) == -1:
        erro += 1
    dicionario = {'SW': versao_sw, 'erro': erro, 'NG': ng}
    extract_info.append_json(caminho_def, nome_checklist, dicionario)
    revision.isgood(ng, caminho)
示例#2
0
def power_checklist_review(caminho, nome_checklist, dados_json, caminho_def):
    os.chdir(caminho)
    ok = ng = nt = na = erro = 0
    excel = xlrd.open_workbook(nome_checklist)
    aba_verificada = excel.sheet_by_index(0)
    versao_sw_previous = aba_verificada.cell_value(rowx=10, colx=1)
    versao_sw = aba_verificada.cell_value(rowx=5, colx=1)
    total_de_linhas = aba_verificada.nrows
    total_de_colunas = aba_verificada.ncols
    if str(versao_sw).find((dados_json['PDM']['SW'])) == -1:
        erro += 1
    for coluna in range(total_de_colunas):
        for linha in range(total_de_linhas):
            cel = aba_verificada.cell_value(rowx=linha, colx=coluna)
            achar_coluna_status = re.search("^Test Status$", str(cel))
            if (achar_coluna_status):
                coluna_de_status = aba_verificada.col(coluna)
                for linha in range(len(coluna_de_status)):
                    celula_verificada = aba_verificada.cell_value(rowx=linha,
                                                                  colx=coluna)
                    if celula_verificada == 'OK':
                        ok += 1
                    if celula_verificada == 'NG':
                        ng += 1
                    if celula_verificada == 'NOT TESTED':
                        nt += 1
                    if celula_verificada == 'NA':
                        na += 1
    dicionario = {
        'Previous': versao_sw_previous,
        'SW': versao_sw,
        'OK': ok,
        'NG': ng,
        'NT': nt,
        'NA': na,
        'erro': erro
    }

    extract_info.append_json(caminho_def, nome_checklist, dicionario)
    revision.isgood(ng, caminho)
示例#3
0
def pri_checklist_review(caminho, nome_checklist, dados_json, caminho_def):
    os.chdir(caminho)
    ok = ng = nt = na = oss = erro = 0
    excel = xlrd.open_workbook(nome_checklist)
    num_abas = excel.nsheets
    aba_principal = excel.sheet_by_index(0)
    aba_sim_lock = excel.sheet_by_index(num_abas - 3)
    versao_pri = aba_principal.cell_value(rowx=2, colx=2).strip()
    versao_sw_aba_principal = aba_principal.cell_value(rowx=3, colx=2)
    versao_sw_aba_simlock = aba_sim_lock.cell_value(rowx=9, colx=2)
    if str(versao_pri).find(dados_json['PDM']['GPRI']) == -1 and str(
            dados_json['PDM']['GPRI']).find(str(versao_pri)) == -1:
        erro += 1
    if str(versao_sw_aba_principal).find(dados_json['PDM']['SW']) == -1:
        erro += 1
    if (dados_json['PDM']['Modelo'].find('CAO') == -1
            and dados_json['PDM']['Modelo'].find('TGO')
            == -1) and str(versao_sw_aba_simlock).find(
                dados_json['PDM']['SW']) == -1:
        erro += 1
    for sheet in range(num_abas):
        used_sheet = excel.sheet_by_index(sheet)
        tot_cols = used_sheet.ncols
        tot_rows = used_sheet.nrows
        for col in range(tot_cols):
            for row in range(tot_rows):
                if used_sheet.cell_value(
                        rowx=row, colx=col) == 'Pass' or used_sheet.cell_value(
                            rowx=row,
                            colx=col) == 'Passed' or used_sheet.cell_value(
                                rowx=row, colx=col) == 'OK':
                    ok += 1
                if used_sheet.cell_value(
                        rowx=row,
                        colx=col) == 'Failed' or used_sheet.cell_value(
                            rowx=row,
                            colx=col) == 'Fail' or used_sheet.cell_value(
                                rowx=row, colx=col) == 'NG':
                    ng += 1
                if used_sheet.cell_value(rowx=row, colx=col) == 'O/S':
                    oss += 1
                if used_sheet.cell_value(rowx=row, colx=col) == 'NT':
                    nt += 1
                if used_sheet.cell_value(rowx=row, colx=col) == 'NA':
                    na += 1
    dicionario = {
        'GPRI': versao_pri,
        'SW': versao_sw_aba_principal,
        'erro': erro,
        'OK': ok,
        'NG': ng,
        'NT': nt,
        'NA': na,
        'O/S': oss,
    }
    extract_info.append_json(caminho_def, nome_checklist, dicionario)
    revision.isgood(ng, caminho)
    """ Revisando auto SIM LOCK"""
    ok = ng = nt = erro = autosl = 0
    if (dados_json['PDM']['Modelo'].find('CAO') != -1
            or dados_json['PDM']['Modelo'].find('TGO') != -1):
        os.chdir(caminho)
        pri_files = os.listdir()
        for file in pri_files:
            autosimlock = re.search('.*Auto SIM Lock.*xl.*', file)
            if autosimlock:
                autosl = 1
                nome_checklist = autosimlock.group()
                excel = xlrd.open_workbook(str(nome_checklist))
                num_abas = excel.nsheets
                aba_principal = excel.sheet_by_index(0)
                versao_sw_aba_principal = aba_principal.cell_value(rowx=7,
                                                                   colx=2)
                if str(versao_sw_aba_principal).find(
                        dados_json['PDM']['SW']) == -1:
                    erro += 1
                for sheet in range(num_abas):
                    used_sheet = excel.sheet_by_index(sheet)
                    tot_cols = used_sheet.ncols
                    tot_rows = used_sheet.nrows
                    for col in range(tot_cols):
                        for row in range(4, tot_rows):
                            if used_sheet.cell_value(rowx=row,
                                                     colx=col) == 'PASSED':
                                ok += 1
                            if used_sheet.cell_value(rowx=row,
                                                     colx=col) == 'FAILED':
                                ng += 1
                            if used_sheet.cell_value(rowx=row,
                                                     colx=col) == 'NOT TESTED':
                                nt += 1
                dicionario = {
                    'SW': versao_sw_aba_principal,
                    'erro': erro,
                    'OK': ok,
                    'NG': ng,
                    'NT': nt,
                }
                extract_info.append_json(caminho_def, nome_checklist,
                                         dicionario)
                break
        if autosl == 0:
            dicionario = {'NG': 1}
            nome_checklist = "Missing Auto SIM Lock"
            extract_info.append_json(caminho_def, nome_checklist, dicionario)
示例#4
0
def fota_checklist_review(caminho, nome_checklist, dados_json, caminho_def):
    os.chdir(caminho)
    ok = ng = nt = na = erro = 0
    excel = xlrd.open_workbook(nome_checklist)
    num_abas = excel.nsheets
    for sheet in range(num_abas - 1):
        aba_verificada = excel.sheet_by_index(sheet)
        tot_cols = aba_verificada.ncols
        tot_rows = aba_verificada.nrows
        if num_abas < 3:  # se tiver menos que 3 abas é FOTA dummy
            numero_rst = aba_verificada.cell_value(rowx=7, colx=1)
            versao_up = aba_verificada.cell_value(rowx=4, colx=1)
            versao_sw = aba_verificada.cell_value(rowx=3, colx=1)
            versao_sw1 = 'NA'
            versao_sw2 = 'NA'
            if str(versao_up).find(dados_json['PDM']['FOTA']) == -1:
                erro += 1
            if str(versao_sw).find(dados_json['PDM']['SW']) == -1:
                erro += 1
            if str(numero_rst).find(dados_json['PDM']['RST']) == -1:
                erro += 1
        elif (num_abas < 5):  # se tiver menos que 5 é o FOTA normal
            numero_rst = aba_verificada.cell_value(rowx=7, colx=1)
            versao_up = aba_verificada.cell_value(rowx=4, colx=1)
            versao_sw = aba_verificada.cell_value(rowx=3, colx=1)
            versao_sw1 = aba_verificada.cell_value(rowx=2, colx=1)
            versao_sw2 = 'NA'
            if str(versao_up).find(dados_json['PDM']['FOTA']) == -1:
                erro += 1
            if str(versao_sw).find(dados_json['PDM']['SW']) == -1:
                erro += 1
            if str(numero_rst).find(dados_json['PDM']['RST']) == -1:
                erro += 1
        else:  # se não é o FOTA +1 MR
            numero_rst = aba_verificada.cell_value(rowx=7, colx=1)
            versao_up = aba_verificada.cell_value(rowx=6, colx=1)
            versao_sw = aba_verificada.cell_value(rowx=5, colx=1)
            versao_sw1 = aba_verificada.cell_value(rowx=3, colx=1)
            versao_sw2 = aba_verificada.cell_value(rowx=2, colx=1)
            if str(versao_up).find(dados_json['PDM']['FOTA']) == -1:
                erro += 1
            if str(versao_sw).find(dados_json['PDM']['SW']) == -1:
                erro += 1
            if str(numero_rst).find(dados_json['PDM']['RST']) == -1:
                erro += 1
        for col in range(tot_cols):
            for row in range(13, tot_rows):
                if aba_verificada.cell_value(rowx=row, colx=col) == 'OK':
                    ok += 1
                if aba_verificada.cell_value(rowx=row, colx=col) == 'NG':
                    ng += 1
                if aba_verificada.cell_value(rowx=row,
                                             colx=col) == 'NOT TESTED':
                    nt += 1
                if aba_verificada.cell_value(rowx=row, colx=col) == 'NA':
                    na += 1
    dicionario = {
        'Previous_2': versao_sw2,
        'Previous_1': versao_sw1,
        'SW': versao_sw,
        'FOTA': versao_up,
        'RST': numero_rst,
        'OK': ok,
        'NG': ng,
        'NT': nt,
        'NA': na,
        'erro': erro
    }
    extract_info.append_json(caminho_def, nome_checklist, dicionario)
    revision.isgood(ng, caminho)