[cinema] a person may have several roles in a movie, cap and apps adapted
This commit is contained in:
parent
1968bc6c95
commit
6ec12f70db
3 changed files with 28 additions and 24 deletions
|
|
@ -250,13 +250,13 @@ class Cineoob(ReplApplication):
|
|||
inter = list(set(lid1) & set(lid2))
|
||||
for common in inter:
|
||||
movie = self.get_object(common, 'get_movie', caps=CapCinema)
|
||||
role1 = movie.get_role_by_person_id(person1.id)
|
||||
role1 = movie.get_roles_by_person_id(person1.id)
|
||||
if not role1:
|
||||
role1 = movie.get_role_by_person_name(person1.name)
|
||||
role2 = movie.get_role_by_person_id(person2.id)
|
||||
role1 = movie.get_roles_by_person_name(person1.name)
|
||||
role2 = movie.get_roles_by_person_id(person2.id)
|
||||
if not role2:
|
||||
role2 = movie.get_role_by_person_name(person2.name)
|
||||
movie.short_description = '%s as %s ; %s as %s'%(person1.name, role1, person2.name, role2)
|
||||
role2 = movie.get_roles_by_person_name(person2.name)
|
||||
movie.short_description = '%s as %s ; %s as %s'%(person1.name, ', '.join(role1), person2.name, ', '.join(role2))
|
||||
if movie:
|
||||
self.cached_format(movie)
|
||||
|
||||
|
|
@ -290,13 +290,13 @@ class Cineoob(ReplApplication):
|
|||
inter = list(set(lid1) & set(lid2))
|
||||
for common in inter:
|
||||
person = self.get_object(common, 'get_person', caps=CapCinema)
|
||||
role1 = person.get_role_by_movie_id(movie1.id)
|
||||
role1 = person.get_roles_by_movie_id(movie1.id)
|
||||
if not role1:
|
||||
role1 = person.get_role_by_movie_title(movie1.original_title)
|
||||
role2 = person.get_role_by_movie_id(movie2.id)
|
||||
role1 = person.get_roles_by_movie_title(movie1.original_title)
|
||||
role2 = person.get_roles_by_movie_id(movie2.id)
|
||||
if not role2:
|
||||
role2 = person.get_role_by_movie_title(movie2.original_title)
|
||||
person.short_description = '%s in %s ; %s in %s'%(role1, movie1.original_title, role2, movie2.original_title)
|
||||
role2 = person.get_roles_by_movie_title(movie2.original_title)
|
||||
person.short_description = '%s in %s ; %s in %s'%(', '.join(role1), movie1.original_title, ', '.join(role2), movie2.original_title)
|
||||
self.cached_format(person)
|
||||
|
||||
def do_info_movie(self, id):
|
||||
|
|
|
|||
|
|
@ -131,9 +131,9 @@ class Result(QFrame):
|
|||
for common in inter:
|
||||
movie = backend.get_movie(common)
|
||||
movie.backend = backend_name
|
||||
role1 = movie.get_role_by_person_id(person1.id)
|
||||
role2 = movie.get_role_by_person_id(person2.id)
|
||||
movie.short_description = '%s as %s ; %s as %s'%(person1.name, role1, person2.name, role2)
|
||||
role1 = movie.get_roles_by_person_id(person1.id)
|
||||
role2 = movie.get_roles_by_person_id(person2.id)
|
||||
movie.short_description = '%s as %s ; %s as %s'%(person1.name, ', '.join(role1), person2.name, ', '.join(role2))
|
||||
self.addMovie(movie)
|
||||
|
||||
self.processFinished()
|
||||
|
|
@ -167,9 +167,9 @@ class Result(QFrame):
|
|||
for common in inter:
|
||||
person = backend.get_person(common)
|
||||
person.backend = backend_name
|
||||
role1 = movie1.get_role_by_person_id(person.id)
|
||||
role2 = movie2.get_role_by_person_id(person.id)
|
||||
person.short_description = '%s in %s ; %s in %s'%(role1, movie1.original_title, role2, movie2.original_title)
|
||||
role1 = movie1.get_roles_by_person_id(person.id)
|
||||
role2 = movie2.get_roles_by_person_id(person.id)
|
||||
person.short_description = '%s in %s ; %s in %s'%(', '.join(role1), movie1.original_title, ', '.join(role2), movie2.original_title)
|
||||
self.addPerson(person)
|
||||
|
||||
self.processFinished()
|
||||
|
|
|
|||
|
|
@ -46,17 +46,19 @@ class Movie(BaseObject):
|
|||
BaseObject.__init__(self, id)
|
||||
self.original_title = original_title
|
||||
|
||||
def get_role_by_person_name(self,name):
|
||||
def get_roles_by_person_name(self,name):
|
||||
for role in self.roles.keys():
|
||||
if name.lower() in [person[1].lower() for person in self.roles[role]]:
|
||||
return role
|
||||
return None
|
||||
|
||||
def get_role_by_person_id(self,id):
|
||||
def get_roles_by_person_id(self,id):
|
||||
result = []
|
||||
for role in self.roles.keys():
|
||||
if id in [person[0] for person in self.roles[role]]:
|
||||
return role
|
||||
return None
|
||||
result.append(role)
|
||||
|
||||
return result
|
||||
|
||||
|
||||
class Person(BaseObject):
|
||||
|
|
@ -80,7 +82,7 @@ class Person(BaseObject):
|
|||
BaseObject.__init__(self, id)
|
||||
self.name = name
|
||||
|
||||
def get_role_by_movie_title(self,title):
|
||||
def get_roles_by_movie_title(self,title):
|
||||
for role in self.roles.keys():
|
||||
for mt in [movie[1] for movie in self.roles[role]]:
|
||||
# title we have is included ?
|
||||
|
|
@ -88,11 +90,13 @@ class Person(BaseObject):
|
|||
return role
|
||||
return None
|
||||
|
||||
def get_role_by_movie_id(self,id):
|
||||
def get_roles_by_movie_id(self,id):
|
||||
result = []
|
||||
for role in self.roles.keys():
|
||||
if id in [movie[0] for movie in self.roles[role]]:
|
||||
return role
|
||||
return None
|
||||
result.append(role)
|
||||
|
||||
return result
|
||||
|
||||
|
||||
class CapCinema(Capability):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue