Ejemplo n.º 1
0
    def __init__(self, core, reader, writer):
        self.core = core

        self.model = self.core.model
        self.cover_download = coverart.CoverDownloader()

        self.reader = reader
        self.writer = writer
        self.events_in = Queue.Queue()
        self.events_out = Queue.Queue()
Ejemplo n.º 2
0
    def __init__(self,
                 config_class=config.Config,
                 database_class=storage.Database,
                 model_class=model.Model,
                 verbose=True,
                 progname='gpodder',
                 stdout=False):
        self._set_socket_timeout()

        home = os.path.expanduser('~')

        xdg_data_home = os.environ.get('XDG_DATA_HOME',
                                       os.path.join(home, '.local', 'share'))
        xdg_config_home = os.environ.get('XDG_CONFIG_HOME',
                                         os.path.join(home, '.config'))
        xdg_cache_home = os.environ.get('XDG_CACHE_HOME',
                                        os.path.join(home, '.cache'))

        self.data_home = os.path.join(xdg_data_home, progname)
        self.config_home = os.path.join(xdg_config_home, progname)
        self.cache_home = os.path.join(xdg_cache_home, progname)

        # Use $GPODDER_HOME to set a fixed config and data folder
        if 'GPODDER_HOME' in os.environ:
            home = os.environ['GPODDER_HOME']
            self.data_home = self.config_home = self.cache_home = home

        # Setup logging
        log.setup(self.cache_home, verbose, stdout)
        self.logger = logging.getLogger(__name__)

        config_file = os.path.join(self.config_home, 'Settings.json')
        database_file = os.path.join(self.data_home, 'Database')
        # Downloads go to <data_home> or $GPODDER_DOWNLOAD_DIR
        self.downloads = os.environ.get('GPODDER_DOWNLOAD_DIR',
                                        os.path.join(self.data_home))

        # Initialize the gPodder home directories
        util.make_directory(self.data_home)
        util.make_directory(self.config_home)

        # Open the database and configuration file
        self.db = database_class(database_file, verbose)
        self.model = model_class(self)
        self.config = config_class(config_file)

        # Load installed/configured plugins
        self._load_plugins()

        self.cover_downloader = coverart.CoverDownloader(self)
Ejemplo n.º 3
0
 def get_cover(self, podcast):
     downloader = coverart.CoverDownloader()
     return downloader.get_cover(podcast.cover_file, podcast.cover_url,
         podcast.url, podcast.title, None, None, True)
Ejemplo n.º 4
0
 def __init__(self):
     QDeclarativeImageProvider.__init__(self, self.IMAGE_TYPE)
     self.downloader = coverart.CoverDownloader()
     self._cache = {}
Ejemplo n.º 5
0
 def __init__(self):
     self.downloader = coverart.CoverDownloader()
     signal_names = ['cover-available', 'cover-removed']
     ObservableService.__init__(self, signal_names)