File size: 1,182 Bytes
cf8de8a
38cf489
cf8de8a
38cf489
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b0a47bb
38cf489
 
 
 
 
 
 
 
b0a47bb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from ...models import EsAtributo, Tecnica, Palabra
from django.db import DatabaseError
from ...utils import controller_error


class EstiloPalabrasController():
    def __init__(self, technique: Tecnica = None, words: list[Palabra] = None):
        self.technique = technique
        self.list_words = words

    def setTechnique(self, technique: Tecnica):
        self.technique = technique

    def setListWords(self, new_words: list[Palabra]):
        self.list_words = new_words

    def createAndSaveInstaceStyle(self):
        try:
            self.instanceStyle = EsAtributo.objects.create(
                id_tecnica=self.technique)
            return self.instanceStyle
        except DatabaseError as error:
            return controller_error("error al registrar el estilo con tecnica")

    def relatedWords(self):
        if not self.list_words:
            return controller_error("no existen palabras para asociar")
        try:
            self.instanceStyle.palabras.add(*self.list_words)
            return self.instanceStyle.palabras
        except DatabaseError as error:
            return controller_error("error al relacionar palabras con el estilo tecnica")