<commit_before>
import os
import json

from glob import iglob
from decimal import Decimal, InvalidOperation
from collections import OrderedDict
from cnab240 import errors


class CampoBase(object):
    def __init__(self):
        self._valor = None

    @property
    def valor(self):
        return self._valor

    @valor.setter
    def valor(self, valor):
        if self.formato == 'alfa':
            if not isinstance(valor, unicode):
                raise errors.TipoError(self, valor)
            if len(valor) > self.digitos:
                raise errors.NumDigitosExcedidoError(self, valor)

        elif self.decimais:
            if not isinstance(valor, Decimal):
                raise errors.TipoError(self, valor)
            
            num_decimais = valor.as_tuple().exponent * -1
            if num_decimais != self.decimais:
                raise errors.NumDecimaisError(self, valor)
            
            if len(str(valor).replace('.', '')) > self.digitos:
                raise errors.NumDigitosExcedidoError(self, valor)

        else:
            if not isinstance(valor, (int, long)):
                raise errors.TipoError(self, valor)
            if len(str(valor)) > self.digitos:
                raise errors.NumDigitosExcedidoError(self, valor)
        
        self._valor = valor
    

    def __unicode__(self):
        if self.valor is None:
            if self.default is not None:
                self.valor = self.default
            else:
                raise errors.CampoObrigatorioError(self.nome)
        
        if self.formato == 'alfa' or self.decimais:
            if self.decimais:
                valor = unicode(self.valor).replace('.', '')
                chars_faltantes = self.digitos - len(valor)
                return (u'0' * chars_faltantes) + valor
            else:
                chars_faltantes = self.digitos - len(self.valor)
                return self.valor + (u' ' * chars_faltantes)
<commit_msg>Formatando default quando for decimal<commit_after>
import os
import json

from glob import iglob
from decimal import Decimal, InvalidOperation
from collections import OrderedDict
from cnab240 import errors


class CampoBase(object):
    def __init__(self):
        self._valor = None

    @property
    def valor(self):
        return self._valor

    @valor.setter
    def valor(self, valor):
        if self.formato == 'alfa':
            if not isinstance(valor, unicode):
                raise errors.TipoError(self, valor)
            if len(valor) > self.digitos:
                raise errors.NumDigitosExcedidoError(self, valor)

        elif self.decimais:
            if not isinstance(valor, Decimal):
                raise errors.TipoError(self, valor)
            
            num_decimais = valor.as_tuple().exponent * -1
            if num_decimais != self.decimais:
                raise errors.NumDecimaisError(self, valor)
            
            if len(str(valor).replace('.', '')) > self.digitos:
                raise errors.NumDigitosExcedidoError(self, valor)

        else:
            if not isinstance(valor, (int, long)):
                raise errors.TipoError(self, valor)
            if len(str(valor)) > self.digitos:
                raise errors.NumDigitosExcedidoError(self, valor)
        
        self._valor = valor
    

    def __unicode__(self):
        if self.valor is None:
            if self.default is not None:
                if self.decimais:
                    self.valor = Decimal('{0:0.{1}f}'.format(self.default, 
                                                                self.decimais))
                else:
                    self.valor = self.default
            else:
                raise errors.CampoObrigatorioError(self.nome)
        
        if self.formato == 'alfa' or self.decimais:
            if self.decimais:
                valor = unicode(self.valor).replace('.', '')
                chars_faltantes = self.digitos - len(valor)
                return (u'0' * chars_faltantes) + valor
            else:
                chars_faltantes = self.digitos - len(self.valor)
                return self.valor + (u' ' * chars_faltantes)

{'fraction_non_alphanumeric': 0.09032103497843795, 'fraction_numerical': 0.003114518447532343, 'mean_word_length': 1.677998717126363, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3174756', 'n_tokens_mistral': 1229, 'n_tokens_neox': 1170, 'n_words': 278}