[qcineoob] movies in common implemented in person page
This commit is contained in:
parent
74b0b231f1
commit
1968bc6c95
3 changed files with 92 additions and 0 deletions
|
|
@ -102,6 +102,42 @@ class Result(QFrame):
|
|||
self.process.do('iter_movie_persons', id, role, backends=backend_name, caps=CapCinema)
|
||||
self.parent.ui.stopButton.show()
|
||||
|
||||
def moviesInCommonAction(self, backend_name, id1, id2):
|
||||
self.ui.stackedWidget.setCurrentWidget(self.ui.list_page)
|
||||
for mini in self.minis:
|
||||
self.ui.list_content.layout().removeWidget(mini)
|
||||
mini.hide()
|
||||
mini.deleteLater()
|
||||
|
||||
self.minis = []
|
||||
self.parent.ui.searchEdit.setEnabled(False)
|
||||
QApplication.setOverrideCursor(Qt.WaitCursor)
|
||||
|
||||
for a_backend in self.weboob.iter_backends():
|
||||
if (backend_name and a_backend.name == backend_name):
|
||||
backend = a_backend
|
||||
person1 = backend.get_person(id1)
|
||||
person2 = backend.get_person(id2)
|
||||
|
||||
lid1 = []
|
||||
for p in backend.iter_person_movies_ids(id1):
|
||||
lid1.append(p)
|
||||
lid2 = []
|
||||
for p in backend.iter_person_movies_ids(id2):
|
||||
lid2.append(p)
|
||||
|
||||
inter = list(set(lid1) & set(lid2))
|
||||
|
||||
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)
|
||||
self.addMovie(movie)
|
||||
|
||||
self.processFinished()
|
||||
|
||||
def personsInCommonAction(self, backend_name, id1, id2):
|
||||
self.ui.stackedWidget.setCurrentWidget(self.ui.list_page)
|
||||
for mini in self.minis:
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ class Person(QFrame):
|
|||
|
||||
self.connect(self.ui.filmographyButton, SIGNAL("clicked()"), self.filmography)
|
||||
self.connect(self.ui.biographyButton, SIGNAL("clicked()"), self.biography)
|
||||
self.connect(self.ui.moviesInCommonButton, SIGNAL("clicked()"), self.moviesInCommon)
|
||||
|
||||
self.person = person
|
||||
self.backend = backend
|
||||
|
|
@ -87,3 +88,12 @@ class Person(QFrame):
|
|||
self.ui.biographyLabel.setText('Full biography:')
|
||||
self.ui.biographyButton.hide()
|
||||
QApplication.restoreOverrideCursor()
|
||||
|
||||
def moviesInCommon(self):
|
||||
my_id = self.person.id
|
||||
my_name = self.person.name
|
||||
other_id = unicode(self.ui.moviesInCommonEdit.text()).split('@')[0]
|
||||
other_person = self.backend.get_person(other_id)
|
||||
other_name = other_person.name
|
||||
desc = 'Movies in common %s, %s'%(my_name, other_name)
|
||||
self.parent.doAction(desc, self.parent.moviesInCommonAction, [self.backend.name, my_id, other_id])
|
||||
|
|
|
|||
|
|
@ -72,6 +72,52 @@ filmography</string>
|
|||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QFrame" name="frame_15">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<item>
|
||||
<widget class="QPushButton" name="moviesInCommonButton">
|
||||
<property name="text">
|
||||
<string>Search movies in common with</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_15">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_12">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Person ID :</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="moviesInCommonEdit">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue