<commit_before>from pprint import pprint

from django.core.cache import cache

from utils.cache import entkeys
from utils.functions import my_make_key_cache, fo2logger

import produto.queries


class CustoItem:
    def __init__(self, cursor, nivel, ref, tam, cor, alt, consumo=1):
        self.data = []
        self.cursor = cursor
        self.nivel = nivel
        self.ref = ref
        self.tam = tam
        self.cor = cor
        self.alt = alt
        self.consumo = consumo

    def componentes_e_custo(
            self, cursor, estrut_nivel, nivel, ref, tam, cor, alt,
            consumo, consumo_pai):
        if estrut_nivel == 0:
            narrativa = produto.queries.item_narrativa(
                cursor, nivel, ref, tam, cor)
            if not narrativa:
                return []
            componentes = [{
                'ESTRUT_NIVEL': 0, 'SEQ': '',
                'NIVEL': nivel, 'REF': ref, 'TAM': tam, 'COR': cor,
                'DESCR': narrativa[0]['NARRATIVA'],
                'ALT': alt, 'CONSUMO': consumo, 'PRECO': '', 'CUSTO': '',
                'TCALC': 0, 'RBANHO': 0, 'TEMALT': 0,
                }]
        else:
            componentes = produto.queries.item_comps_custo(
                cursor, nivel, ref, tam, cor, alt)

        total_custo = 0
        if componentes and self.data:
            self.data[-1]['TEMALT'] = 1
        for comp in componentes:
            self.data.append(comp)<commit_msg>class CustoItem trata consumo None<commit_after>from pprint import pprint

from django.core.cache import cache

from utils.cache import entkeys
from utils.functions import my_make_key_cache, fo2logger

import produto.queries


class CustoItem:
    def __init__(self, cursor, nivel, ref, tam, cor, alt, consumo=1):
        self.data = []
        self.cursor = cursor
        self.nivel = nivel
        self.ref = ref
        self.tam = tam
        self.cor = cor
        self.alt = alt
        self.consumo = consumo

    def componentes_e_custo(
            self, cursor, estrut_nivel, nivel, ref, tam, cor, alt,
            consumo, consumo_pai):
        if estrut_nivel == 0:
            narrativa = produto.queries.item_narrativa(
                cursor, nivel, ref, tam, cor)
            if not narrativa:
                return []
            componentes = [{
                'ESTRUT_NIVEL': 0, 'SEQ': '',
                'NIVEL': nivel, 'REF': ref, 'TAM': tam, 'COR': cor,
                'DESCR': narrativa[0]['NARRATIVA'],
                'ALT': alt, 'CONSUMO': consumo, 'PRECO': '', 'CUSTO': '',
                'TCALC': 0, 'RBANHO': 0, 'TEMALT': 0,
                }]
        else:
            componentes = produto.queries.item_comps_custo(
                cursor, nivel, ref, tam, cor, alt)

        total_custo = 0
        if componentes and self.data:
            self.data[-1]['TEMALT'] = 1
        for comp in componentes:
            if comp['CONSUMO'] is None:
                comp['CONSUMO'] = 0
            self.data.append(comp)
{'fraction_non_alphanumeric': 0.11462845718093968, 'fraction_numerical': 0.007664111962679107, 'mean_word_length': 1.7796296296296297, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5543843', 'n_tokens_mistral': 1008, 'n_tokens_neox': 950, 'n_words': 247}