Example #1
0
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)
Example #2
0
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__()

Example #3
0
# 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()