from elisa.core.common import application from elisa.core.utils import defer from elisa.core.media_uri import MediaUri from elisa.plugins.poblesec.plugins_settings import GenericSettingsController from elisa.core.utils.i18n import install_translation from elisa.core.action import ContextualAction from elisa.plugins.liberateca.models import LiberatecaVideoModel from elisa.plugins.liberateca.settings import get_liberateca_provider from elisa.plugins.liberateca.liberateca import liberateca from elisa.plugins.liberateca.linkExtractor import linkExtractor from sys import stderr _poblesec = install_translation('poblesec') ######################################################################### def use_me_hook(frontend): browser = frontend.retrieve_controllers('/poblesec/browser')[0] paths = [('/poblesec/internet_menu', _poblesec('INTERNET MEDIA'), {}), ('/poblesec/video/internet', _poblesec('Video'), {}), ('/poblesec/liberateca/main', _poblesec('Liberateca'), {})] return browser.navigate(paths) ######################################################################### class serieButton(ContextualAction): def __init__(self, controller, title, id): super(serieButton, self).__init__(controller)
from elisa.core.components.model import Model from elisa.plugins.base.models.audio import ArtistModel, AlbumModel, TrackModel from elisa.plugins.base.models.media import PlayableModel, PlaylistModel from elisa.core.media_uri import MediaUri from elisa.core.utils import defer from elisa.plugins.http_client.http_client import ElisaAdvancedHttpClient from twisted.web2 import responsecode from elisa.core.utils.i18n import install_translation _ = install_translation("spotify") _poblesec = install_translation("poblesec") class SpotifyPlaylistModel(PlaylistModel): def __init__(self): super(SpotifyPlaylistModel, self).__init__() self.title = None self.uri = None class SpotifyPlayableModel(PlayableModel): def __init__(self): super(SpotifyPlayableModel, self).__init__()
# This file is licensed under the GPL version 3. # See "LICENSE.GPL" in the root of this distribution including a special # exception to use Moovida with Fluendo's plugins. # # The GPL part of Moovida is also available under a commercial licensing # agreement from Fluendo. # See "LICENSE.Moovida" in the root directory of this distribution package # for details on that license. # # Author: Adam Svanberg <*****@*****.**> from elisa.core import common from elisa.core.utils.i18n import install_translation from elisa.plugins.poblesec import modal_popup _ = install_translation('spotify') _poblesec = install_translation('poblesec') def get_spotify_provider(): """ Utility to find Spotify resource_provider instance in the resource_manager. @rtype: L{elisa.core.components.resource_provider.ResourceProvider} """ provider_path = 'elisa.plugins.spotify.resource_provider:SpotifyResourceProvider' manager = common.application.resource_manager provider = manager.get_resource_provider_by_path(provider_path)
import os import re import time from elisa.core.utils import defer from elisa.core.utils.i18n import install_translation from elisa.core.components.resource_provider import ResourceProvider from elisa.plugins.spotify.models import * from elisa.plugins.spotify.spotifyclient import SpotifyClient from elisa.plugins.spotify import pyspotify from twisted.internet import threads from elisa.core.log import Loggable _ = install_translation('spotify') class SpotifyResourceProvider(ResourceProvider): """ Manages the pyspotify session """ supported_uri = 'spotify://.*' default_config = {'username': '', 'password': ''} def __init__(self, *args, **kwargs): Loggable.__init__(self, *args, **kwargs) super(SpotifyResourceProvider, self).__init__(*args, **kwargs) self.debug("spotify resource privoder is now initialized") def initialize(self):
# the extent permitted by applicable law. You can redistribute it # and/or modify it under the terms of the Do What The F**k You Want # To Public License, Version 2, as published by Sam Hocevar. See # http://sam.zoy.org/wtfpl/COPYING for more details. from elisa.core import common from elisa.core.utils import defer from elisa.core.utils.i18n import install_translation from elisa.plugins.poblesec.plugins_settings import GenericSettingsController from elisa.plugins.poblesec.login import LoginController from elisa.plugins.liberateca.actions import AuthenticationAction from sys import stderr _poblesec = install_translation('poblesec') def liberateca_settings_decorator(controller): controller.append_plugin('liberateca', 'Liberateca', '/poblesec/liberateca/settings') return defer.succeed(None) class LiberatecaSettingsController(GenericSettingsController ): def populate_model(self): action = AuthenticationAction(self) action.connect('name-changed', self._action_name_changed_cb) model = [action,] return defer.succeed(model) def _action_name_changed_cb(self, *args ): self.refresh()