コード例 #1
0
    def removemovie(self, params):
        ''' Remove movie from library, if delete_file is true, finished_file will be deleted too
        params (dict): params passed in request url, must include imdbid

        Returns dict
        '''
        imdbid = params.get('imdbid')
        if not imdbid:
            return {'response': False, 'error': 'no imdbid supplied'}

        logging.info('API request remove movie {}'.format(imdbid))

        if params['delete_file']:
            f = core.sql.get_movie_details('imdbid',
                                           imdbid).get('finished_file')
            if f:
                try:
                    logging.debug('Finished file for {} is {}'.format(
                        imdbid, f))
                    os.unlink(f)
                    # clear finished_* columns, in case remove_movie fails
                    core.sql.update_multiple_values(
                        'MOVIES', {
                            'finished_date': None,
                            'finished_score': None,
                            'finished_file': None
                        }, 'imdbid', imdbid)
                except Exception as e:
                    error = 'Unable to delete file {}'.format(f)
                    logging.error(error, exc_info=True)
                    return {'response': False, 'error': error}

        return Manage.remove_movie(imdbid)
コード例 #2
0
ファイル: api.py プロジェクト: sinopsysHK/Watcher3
    def removemovie(self, params):
        ''' Remove movie from library
        params (dict): params passed in request url, must include imdbid

        Returns dict
        '''
        if not params.get('imdbid'):
            return {'response': False, 'error': 'no imdbid supplied'}

        logging.info('API request remove movie {}'.format(params['imdbid']))

        return Manage.remove_movie(params['imdbid'])