def delete_poster(self, movie_id=None): if movie_id is None: movie_id = self._movie_id session = self.db.Session() movie = session.query(db.Movie).filter_by(movie_id=movie_id).first() if not movie: log.error("Cannot delete unknown movie's poster!") return False if gutils.question(_("Are you sure you want to delete this poster?"), self.widgets["window"]): # update in database delete.delete_poster(self, movie.poster_md5) movie.poster_md5 = None session.add(movie) try: session.commit() except Exception, e: session.rollback() log.error("cannot delete poster: %s" % e) return False if self._movie_id == movie_id: # only if the current selected movie is the same like that one for removing poster image_path = gutils.get_defaultimage_fname(self) handler = self.widgets["movie"]["picture"].set_from_pixbuf(gtk.gdk.pixbuf_new_from_file(image_path)) gutils.garbage(handler) self.widgets["add"]["delete_poster"].set_sensitive(False) self.widgets["movie"]["picture_button"].set_sensitive(False) # always refresh the treeview entry update_tree_thumbnail(self, gutils.get_defaultthumbnail_fname(self)) self.update_statusbar(_("Image has been updated")) return True
def delete_poster(self, movie_id=None): if movie_id is None: movie_id = self._movie_id session = self.db.Session() movie = session.query(db.Movie).filter_by(movie_id=movie_id).first() if not movie: log.error("Cannot delete unknown movie's poster!") return False if gutils.question(_("Are you sure you want to delete this poster?"), self.widgets['window']): # update in database delete.delete_poster(self, movie.poster_md5) movie.poster_md5 = None session.add(movie) try: session.commit() except Exception, e: session.rollback() log.error("cannot delete poster: %s" % e) return False if self._movie_id == movie_id: # only if the current selected movie is the same like that one for removing poster image_path = gutils.get_defaultimage_fname(self) handler = self.widgets['movie']['picture'].set_from_pixbuf( gtk.gdk.pixbuf_new_from_file(image_path)) gutils.garbage(handler) self.widgets['add']['delete_poster'].set_sensitive(False) self.widgets['movie']['picture_button'].set_sensitive(False) # always refresh the treeview entry update_tree_thumbnail(self, gutils.get_defaultthumbnail_fname(self)) self.update_statusbar(_("Image has been updated")) return True
def delete_poster(self): session = self.db.Session() movie = session.query(db.Movie).filter_by(movie_id=self._movie_id).first() if not movie: log.error("Cannot delete unknown movie's poster!") return False if gutils.question(_("Are you sure you want to delete this poster?"), self.widgets['window']): image_path = gutils.get_defaultimage_fname(self) handler = self.widgets['movie']['picture'].set_from_pixbuf(gtk.gdk.pixbuf_new_from_file(image_path)) gutils.garbage(handler) update_tree_thumbnail(self, gutils.get_defaultthumbnail_fname(self)) # update in database delete.delete_poster(self, movie.poster_md5) movie.poster_md5 = None session.add(movie) try: session.commit() except Exception, e: session.rollback() log.error("cannot delete poster: %s" % e) return False self.update_statusbar(_("Image has been updated")) self.widgets['add']['delete_poster'].set_sensitive(False) self.widgets['movie']['picture_button'].set_sensitive(False)
if old_poster and len(old_poster.movies) == 1: # other movies are not using the same poster session.delete(old_poster) delete.delete_poster_from_cache(old_poster_md5, self.locations['posters']) update_movie_instance(movie, details, session) session.add(movie) if commit(session): treeselection = self.widgets['treeview'].get_selection() (tmp_model, tmp_iter) = treeselection.get_selected() if new_poster_md5 and new_poster_md5 != old_poster_md5: # update thumbnail in main list new_image_path = gutils.get_image_fname(new_poster_md5, self.db, 's') if not new_image_path: new_image_path = gutils.get_defaultthumbnail_fname(self) handler = self.Image.set_from_file(new_image_path) pixbuf = self.Image.get_pixbuf() tmp_model.set_value(tmp_iter, 1, pixbuf) # update main treelist tmp_model.set_value(tmp_iter, 0, "%004d" % int(movie.number)) tmp_model.set_value(tmp_iter, 2, movie.o_title) tmp_model.set_value(tmp_iter, 3, movie.title) tmp_model.set_value(tmp_iter, 4, movie.director) tmp_model.set_value(tmp_iter, 5, movie.genre) tmp_model.set_value(tmp_iter, 6, movie.seen) if movie.year is None: tmp_model.set_value(tmp_iter, 7, '') else: tmp_model.set_value(tmp_iter, 7, movie.year) if movie.runtime is None: