コード例 #1
0
    def insert_item_lista(self, data):
        produto = data.split(',')
        quantidade = '' if len(produto) < 2 else produto[1].strip()
        semana, ano = get_semana_ano()
        secao = ItensLista.OUTROS

        produto = produto[0].strip().title()

        ultimo_item_lista = ItensLista.objects.all().filter(produto=produto)
        ultimo_item_lista = ultimo_item_lista.order_by('-ano', '-semana')
        if ultimo_item_lista:
            secao = ultimo_item_lista.first().secao

        ItensLista.objects.update_or_create(
            produto=produto,
            semana=semana,
            ano=ano,
            defaults={
                'quantidade': quantidade,
                'secao': secao
            },
        )
        return 'Ok, anotado!'
コード例 #2
0
 def lista_da_semana(self):
     semana, ano = get_semana_ano()
     return self.filter(semana=semana,
                        ano=ano).order_by('secao', 'produto')
コード例 #3
0
ファイル: models.py プロジェクト: lucianeconte/MyJarvisBot42
from datetime import datetime

from django.db import models

from myjarvisbot.jarvis.managers import ListaDaSemanaManager
from myjarvisbot.utils.semana_ano import get_semana_ano

SEMANA, ANO = get_semana_ano()


class ItensLista(models.Model):
    CEREAIS = 10
    MERCEARIA = 20
    FRIOS = 30
    PADARIA = 35
    HORTIFRUTI = 40
    CARNES = 50
    HIGIENE = 60
    LIMPEZA = 70
    BEBIDAS = 80
    OUTROS = 90
    SECOES = ((CEREAIS, 'CEREAIS'), (MERCEARIA, 'MERCEARIA'), (FRIOS, 'FRIOS'),
              (PADARIA, 'PADARIA'), (HORTIFRUTI, 'HORTIFRUTI'),
              (CARNES, 'CARNES'), (HIGIENE, 'HIGIENE'), (LIMPEZA, 'LIMPEZA'),
              (BEBIDAS, 'BEBIDAS'), (OUTROS, 'OUTROS'))
    semana = models.PositiveSmallIntegerField(default=SEMANA)
    ano = models.PositiveSmallIntegerField(default=ANO)
    produto = models.CharField(max_length=50)
    quantidade = models.CharField(max_length=10, default='', blank=True)
    secao = models.PositiveSmallIntegerField('seção',
                                             choices=SECOES,