示例#1
0
def converte_produto_inativo(produto):
    """
        Converte os produto no formato magento para enviar ao site
    """

    mag_product = Product(validate_requireds=False)
    mag_product.sku = produto.idsubproduto
    mag_product.status = '2' if produto.flaginativo == 'T' else '1'

    return {'sku': str(produto.idsubproduto), 'data': mag_product.to_soap()}
示例#2
0
def converte_produto_inativo(produto):
    """
        Converte o produto no formato magento para enviar ao site
    """

    data = Product(validate_requireds=False)
    data.sku = produto.idsubproduto
    data.status = '0'

    return {
        'sku': str(produto.idsubproduto),
        'data': data.to_soap()
    }
示例#3
0
def converte_produtos_promocao(produtos):
    """
        Coverte os produtos em promoção recuperados da 
        base de dados do ERP em magento object para enviar
        para o site
    """

    result = []

    for p in produtos:
        dt_inicio = p.preco.dtinipromocaovar if p.preco.dtinipromocaovar else ''
        dt_fim = p.preco.dtfimpromocaovar if p.preco.dtfimpromocaovar else ''

        mag_product = Product(validate_requireds=False)
        mag_product.sku = p.idsubproduto
        mag_product.special_from_date = dt_inicio
        mag_product.special_to_date = dt_fim
        mag_product.special_price = p.preco.valpromvarejo

        result.append({
            'sku': str(p.idsubproduto),
            'data': mag_product.to_soap()
        })

    return result
示例#4
0
def converte_precos_produtos(produtos):
    """
        Coverte o produto para atualizar o preço no site
    """

    result = []

    for p in produtos:
        mag_product = Product(validate_requireds=False)
        mag_product.sku = p.idsubproduto
        mag_product.price = p.valprecovarejo

        result.append({
            'sku': str(p.idsubproduto),
            'data': mag_product.to_soap()
        })

    return result
示例#5
0
def converte_precos_produtos(produto):
    """
        Coverte o produto para atualizar o preço no site
    """

    result = {}

    if produto:
        mag_product = Product(validate_requireds=False)
        mag_product.sku = produto.idsubproduto
        mag_product.price = produto.valprecovarejo

        result = {
            'sku': str(produto.idsubproduto),
            'data': mag_product.to_soap()
        }
    
    return result
示例#6
0
def converte_produtos_estoque(produtos):
    """
        Converte os produtos para atualizar o saldo de estoque
        no site
    """
    result = []

    for p in produtos:
        saldo = Stock()
        saldo.qty = p.saldo.qtdatualestoque

        mag_product = Product(validate_requireds=False)
        mag_product.sku = p.idsubproduto
        mag_product.stock_data = saldo

        result.append({
            'sku': str(p.idsubproduto),
            'data': mag_product.to_soap()
        })

    return result
示例#7
0
def converte_produto_novo(item, categorias):
    """
        recebe um produto e suas categorias
        e o converte para Magento Object para ser
        enviado para o site
    """

    stock = Stock()
    stock.qty = item.saldo.qtdatualestoque
    stock.is_in_stock = 1 if stock.qty else 0

    if item.valmultivendas != 1:
        stock.enable_qty_increments = 1
        stock.qty_increments = f'{item.valmultivendas:.2f}'

    attr = Attribute()
    attr.marca = item.produto.fabricante
    attr.codigo_ciss = item.idsubproduto
    attr.multiplicador = '{0:.2f}'.format(float(item.valmultivendas))
    attr.embalagem = str(item.produto.embalagem.descrembalagem)

    nome_produto = '{0} {1} - {2}'.format(item.produto.descrcomproduto,
                                          item.subdescricao,
                                          item.produto.fabricante)
    nome_produto = nome_produto.title()

    product = Product()
    product.sku = item.idsubproduto
    product.name = nome_produto
    product.description = nome_produto
    product.short_description = nome_produto
    product.price = item.preco.valprecovarejo
    product.weight = item.pesoliquido
    product.status = '1'
    product.visibility = '4'
    product.tax_class_id = '0'
    product.stock_data = stock
    product.categories = categorias
    product.additional_attributes = attr

    dt_cadastro = item.dtcadastro
    dt_novo = date.today() + timedelta(-45)

    if dt_cadastro >= dt_novo:
        from_date = str(dt_cadastro)
        to_date = str(dt_cadastro + timedelta(45))
        product.news_from_date = from_date
        product.news_to_date = to_date

    imagens = read_images()
    image = os.getcwd() + '/uploads/photos/sem_imagem.jpg'
    if product.sku in imagens:
        image = imagens[product.sku]

    return {
        'sku': str(item.idsubproduto),
        'data': product.to_soap(),
        'image': image
    }
示例#8
0
def converteProdutos(produtos):
    """
        recebe um lista dos produtos e categorias 
        e a converte para Magento Object para ser
        enviado para o site
    """
    result = {'produtos': [], 'erros': []}

    for p in produtos:
        categoria_produto = MagCategoriaProduto.query
        categoria_produto = categoria_produto.filter_by(sku=p.idsubproduto)
        categoria_produto = categoria_produto.first()

        if not categoria_produto:
            result['erros'].append(
                [p.idsubproduto, 'Produto sem categoria cadastrada'])
            continue

        stock = Stock()
        stock.qty = p.saldo[0].qtdatualestoque
        stock.is_in_stock = 1

        attr = Attribute()
        attr.marca = p.produto.fabricante
        attr.codigo_ciss = p.idsubproduto
        attr.multiplicador = '{0:.2f}'.format(float(p.valmultivendas))
        attr.embalagem = str(p.produto.embalagem.descrembalagem)

        nome_produto = '{0} {1} - {2}'.format(p.produto.descrcomproduto,
                                              p.subdescricao,
                                              p.produto.fabricante)
        nome_produto = nome_produto.title()

        product = Product()
        product.sku = p.idsubproduto
        product.name = nome_produto
        product.description = nome_produto
        product.short_description = nome_produto
        product.price = p.preco[0].valprecovarejo
        product.weight = 1.23
        product.status = 1
        product.visibility = 1
        product.tax_class_id = 0
        product.stock_data = stock
        product.categories = [
            categoria_produto.secao, categoria_produto.grupo,
            categoria_produto.subgrupo
        ]
        product.additional_attributes = attr

        dt_cadastro = p.dtcadastro
        dt_novo = date.today() + timedelta(-45)

        if dt_cadastro >= dt_novo:
            from_date = str(dt_cadastro)
            to_date = str(dt_cadastro + timedelta(45))
            product.news_from_date = from_date
            product.news_to_date = to_date

        imagens = read_images()
        image = os.getcwd() + '/uploads/photos/sem_imagem.jpg'
        if product.sku in imagens:
            image = imagens[product.sku]

        result['produtos'].append({
            'sku': str(p.idsubproduto),
            'produto': p,
            'data': product.to_soap(),
            'image': image
        })

    return result