Esempio n. 1
0
def download_ncm(fileName):
    try:
        import requests
    except:
        mp.install_lib('requests')
        mp.restart_program()
    downurl = "https://portalunico.siscomex.gov.br/classif/api/publico/nomenclatura/download/json"
    try:
        dados = requests.get(downurl)
        with open(fileName, "wb") as arquivo:
            arquivo.write(dados.content)
        return True
    except:
        pass
    return False
# 2021.11.20
try:
    import os
    from os import path
    import multiplat as mp
    import backend as be
    from math import sqrt
except:
    print("Biblioteca necessária não disponível.\n\nEstamos finalizando.")
    quit()

try:
    import matplotlib.pyplot as pyplot
except:
    mp.install_lib("matplotlib")
    mp.restart_program()


def inicio():

    mp.limpar_terminal()
    print(' By: will.i.am        ->      github.com/williampilger\n\n\n  ')
    print(" > Gráfico de Controle Estatístico do Processo para Atributos <")
    print(" >             Gráfico para FRAÇÃO NÃO-CONFORME               <")

    n = int(input("Informe a quantidade de elementos por amostra: "))
    print(
        f"\n\n Digite abaixo a quantidade de itens NÃO-CONFORME de cada amostra de {n} elementos.\nDigite -1 para parar a coleta de amostras.\n"
    )

    amostras = []  #quantidades de não-conforme por amostra
Esempio n. 3
0
def main():
    try:
        import readchar
    except:
        mp.install_lib('readchar')
        mp.restart_program()

    fileName = 'ncm.data.json'
    ResultPrint = 20
    dic = load_ncm(fileName)
    if (not dic):
        print("Iniciando download dos dados de NCM")
        if (download_ncm(fileName)):
            print("> OK <")
            mp.restart_program()
    else:
        pesquisa = ''
        repesquisa = False
        p = []  #array com as opções condizentes com a pesquisa
        sel = -1  #indice do ítem selecionado. -1 quando nenhum selecionado
        while True:
            mp.limpar_terminal()
            print("\n\n  By: William Pilger")
            print(
                f"\n Ultima atualização dos dados de NCM: {dic['Data_Ultima_Atualizacao_NCM']}\n"
            )
            print(f"\n Faça sua pesquisa: {pesquisa}\n")
            if (repesquisa):
                sel = -1
                p = pesquisa_dict(dic['Nomenclaturas'], pesquisa)
                repesquisa = False
                maxResultPrint = ResultPrint
            if (len(p) > 0):  #reprinta a lista de itens coerentes
                index = 0
                i = 0
                for item in p:
                    i += 1
                    if (i > maxResultPrint):
                        break
                    if (sel == index):
                        carac = '♦'
                    else:
                        carac = ' '
                    print(
                        f" {carac} {dic['Nomenclaturas'][item]['Codigo']:10} - {dic['Nomenclaturas'][item]['Descricao'][:80]}"
                    )
                    index += 1
            dig = readchar.readkey()
            if (dig == '\x1b'):  #esc
                be.sair(1)
            elif (dig == '\t' or dig == '\r'):  #tab ou enter
                if (sel != -1):  #existe um ítem selecionado
                    detalha(dic['Nomenclaturas'][p[sel]])
                else:
                    maxResultPrint += 10
            elif (dig == '\x1b[A'):  #seta pra CIMA
                if (sel > 0):
                    sel -= 1
            elif (dig == '\x1b[B'):  #seta pra BAIXO
                if (sel < len(p)):
                    sel += 1
            elif (dig == '\x08'):  #back space
                pesquisa = pesquisa[:-1]
                repesquisa = True
            else:
                pesquisa += dig
                repesquisa = True