Esempio n. 1
0
def fetch_result(num = None):
    if len(sys.argv) != 2:
        print 'usage like: ./main.py 880350384879600241'
        sys.exit()
    if num is not None:
        url = 'http://www.kuaidi100.com/autonumber/autoComNum?text=%s' % (num)
    else:
        url = 'http://www.kuaidi100.com/autonumber/autoComNum?text=%s' % (sys.argv[1])
    data = '{}'
    page =  send_post(url, data)
    if page == None:
        print '请求失败'
        sys.exit()
    page = json.loads(page)
    type =  page['auto'][0]['comCode']
    id = page['num']
    url = 'http://www.kuaidi100.com/query?type=%s&postid=%s' % (type, id)
    ret = send_get(url)
    if ret:
        ret = json.loads(ret)
        data = ret['data']
        for info in data:
            print '时间: ', info['time']
            print '事件: ', info['context']
    save = history.save_history()
    save.add_history(sys.argv[1])
Esempio n. 2
0
def deposit():
    d = shelve.open('accounts')
    cpf = input('Digite o CPF sem pontos ou traços\n')
    #O programa tentará prosseguir, considerando o CPF digitado.
    try:
        cc = d[cpf]
        value = tryDeposit()
        cc['balance'] += value
        #Chama a função de salvar o histórico da transação
        cc = save_history(cc, value, 0, '+')
        #Atualiza o cliente no shelve
        d[cpf] = cc
        print('Valor depositado com sucesso!\n')
        d.close()
    #O progama entrará nessa exceção caso o CPF seja inválido, pois não encontrará a key correspondente dentro do objeto d
    except:
        print('CPF inválido!\n')
        d.close()
        deposit()
def new_client():
    client = {} #Cria o objeto da conta
    client['cpf'] = input('Digite o seu CPF sem pontos e traços.\n')
    #Esse if valida o CPF através de uma função
    if isRegistered(client['cpf']):
        print('CPF já cadastrado!')
        return
    
    client['name'] = input('Digite o seu nome completo, por favor.\n')
    client['type'] = selectAccountType()
    client['balance'] = int(input('Digite o valor inicial da sua conta, sem pontos ou vírgulas.\n'))
    client['pw'] = validatePw()
    client['history'] = []
    
    #Esta linha é usada para salvar o histórico da primeira transação da conta
    client = save_history(client, client['balance'], 0, '+')
    d = shelve.open('accounts')
    #Cria a conta dentro do shelve, utilizando o CPF como key
    d[client['cpf']] = client
    print('Conta cadastrada com sucesso!\n')
    d.close() #Fecha o shelve
Esempio n. 4
0
def cleanup_terminal():
    # Clean up the terminal before letting go
    history.save_history()
    v.unlock_keyboard()
    v.format.clear_all_chars_attrs()
Esempio n. 5
0
    data = '{}'
    page =  send_post(url, data)
    if page == None:
        print '请求失败'
        sys.exit()
    page = json.loads(page)
    type =  page['auto'][0]['comCode']
    id = page['num']
    url = 'http://www.kuaidi100.com/query?type=%s&postid=%s' % (type, id)
    ret = send_get(url)
    if ret:
        ret = json.loads(ret)
        data = ret['data']
        for info in data:
            print '时间: ', info['time']
            print '事件: ', info['context']
    save = history.save_history()
    save.add_history(sys.argv[1])

if __name__ == '__main__':
    if '-history' in sys.argv[:]:
        save = history.save_history()
        result = save.fetch_history()
        for i in range(0,result[1]):
            print "%s %s"%(i+1,result[0][i]),
        num = raw_input("which one?")
        fetch_result(result[0][int(num)-1])
    else:
        fetch_result()