def parse_itens(soup, numero_processo, inicio_itens):
    itens = {}
    itens['numero-processo'] = numero_processo
    lista_de_itens = []
    linhas_de_dados = soup.find_all(attrs={'name': 'formResultado'})[0].find_all('tr')
    linhas_com_itens = linhas_de_dados[inicio_itens:]
    for (indice, linha) in enumerate(list(linhas_com_itens)):
        if (linha.attrs == {'class': ['tipoMovimento']}):
            item = collections.defaultdict(list)
            colunas = linha.find_all('td')
            if (len(colunas) == 1):
                texto = colunas[0].get_text().strip()
                chave = 'tipo-do-movimento'
            else:
                texto = limpa_conteudo(colunas[1].get_text())
                chave = slugify(colunas[0].get_text())
            item[chave] = texto
            info = linhas_com_itens[(indice + 1):]
            cont = 0
            while ((cont < len(info)) and (info[cont].attrs != {'class': ['tipoMovimento']})):
                cols = info[cont].find_all('td')
                if (len(cols) > 1):
                    campo = slugify(cols[0].get_text())
                    if (campo == 'tipo-do-movimento'):
                        campo = 'sub-tipo-do-movimento'
                    if (campo in METODOS_PARSING):
                        METODOS_PARSING[campo](cols, item, campo)
                    else:
                        atribui(campo, item, cols[1].get_text())
                else:
                    cont += 1
                    continue
                cont += 1
            lista_de_itens.append(item)
    for item in lista_de_itens:
        if ('inteiro-teor' in item):
            item['inteiro-teor'] = soup.find('input', {'type': 'HIDDEN', 'name': 'descMov{0}'.format(item['inteiro-teor'][0])}).attrs['value']
    for item in lista_de_itens:
        item['hash'] = cria_hash_do_movimento(item)
    itens['itens'] = lista_de_itens
    return itens
def parse_itens(soup, numero_processo, inicio_itens):
    itens = {}
    itens['numero-processo'] = numero_processo
    lista_de_itens = []
    linhas_de_dados = soup.find_all(attrs={'name': 'formResultado'})[0].find_all('tr')
    linhas_com_itens = linhas_de_dados[inicio_itens:]
    for (indice, linha) in enumerate(list(linhas_com_itens)):
        if (linha.attrs == {'class': ['tipoMovimento']}):
            item = collections.defaultdict(list)
            colunas = linha.find_all('td')
            if (len(colunas) == 1):
                texto = colunas[0].get_text().strip()
                chave = 'tipo-do-movimento'
            else:
                texto = limpa_conteudo(colunas[1].get_text())
                chave = slugify(colunas[0].get_text())
            item[chave] = texto
            info = linhas_com_itens[(indice + 1):]
            cont = 0
            while ((cont < len(info)) and (info[cont].attrs != {'class': ['tipoMovimento']})):
                cols = info[cont].find_all('td')
                if (len(cols) > 1):
                    campo = slugify(cols[0].get_text())
                    if (campo == 'tipo-do-movimento'):
                        campo = 'sub-tipo-do-movimento'
                    if (campo in METODOS_PARSING):
                        METODOS_PARSING[campo](cols, item, campo)
                    else:
                        atribui(campo, item, cols[1].get_text())
                else:
                    cont += 1
                    continue
                cont += 1
            lista_de_itens.append(item)
    for item in lista_de_itens:
        if ('inteiro-teor' in item):
            item['inteiro-teor'] = soup.find('input', {'type': 'HIDDEN', 'name': 'descMov{0}'.format(item['inteiro-teor'][0])}).attrs['value']
    for item in lista_de_itens:
        item['hash'] = cria_hash_do_movimento(item)
    itens['itens'] = lista_de_itens
    return itens