Skip to content

Instantly share code, notes, and snippets.

@CoutinhoElias
Created October 21, 2021 23:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save CoutinhoElias/75a3b63120d627f9fc456b02639e005e to your computer and use it in GitHub Desktop.
Save CoutinhoElias/75a3b63120d627f9fc456b02639e005e to your computer and use it in GitHub Desktop.
Save blobfield
My traceback
'''
<class 'kivy.core.image.Image'>
Traceback (most recent call last):
File "/home/elias/Documentos/PROGRAMACAO/1-PYTHON/1-KIVY/PROJETOS/1-KIVYMD/Curso/Desk/main.py", line 126, in <module>
AppDesktop().run()
File "/home/elias/Documentos/PROGRAMACAO/kivy_venv/lib/python3.9/site-packages/kivy/app.py", line 949, in run
self._run_prepare()
File "/home/elias/Documentos/PROGRAMACAO/kivy_venv/lib/python3.9/site-packages/kivy/app.py", line 919, in _run_prepare
root = self.build()
File "/home/elias/Documentos/PROGRAMACAO/1-PYTHON/1-KIVY/PROJETOS/1-KIVYMD/Curso/Desk/main.py", line 123, in build
return Builder.load_file('main.kv')
File "/home/elias/Documentos/PROGRAMACAO/kivy_venv/lib/python3.9/site-packages/kivy/lang/builder.py", line 306, in load_file
return self.load_string(data, **kwargs)
File "/home/elias/Documentos/PROGRAMACAO/kivy_venv/lib/python3.9/site-packages/kivy/lang/builder.py", line 413, in load_string
child.dispatch('on_kv_post', widget)
File "kivy/_event.pyx", line 709, in kivy._event.EventDispatcher.dispatch
File "/home/elias/Documentos/PROGRAMACAO/1-PYTHON/1-KIVY/PROJETOS/1-KIVYMD/Curso/Desk/main.py", line 68, in on_kv_post
im.save('{}.png'.format(row['dsfoto']))
File "/home/elias/Documentos/PROGRAMACAO/kivy_venv/lib/python3.9/site-packages/kivy/core/image/__init__.py", line 905, in save
raise Exception('Unable to determine the format of the pixels')
Exception: Unable to determine the format of the pixels
'''
# My model
from peewee import *
database = PostgresqlDatabase('MEU_BANCO', **{'host': 'localhost', 'user': 'postgres', 'password': '#abc123#'})
class UnknownField(object):
def __init__(self, *_, **__): pass
class BaseModel(Model):
class Meta:
database = database
class Codigos(BaseModel):
cdexterno = CharField(null=True)
cod_anterior = CharField(null=True)
data_cod_anterior = DateTimeField(null=True)
dscodigo = CharField(index=True)
iddetalhe = CharField(index=True, null=True)
idproduto = CharField(null=True)
stexp = CharField(index=True, null=True)
tpcodigo = CharField()
class Meta:
table_name = 'codigos'
indexes = (
(('iddetalhe', 'tpcodigo'), False),
(('tpcodigo', 'dscodigo'), True),
(('tpcodigo', 'dscodigo', 'iddetalhe'), False),
)
schema = 'wshop'
primary_key = CompositeKey('dscodigo', 'tpcodigo')
class Produto(BaseModel):
alicmsvenda = DoubleField(null=True)
alipivenda = DoubleField(null=True)
alretencaocofins = DoubleField(null=True)
alretencaocsll = DoubleField(null=True)
alretencaoinss = DoubleField(null=True)
alretencaoirrf = DoubleField(null=True)
alretencaopis = DoubleField(null=True)
alroyaties = DoubleField(null=True)
cdchamada = CharField(null=True, unique=True)
cdclassfiscal = CharField(null=True)
cdexterno = CharField(null=True)
cdgenero = CharField(null=True)
cdipi = CharField(null=True)
cdlistaservicolc = IntegerField(null=True)
cdsittrib = CharField(null=True)
cdsittribjuridica = CharField(null=True)
cdsttribipientrada = CharField(null=True)
cdsttribipisaida = CharField(null=True)
cdtratamentoespecial = CharField(null=True)
cest = CharField(null=True)
dsdescricaoecommerce = TextField(null=True)
dsobservacao = TextField(null=True)
dtaltalicmsvenda = DateTimeField(null=True)
dtaltalipivenda = DateTimeField(null=True)
dtalttemporeposicao = DateTimeField(null=True)
iat = CharField(null=True)
idcalculoicms = CharField(null=True)
idcategoria = CharField(null=True)
idfornecprincipal = CharField(null=True)
idgradeh = CharField(null=True)
idgradev = CharField(null=True)
idgrupo = CharField(index=True, null=True)
idmarca = CharField(null=True)
idpadrao = CharField(null=True)
idpautafiscal = CharField(index=True, null=True)
idproduto = CharField(primary_key=True)
idunidade = CharField(null=True)
ippt = CharField(null=True)
nmproduto = CharField(index=True, null=True)
nrdiasreposicao = IntegerField(null=True)
qtmaximavenda = DoubleField(null=True)
qtminimavenda = DoubleField(null=True)
stabate = BooleanField(null=True)
stadicional = BooleanField(null=True)
stalicmsinterna2 = CharField(null=True)
stativo = CharField(null=True)
stautoatendimento = BooleanField(null=True)
stcdfiscalalternativo = BooleanField(null=True)
stcestabasica = BooleanField(null=True)
stcombustivel = BooleanField(null=True)
stecommerce = BooleanField(null=True)
stexp = CharField(index=True, null=True)
stfotounicacoluna = BooleanField(null=True)
stfotounicalinha = BooleanField(null=True)
stisentotaxaservico = BooleanField(null=True)
stprecounico = BooleanField(null=True)
tipoitem = CharField(null=True)
tpformatoemabalagem = IntegerField(null=True)
tpproduto = IntegerField(null=True)
tptaxa = IntegerField(null=True)
tributacao = CharField(null=True)
vlaltura = DoubleField(null=True)
vlcomprimento = DoubleField(null=True)
vlcusto = DoubleField(null=True)
vllargura = DoubleField(null=True)
vlpreco = DoubleField(null=True)
class Meta:
table_name = 'produto'
schema = 'wshop'
class Detalhe(BaseModel):
alcargatributaria = DoubleField(null=True)
alcofinscompra = DoubleField(null=True)
alcomissao = DoubleField(null=True)
alctest = DoubleField(null=True)
alctfedimp = DoubleField(null=True)
alctfednac = DoubleField(null=True)
alctmun = DoubleField(null=True)
alfcp = DoubleField(null=True)
alipivenda = DoubleField(null=True)
aliss = DoubleField(null=True)
allucro = DoubleField(null=True)
allucrodesejada = DoubleField(null=True)
alpiscompra = DoubleField(null=True)
alroyalties = DoubleField(null=True)
cdcombustivelanp = CharField(null=True)
cdexterno = CharField(null=True)
cdnatoperservico = CharField(null=True)
cdnaturezareceita = CharField(null=True)
cdprincipal = CharField(index=True, null=True)
cdprodfiscal = CharField(index=True, null=True)
cdsittribcofins = CharField(null=True)
cdsittribcofinsentrada = CharField(null=True)
cdsittribpis = CharField(null=True)
cdsittribpisentrada = CharField(null=True)
cdsituacaooperacao = CharField(null=True)
cdsituacaooperacaost = CharField(null=True)
cdtratamentoespecial = CharField(null=True)
cdtribmunicipio = CharField(null=True)
classeenquadraipi = CharField(null=True)
cod_seloipi = CharField(null=True)
dsdesccomplementar = CharField(null=True)
dsdetalhe = CharField(index=True, null=True)
dsfatorconvetiqueta = CharField(null=True)
dsimagem = CharField(null=True)
dslocalizacao = CharField(null=True)
dtaltallucrodesejada = DateTimeField(null=True)
dtaltidunidadetransf = DateTimeField(null=True)
dtaltnrrankloja = DateTimeField(null=True)
dtaltpercentvendaloja = DateTimeField(null=True)
dtaltqtcritica = DateTimeField(null=True)
dtaltqtexpmaxima = DateTimeField(null=True)
dtaltqtexpminima = DateTimeField(null=True)
dtaltqtminima = DateTimeField(null=True)
dtalttpclassifabcloja = DateTimeField(null=True)
dtaltvloutros = DateTimeField(null=True)
dtaltvlprecocusto = DateTimeField(null=True)
dtaltvlprecovenda = DateTimeField(index=True, null=True)
dtcadastro = DateTimeField(null=True)
dtconciliacaouniversosped = DateTimeField(null=True)
fatorconvetiqueta = DoubleField(null=True)
fci = CharField(null=True)
ftconvunidtributaria = DoubleField(null=True)
idcaracteristica = CharField(null=True)
iddetalhe = CharField(primary_key=True)
iddetgradeh = CharField(null=True)
iddetgradev = CharField(null=True)
idfamilia = CharField(null=True)
idproduto = CharField(null=True)
idunidadecompra = CharField(null=True)
idunidadetransf = CharField(null=True)
naturezaoperacao = IntegerField(null=True)
nrrankloja = IntegerField(null=True)
nrrankrede = IntegerField(null=True)
obs = TextField(null=True)
origemmercadoria = CharField(null=True)
percentvendaloja = DoubleField(null=True)
percentvendarede = DoubleField(null=True)
percgasnaturalglp = DoubleField(null=True)
percgasnaturalglpimp = DoubleField(null=True)
percgaspetroleo = DoubleField(null=True)
pesobruto = DoubleField(null=True)
pesoembalagem = DoubleField(null=True)
pesoliquido = DoubleField(null=True)
qtcritica = DoubleField(null=True)
qtembalagem = DoubleField(null=True)
qtestoque = DoubleField(null=True)
qtestoque2 = DoubleField(null=True)
qtestoquecentral = IntegerField(null=True)
qtexpmaxima = DoubleField(null=True)
qtexpminima = DoubleField(null=True)
qtmaxima = DoubleField(null=True)
qtminima = DoubleField(null=True)
qtvendaabc = DoubleField(null=True)
qtvendaabcrede = DoubleField(null=True)
qtvolumes = IntegerField(null=True)
selofiscal = BooleanField(null=True)
stapurapiscofins = BooleanField(null=True)
statusalt = CharField(null=True)
stbalanca = BooleanField(null=True)
stcardapio = BooleanField(null=True)
stcomissionado = BooleanField(null=True)
stconciliacaouniversosped = IntegerField(null=True)
stdesccomplementar = BooleanField(null=True)
stdetalheativo = BooleanField(null=True)
steditadesc = CharField(null=True)
stetiqgondola = BooleanField(null=True)
stexp = CharField(index=True, null=True)
stexpimg = CharField(null=True)
stinativo = BooleanField(null=True)
stlojavirtual = CharField(null=True)
stmovimentaestoque = BooleanField(null=True)
stpesado = CharField(null=True)
ststretchimagem = BooleanField(null=True)
sttrabalhaiss = BooleanField(null=True)
tpclassifabcloja = CharField(null=True)
tpclassifabcrede = CharField(null=True)
tpdesc2 = CharField(null=True)
tprecolhimentoiss = CharField(null=True)
tpunidtributaria = CharField(null=True)
vldesc1 = DoubleField(null=True)
vldesc2 = DoubleField(null=True)
vllucroabc = DoubleField(null=True)
vllucroabcrede = DoubleField(null=True)
vloutros = DoubleField(null=True)
vlpartidaglp = DoubleField(null=True)
vlpercofins = DoubleField(null=True)
vlperfrete = DoubleField(null=True)
vlpericms = DoubleField(null=True)
vlperipi = DoubleField(null=True)
vlpermarkup = DoubleField(null=True)
vlperpis = DoubleField(null=True)
vlprecocusto = DoubleField(null=True)
vlprecovenda = DoubleField(null=True)
vlprecovendaant = DoubleField(null=True)
vlvendaabc = DoubleField(null=True)
vlvendaabcrede = DoubleField(null=True)
class Meta:
table_name = 'detalhe'
indexes = (
(('idproduto', 'iddetgradev', 'iddetgradeh'), False),
(('sttrabalhaiss', 'dsdetalhe'), False),
)
schema = 'wshop'
class Detalhefoto(BaseModel):
dsfoto = CharField(null=True)
foto = BlobField(null=True)
iddetalhe = CharField(null=True)
iddetalhefoto = CharField(primary_key=True)
miniatura = BlobField(null=True)
stautomatica = BooleanField(null=True)
stexp = CharField(index=True, null=True)
stexplojavirtual = CharField(index=True, null=True)
stlojavirtual = BooleanField(null=True)
stprincipal = BooleanField(null=True)
class Meta:
table_name = 'detalhefoto'
indexes = (
(('iddetalhe', 'stprincipal'), False),
)
schema = 'wshop'
# My funcion
def on_kv_post(self, base_widget):
# "source": './images/{}'.format(choice(self.sample_images)),
for row in self.p.dicts():
data = io.BytesIO(row['foto'])
im = CoreImage(data, ext="png") # CoreImage(data, ext="png", filename='{}.png'.format(row['dsfoto']))
im.save('{}.png'.format(row['dsfoto']))
#'./images/{}'.format(choice(self.sample_images)),
self.ids.rv.data.append(
{
"source": './images/{}'.format(choice(self.sample_images)),
"text": row['cdprincipal'],
"secondary_text": row['dsdetalhe'],
"callback": lambda x: x,
}
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment