Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- import json
- import os
- from datetime import date
- from PIL import Image
- from .islv import Islv
- from .mkt import Mkt
- import urllib3
- urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
- class Witch:
- def __init__(self):
- self.path = os.getcwd()
- self.mkt = Mkt()
- self.islv = Islv()
- def Campanhas(self):
- campanhas = self.islv.CampanhasSite()
- for out in campanhas:
- mkt = self.mkt.GetCountId('Campanhas', 'codigo', out['cod_campanha'])
- if mkt['count'] < 1:
- data = dict(codigo=out['cod_campanha'], nome=out['nom_campanha'], description='tabloide',
- vigencia_inicio=out['dta_vigencia_inicio'], vigencia_fin=out['dta_vigencia_fim'])
- print('> Cadastrado Campanha %s' % out['cod_campanha'])
- self.mkt.Send('Campanhas', data)
- self.Execute(out['cod_campanha'])
- else:
- print('>> Já no Banco de Dados a Campanha %s' % out['cod_campanha'])
- def Execute(self, code):
- print('Processaremos os dados da campanha para nossa API de marketing')
- campanha = self.islv.ProdutosCampanha(code)
- countProdutos = len(campanha['lst_produto'])
- countKit = len(campanha['lst_kit'])
- if countProdutos > 0:
- print('Existem %s produtos para trabalhar nesta campanha %s' % (countProdutos, code))
- for lst in campanha['lst_produto']:
- self.Products(code, lst)
- self.Precos(code, lst)
- if countKit > 0:
- print('Existem %s kit para está campanha %s' % (countKit, code))
- for kit in campanha['lst_kit']:
- self.Kit(kit)
- else:
- print('Sem Kit para está campanha %s' % code)
- def Products(self, code, host):
- global dsc_departamento, departamento, setor, dsc_setor
- if host['nom_produto'] is None:
- dsc_produto = host['dsc_produto']
- else:
- dsc_produto = host['nom_produto']
- if host['dsc_detalhe_produto'] is None:
- dsc_descricao = host['dsc_folheto']
- else:
- dsc_descricao = host['dsc_detalhe_produto']
- for i in range(len(host['lst_mercadologico_web'])):
- departamento = host['lst_mercadologico_web'][i]['departamento']['cod_mercadologico']
- dsc_departamento = host['lst_mercadologico_web'][i]['departamento']['dsc_mercadologico']
- setor = host['lst_mercadologico_web'][i]['setor']['cod_mercadologico']
- dsc_setor = host['lst_mercadologico_web'][i]['setor']['dsc_mercadologico']
- data = dict(cod_campanha=code, cod_produto=host['cod_produto'], dsc_produto=dsc_produto,
- departamento=departamento, dsc_departamento=dsc_departamento, setor=setor,
- dsc_setor=dsc_setor, data=json.dumps(host), image=host['cod_produto'],
- dsc_descricao=dsc_descricao, c_at=date.today(),
- embalagem=host['embalagem_venda']['dsc_unidade_venda'])
- if self.CheckBancoImagem(host['cod_produto']):
- print('===> Imagem %s, no Banco. O Produto vaí ser cadastrado' % host['cod_produto'])
- self.mkt.Send('Produtos', data)
- else:
- if self.islv.Imagem(host['cod_produto']):
- count = self.mkt.ProdutoDuplicity(host['cod_produto'])
- if count == 0:
- print('===> Processando a Imagem')
- self.mkt.Send('Produtos', data)
- elif count > 0:
- print('Produto %s duplicado N= %s' % (host['cod_produto'], count))
- print('===> Sucesso Imagem e Cadastrado, produto %s' % host['cod_produto'])
- elif self.islv.Imagem(host['cod_produto']) != 'Ok':
- print('===> Produto %s, sem Imagem' % host['cod_produto'])
- def Precos(self, code, host):
- for reg in host['lst_preco_regiao']:
- data = dict(regiao_id=code, host_id=host['cod_produto'], preco_regular=reg['vlr_preco_regular'],
- parcela_regular=reg['vlr_parcela_regular'], preco_clube=reg['vlr_preco_clube'],
- parcela_clube=reg['qtd_parcela_clube'], qtd_clube=reg['qtd_parcela_clube'],
- qtd_parcela=reg['qtd_parcela_regular'], lojas=reg['lst_mix_regiao'])
- self.mkt.Send('Precos', data)
- def Kit(self, kit):
- a, b = kit['dsc_kit'].split('-')
- novo = b.replace('\\', '').replace(' ,', ',').replace(' .', '.')
- for out in kit['lst_produto']:
- product = self.mkt.ProdutoHost(out['cod_produto'])
- if product:
- for doug in product:
- print('==> Inserindo no Produto %s, o kit: %s' % (doug['id'], novo))
- self.mkt.UpdateProdutoKit(doug['id'], novo)
- def DelFolderImage(self):
- print('> Apagar a pasta das Imagems')
- folder = '%s/public/images/' % self.path
- dirs = os.listdir(folder)
- for the_file in dirs:
- file_path = os.path.join(folder, the_file)
- try:
- if os.path.isfile(file_path):
- os.unlink(file_path)
- except Exception as e:
- print(e)
- def CheckBancoImagem(self, host):
- produtos = str(host)
- folder = '%s/public/banco-produtos/' % self.path
- dirs = os.listdir(folder)
- for the_file in dirs:
- f, e = os.path.splitext(the_file)
- if f == produtos:
- return 'ok'
- def ConvertImage(self):
- ruta = '%s/public/images/' % self.path
- nova_ruta = '%s/public/export/' % self.path
- banco = '%s/public/banco-produtos/' % self.path
- dirs = os.listdir(ruta)
- for item in dirs:
- if os.path.isfile(ruta + item):
- im = Image.open(ruta + item)
- f, e = os.path.splitext(item)
- imresize = im.resize((200, 200), Image.ANTIALIAS)
- imresize.save(nova_ruta + f + '.jpg', 'JPEG', quality=90)
- imresize.save(banco + f + '.jpg', 'JPEG', quality=90)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement