Exemplo n.º 1
0
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
Exemplo n.º 2
0
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
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
                    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: