Advertisement
Guest User

Untitled

a guest
Dec 6th, 2019
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.17 KB | None | 0 0
  1. #!/usr/bin/env python3
  2. import json
  3. import os
  4. from datetime import date
  5. from PIL import Image
  6. from .islv import Islv
  7. from .mkt import Mkt
  8. import urllib3
  9.  
  10. urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
  11.  
  12.  
  13. class Witch:
  14.  
  15.     def __init__(self):
  16.         self.path = os.getcwd()
  17.         self.mkt = Mkt()
  18.         self.islv = Islv()
  19.  
  20.     def Campanhas(self):
  21.         campanhas = self.islv.CampanhasSite()
  22.         for out in campanhas:
  23.             mkt = self.mkt.GetCountId('Campanhas', 'codigo', out['cod_campanha'])
  24.             if mkt['count'] < 1:
  25.                 data = dict(codigo=out['cod_campanha'], nome=out['nom_campanha'], description='tabloide',
  26.                             vigencia_inicio=out['dta_vigencia_inicio'], vigencia_fin=out['dta_vigencia_fim'])
  27.                 print('> Cadastrado Campanha %s' % out['cod_campanha'])
  28.                 self.mkt.Send('Campanhas', data)
  29.                 self.Execute(out['cod_campanha'])
  30.             else:
  31.                 print('>> Já no Banco de Dados a Campanha %s' % out['cod_campanha'])
  32.  
  33.     def Execute(self, code):
  34.         print('Processaremos os dados da campanha para nossa API de marketing')
  35.         campanha = self.islv.ProdutosCampanha(code)
  36.         countProdutos = len(campanha['lst_produto'])
  37.         countKit = len(campanha['lst_kit'])
  38.         if countProdutos > 0:
  39.             print('Existem %s produtos para trabalhar nesta campanha %s' % (countProdutos, code))
  40.             for lst in campanha['lst_produto']:
  41.                 self.Products(code, lst)
  42.                 self.Precos(code, lst)
  43.         if countKit > 0:
  44.             print('Existem %s kit para está campanha %s' % (countKit, code))
  45.             for kit in campanha['lst_kit']:
  46.                 self.Kit(kit)
  47.         else:
  48.             print('Sem Kit para está campanha %s' % code)
  49.  
  50.     def Products(self, code, host):
  51.         global dsc_departamento, departamento, setor, dsc_setor
  52.         if host['nom_produto'] is None:
  53.             dsc_produto = host['dsc_produto']
  54.         else:
  55.             dsc_produto = host['nom_produto']
  56.         if host['dsc_detalhe_produto'] is None:
  57.             dsc_descricao = host['dsc_folheto']
  58.         else:
  59.             dsc_descricao = host['dsc_detalhe_produto']
  60.         for i in range(len(host['lst_mercadologico_web'])):
  61.             departamento = host['lst_mercadologico_web'][i]['departamento']['cod_mercadologico']
  62.             dsc_departamento = host['lst_mercadologico_web'][i]['departamento']['dsc_mercadologico']
  63.             setor = host['lst_mercadologico_web'][i]['setor']['cod_mercadologico']
  64.             dsc_setor = host['lst_mercadologico_web'][i]['setor']['dsc_mercadologico']
  65.         data = dict(cod_campanha=code, cod_produto=host['cod_produto'], dsc_produto=dsc_produto,
  66.                     departamento=departamento, dsc_departamento=dsc_departamento, setor=setor,
  67.                     dsc_setor=dsc_setor, data=json.dumps(host), image=host['cod_produto'],
  68.                     dsc_descricao=dsc_descricao, c_at=date.today(),
  69.                     embalagem=host['embalagem_venda']['dsc_unidade_venda'])
  70.         if self.CheckBancoImagem(host['cod_produto']):
  71.             print('===> Imagem %s, no Banco. O Produto vaí ser cadastrado' % host['cod_produto'])
  72.             self.mkt.Send('Produtos', data)
  73.         else:
  74.             if self.islv.Imagem(host['cod_produto']):
  75.                 count = self.mkt.ProdutoDuplicity(host['cod_produto'])
  76.                 if count == 0:
  77.                     print('===> Processando a Imagem')
  78.                     self.mkt.Send('Produtos', data)
  79.                 elif count > 0:
  80.                     print('Produto %s duplicado N= %s' % (host['cod_produto'], count))
  81.                 print('===> Sucesso Imagem e Cadastrado, produto %s' % host['cod_produto'])
  82.             elif self.islv.Imagem(host['cod_produto']) != 'Ok':
  83.                 print('===> Produto %s, sem Imagem' % host['cod_produto'])
  84.  
  85.     def Precos(self, code, host):
  86.         for reg in host['lst_preco_regiao']:
  87.             data = dict(regiao_id=code, host_id=host['cod_produto'], preco_regular=reg['vlr_preco_regular'],
  88.                         parcela_regular=reg['vlr_parcela_regular'], preco_clube=reg['vlr_preco_clube'],
  89.                         parcela_clube=reg['qtd_parcela_clube'], qtd_clube=reg['qtd_parcela_clube'],
  90.                         qtd_parcela=reg['qtd_parcela_regular'], lojas=reg['lst_mix_regiao'])
  91.             self.mkt.Send('Precos', data)
  92.  
  93.     def Kit(self, kit):
  94.         a, b = kit['dsc_kit'].split('-')
  95.         novo = b.replace('\\', '').replace(' ,', ',').replace(' .', '.')
  96.         for out in kit['lst_produto']:
  97.             product = self.mkt.ProdutoHost(out['cod_produto'])
  98.             if product:
  99.                 for doug in product:
  100.                     print('==> Inserindo no Produto %s, o kit: %s' % (doug['id'], novo))
  101.                     self.mkt.UpdateProdutoKit(doug['id'], novo)
  102.  
  103.     def DelFolderImage(self):
  104.         print('> Apagar a pasta das Imagems')
  105.         folder = '%s/public/images/' % self.path
  106.         dirs = os.listdir(folder)
  107.         for the_file in dirs:
  108.             file_path = os.path.join(folder, the_file)
  109.             try:
  110.                 if os.path.isfile(file_path):
  111.                     os.unlink(file_path)
  112.             except Exception as e:
  113.                 print(e)
  114.  
  115.     def CheckBancoImagem(self, host):
  116.         produtos = str(host)
  117.         folder = '%s/public/banco-produtos/' % self.path
  118.         dirs = os.listdir(folder)
  119.         for the_file in dirs:
  120.             f, e = os.path.splitext(the_file)
  121.             if f == produtos:
  122.                 return 'ok'
  123.  
  124.     def ConvertImage(self):
  125.         ruta = '%s/public/images/' % self.path
  126.         nova_ruta = '%s/public/export/' % self.path
  127.         banco = '%s/public/banco-produtos/' % self.path
  128.         dirs = os.listdir(ruta)
  129.         for item in dirs:
  130.             if os.path.isfile(ruta + item):
  131.                 im = Image.open(ruta + item)
  132.                 f, e = os.path.splitext(item)
  133.                 imresize = im.resize((200, 200), Image.ANTIALIAS)
  134.                 imresize.save(nova_ruta + f + '.jpg', 'JPEG', quality=90)
  135.                 imresize.save(banco + f + '.jpg', 'JPEG', quality=90)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement