def create_actor(self, name, image, description): actor = Actor() actor.name = name actor.normalized = normalize(name) actor.image = image actor.description = description actor.save() return actor
def create_character(self, name, image, description, order, project): chrt = Character() chrt.name = name chrt.normalized = normalize(name) chrt.image = image chrt.description = description chrt.project = project chrt.order = order chrt.save() return chrt
def save(self): data = self.cleaned_data project = data.get('project') character = Character() character.name = data.get('name') character.normalized = normalize(character.name) character.image = data.get('image') character.project = project character.order = self.calculate_order(project) character.save() return character
def test_characters(self): proj = self.create_project() self.create_bebop(proj) characters = Character.objects.filter(project=proj) for character in characters: name = character.name char = BEBOP[name] self.assertEqual(character.normalized, normalize(name)) self.assertEqual(character.name, name) self.assertEqual(character.image, char['image']) self.assertEqual(character.description, char['desc']) self.assertEqual(character.project, proj)
def create_relation(self, actor, character_name, data = None): character = Character.objects.get(normalized=normalize(character_name)) prospect = Prospect() prospect.actor = actor prospect.character = character prospect.save() if data: for _up_ct in range(0, data.get('upvotes', 0)): self.create_vote(prospect, 1) for _down_ct in range(0, data.get('downvotes', 0)): self.create_vote(prospect, -1)
def save(self): data = self.cleaned_data character = data.get('character') name = data.get('name') actor = Actor() actor.name = name actor.normalized = normalize(name) actor.image = data.get('image') actor.save() try: prospect = Prospect.objects.get(actor=actor, character=character) except Prospect.DoesNotExist: prospect = Prospect() prospect.actor = actor prospect.character = character prospect.save() return actor
def clean(self): data = self.cleaned_data project_id = data.get('project_id') name = data.get('name') if project_id: try: project = Project.objects.get(slug=project_id) data['project'] = project try: Character.objects.get(project=project, normalized=normalize(name)) raise forms.ValidationError( "Character already exists in this project.") except Character.DoesNotExist: pass except Project.DoesNotExist: raise forms.ValidationError("Project does not exist.") else: raise forms.ValidationError("project required") return data
def clean(self): data = self.cleaned_data character_id = data.get('character_id') try: character = Character.objects.get(slug=character_id) data['character'] = character except Character.DoesNotExist: raise forms.ValidationError("This character does not exist") try: name = data.get('name') actor = Actor.objects.get(normalized=normalize(name)) try: Prospect.objects.get(actor = actor, character = character) raise forms.ValidationError( "This actor already exists for this character") except Prospect.DoesNotExist: pass except Actor.DoesNotExist: pass return data
def create_relation(actor, character_name): character = Character.objects.get(normalized=normalize(character_name)) prospect = Prospect() prospect.actor = actor prospect.character = character prospect.save()