本文整理汇总了Python中xbmcswift2.Plugin.get_storage方法的典型用法代码示例。如果您正苦于以下问题:Python Plugin.get_storage方法的具体用法?Python Plugin.get_storage怎么用?Python Plugin.get_storage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xbmcswift2.Plugin
的用法示例。
在下文中一共展示了Plugin.get_storage方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: Plugin
# 需要导入模块: from xbmcswift2 import Plugin [as 别名]
# 或者: from xbmcswift2.Plugin import get_storage [as 别名]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Watch films from http://classiccinemaonline.com.
:copyright: (c) 2012 by Jonathan Beluch
:license: GPLv3, see LICENSE.txt for more details.
'''
from xbmcswift2 import Plugin, xbmcgui
from resources.lib import api
plugin = Plugin()
# Warn users that some menus may be empty
user_data = plugin.get_storage('user_data')
if 'not_first_time' not in user_data.keys():
dialog = xbmcgui.Dialog()
dialog.ok(
'Classic Cinema',
'The website has recently changed so all of the old',
'films are not yet uploaded to the new website.'
)
user_data['not_first_time'] = True
@plugin.route('/')
def show_browse_methods():
'''Default view. Displays the different ways to browse the site.'''
items = [{
'label': ctg,
示例2: Plugin
# 需要导入模块: from xbmcswift2 import Plugin [as 别名]
# 或者: from xbmcswift2.Plugin import get_storage [as 别名]
ADDON = xbmcaddon.Addon()
ADDON_ID = ADDON.getAddonInfo('id')
ADDON_ICON = ADDON.getAddonInfo('icon')
ADDON_NAME = ADDON.getAddonInfo('name')
ADDON_PATH = ADDON.getAddonInfo('path').decode("utf-8")
ADDON_VERSION = ADDON.getAddonInfo('version')
ADDON_DATA_PATH = xbmc.translatePath("special://profile/addon_data/%s" % ADDON_ID).decode("utf-8")
sys.path.append(os.path.join(ADDON_PATH, 'resources', 'lib'))
from rrmj import *
from common import *
from history import *
plugin = Plugin()
Meiju = RenRenMeiJu()
PAGE_ROWS = plugin.get_setting("page_rows")
VIDEO_CACHE = plugin.get_storage('video')
def parse_qs(qs):
return dict([s1.split('=') for s1 in urllib.unquote(qs).split('&')])
def remap_url(req_url, page=1):
array = req_url.split("?")
params = parse_qs(array[1])
if array[0] == "/video/search":
endpoint = "search"
if "cat" in params:
endpoint = "cat_list"
elif "mark" in params:
endpoint = "mark_list"
示例3: onAction
# 需要导入模块: from xbmcswift2 import Plugin [as 别名]
# 或者: from xbmcswift2.Plugin import get_storage [as 别名]
self.addControl(self.button0)
self.setFocus(self.button0)
def onAction(self, action):
ACTION_PREVIOUS_MENU = 10
ACTION_SELECT_ITEM = 7
if action == ACTION_PREVIOUS_MENU or action == ACTION_SELECT_ITEM:
self.close()
def onControl(self, control):
if control == self.button0:
self.close()
plugin = Plugin()
storage = plugin.get_storage(name='storage', file_format='pickle', TTL=None)
OAUTH_CONSUMER_KEY = 'fa1c9359-984c-40af-bed0-18854a1f4647'
OAUTH_CONSUMER_SECRET = '137108407390855967187518585103907027345'
OAUTH_REQUEST_TOKEN_URL = 'https://meocloud.pt/oauth/request_token'
OAUTH_AUTHORIZE_TOKEN_URL = 'https://meocloud.pt/oauth/authorize'
OAUTH_ACCESS_TOKEN_URL = 'https://meocloud.pt/oauth/access_token'
PUNY_URL = 'http://services.sapo.pt/PunyURL/GetCompressedURLByURL'
CLOUDPT_API_URL = 'https://api.meocloud.pt'
CLOUDPT_API_CONTENT_URL = 'https://api-content.meocloud.pt'
API_METADATA_URL = CLOUDPT_API_URL + '/1/Metadata/meocloud'
API_SEARCH_URL = CLOUDPT_API_URL + '/1/Search/meocloud/'
示例4: Plugin
# 需要导入模块: from xbmcswift2 import Plugin [as 别名]
# 或者: from xbmcswift2.Plugin import get_storage [as 别名]
import lxml
lxml
except ImportError:
dialog = xbmcgui.Dialog()
dialog.ok('Sorry!', "Sorry, but you don't have lxml available and we",
"can't install it for you. Contact your xbmc-supplier",
"for a fix - or sneakily do it yourself!")
import sys
sys.exit(0)
from resources.lib.xvisi import all_sites, get_sources_for
from resources.lib.xvisi.base import XVisiExternalError
plugin = Plugin()
_history = plugin.get_storage('search_history')
if not 'entries' in _history:
_history['entries'] = []
DOWNLOAD_MOVIE_FN = os.path.join(
xbmc.translatePath('special://temp/'),
'xvisi-video-tmp'
)
BUFSIZE = 1024 * 4
def format_delta(s):
s = int(s)
def pluralize(n, word):
示例5: Storage
# 需要导入模块: from xbmcswift2 import Plugin [as 别名]
# 或者: from xbmcswift2.Plugin import get_storage [as 别名]
params1 = {}
for item in opciones.split("\n"):
if item.strip() != "":
key, value = item.strip()[:-1].split(':')
params1[key] = value.replace("'", "")
# settings.debug(params1)
urlPage = re.search('url: "(.*?)"', data).group(1)
return urlPage, params, params1["totalPages"]
##INITIALISATION
storage = Storage(settings.storageName, type="dict", eval=True)
plugin = Plugin()
isLogin = False
# Getting the cookies from cache
cookies = plugin.get_storage('cookies', TTL=5)
if settings.value["user"] == "" or settings.value["password"] == "":
settings.dialog.ok(settings.cleanName, "Por favor, suministre su usuario y clave")
settings.settings.openSettings()
settings = Settings()
if len(cookies.items()) < 2:
settings.log("Asking the new credentials")
browser.get(settings.value["urlAddress"] + "/")
goodSpider()
params = {"user": settings.value["user"],
"password": settings.value["password"]}
browser.post(settings.value["urlAddress"] + "/ajax/login_check_user.php", data={"user": settings.value["user"]})
browser.post(settings.value["urlAddress"] + "/ajax/login_check_pass.php", data=params)
browser.post(settings.value["urlAddress"] + "/ajax/login_check.php", data=params)
cookies.update(browser.cookies.items())
示例6: Plugin
# 需要导入模块: from xbmcswift2 import Plugin [as 别名]
# 或者: from xbmcswift2.Plugin import get_storage [as 别名]
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
from xbmcswift2 import Plugin, xbmc
from resources.lib.api import \
ItunesPodcastApi, NetworkError, NoEnclosureException
plugin = Plugin()
api = ItunesPodcastApi()
my_podcasts = plugin.get_storage('my_podcasts.json', file_format='json')
STRINGS = {
'all': 30000,
'browse_by_genre': 30002,
'show_my_podcasts': 30003,
'search_podcast': 30004,
'video': 30005,
'audio': 30006,
'add_to_my_podcasts': 30010,
'remove_from_my_podcasts': 30011,
'network_error': 30200,
'no_media_found': 30007,
}
示例7: Plugin
# 需要导入模块: from xbmcswift2 import Plugin [as 别名]
# 或者: from xbmcswift2.Plugin import get_storage [as 别名]
ACTION_PREVIOUS_MENU = 10
ACTION_SHOW_INFO = 11
ACTION_PAUSE = 12
ACTION_STOP = 13
ACTION_NEXT_ITEM = 14
ACTION_PREV_ITEM = 15
ACTION_SHOW_GUI = 18
ACTION_PLAYER_PLAY = 79
ACTION_MOUSE_LEFT_CLICK = 100
ACTION_CONTEXT_MENU = 117
plugin = Plugin()
root_url = 'http://www.youku.com/v_showlist/c0.html'
html_parser = HTMLParser.HTMLParser()
epcache = plugin.get_storage('epcache', TTL=10080)
class BaseWindow(xbmcgui.WindowXML):
def __init__( self, *args, **kwargs):
self.oldWindow = None
xbmcgui.WindowXML.__init__( self )
def doClose(self):
self.session.window = self.oldWindow
self.close()
def onInit(self):
self.setSessionWindow()
def onFocus( self, controlId ):
self.controlId = controlId
示例8: Plugin
# 需要导入模块: from xbmcswift2 import Plugin [as 别名]
# 或者: from xbmcswift2.Plugin import get_storage [as 别名]
import os.path
sys.path.append(os.path.join(os.path.dirname(os.path.realpath(__file__)), 'resources/lib'))
from xbmcswift2 import Plugin
from xbmcswift2 import xbmc, xbmcgui, xbmcaddon
from requests_oauthlib import OAuth1Session, OAuth1
import requests
from datetime import datetime, timedelta
from xml.dom.minidom import parseString
import oauthlib
import urllib
plugin = Plugin()
storage = plugin.get_storage('storage')
OAUTH_CONSUMER_KEY = 'fa1c9359-984c-40af-bed0-18854a1f4647'
OAUTH_CONSUMER_SECRET = '137108407390855967187518585103907027345'
OAUTH_REQUEST_TOKEN_URL = 'https://cloudpt.pt/oauth/request_token'
OAUTH_AUTHORIZE_TOKEN_URL = 'https://cloudpt.pt/oauth/authorize'
OAUTH_ACCESS_TOKEN_URL = 'https://cloudpt.pt/oauth/access_token'
PUNY_URL = 'http://services.sapo.pt/PunyURL/GetCompressedURLByURL'
CLOUDPT_API_URL = 'https://api.cloudpt.pt'
CLOUDPT_API_CONTENT_URL = 'https://api-content.cloudpt.pt'
API_METADATA_URL = CLOUDPT_API_URL + '/1/Metadata/cloudpt'
API_SEARCH_URL = CLOUDPT_API_URL + '/1/Search/cloudpt/'
示例9: Plugin
# 需要导入模块: from xbmcswift2 import Plugin [as 别名]
# 或者: from xbmcswift2.Plugin import get_storage [as 别名]
import xbmcplugin
import xbmcgui
import xbmcaddon
import copy
from xbmcswift2 import Plugin, actions
from resources.lib.shahidnet.utils import imagePath
from resources.lib.shahidnet.api import ShahidNetAPI
from resources.lib.shahidnet.models import MediaType
from resources.lib.shahidnet.scraper import FILTER_GENRE, FILTER_DIALECT, FILTER_PROGRAM_TYPE
plugin = Plugin()
SEARCH_LIMIT = 10
CACHE_NEW_FILTER = plugin.get_storage("CACHE_NEW_FILTER")
CACHE_FILTERS = plugin.get_storage("CACHE_FILTERS")
# CACHE_FILTERS.clear()
STRINGS = {
# Root menu
"filter": 30000,
"channels": 30001,
"search": 30002,
"most_popular": 30003,
"date_released": 30004,
"add_filter": 30005,
"program_type": 30006,
"genre": 30007,
"dialect": 30008,
示例10: Plugin
# 需要导入模块: from xbmcswift2 import Plugin [as 别名]
# 或者: from xbmcswift2.Plugin import get_storage [as 别名]
#
from urlparse import parse_qsl, urlparse
import HTMLParser
from xbmcswift2 import Plugin
from xbmcswift2 import actions
import requests
import xbmc
import xbmcgui
plugin = Plugin()
storage = plugin.get_storage('KodditStorage', file_format='json')
if 'subreddits' not in storage:
storage['subreddits'] = []
base_url = 'http://www.reddit.com'
sub_json = base_url + '/r/{sub}/{cat}.json'
categories = [('new', 30001),
('hot', 30002),
('top_h', 30003),
('top_d', 30004),
('top_w', 30005),
('top_m', 30006),
('top_y', 30007),
('top_a', 30008)]
示例11: Plugin
# 需要导入模块: from xbmcswift2 import Plugin [as 别名]
# 或者: from xbmcswift2.Plugin import get_storage [as 别名]
import time
import urllib
import urllib2
import httplib
from StringIO import StringIO
from xbmcswift2 import xbmc
from xbmcswift2 import Plugin
from xbmcswift2 import xbmcgui
try:
from ChineseKeyboard import Keyboard
except:
from xbmc import Keyboard
plugin = Plugin()
dialog = xbmcgui.Dialog()
epcache = plugin.get_storage('epcache', TTL=1440)
baseurl = r'http://www.fyyy7.com'
@plugin.route('/')
def showcatalog():
"""
show catalog list
"""
if baseurl in epcache:
return epcache[baseurl]
result = _http(baseurl)
catastr = re.search(r'<div class="menu".*?<ul>(.*?)</ul>',
result, re.S)
catalogs = re.findall(r'<li class="letter_3"><a href="(.*?)">(.*?)</a>', catastr.group(1),re.S)
menus = [{
示例12: __call__
# 需要导入模块: from xbmcswift2 import Plugin [as 别名]
# 或者: from xbmcswift2.Plugin import get_storage [as 别名]
# setup any auth-related data here
self.access_token = access_token
def __call__(self, r):
# modify and return the request
r.headers['Authorization'] = 'Bearer %s' % self.access_token
return r
STRINGS = {
}
base_url = 'https://www.googleapis.com/youtube/v3'
plugin = Plugin()
storage = plugin.get_storage('youtube_oauth')
client_id = '739224800601-arh67kfq6144gjegtg93thk5npsv1h8d.apps.googleusercontent.com'
client_secret = 'Ca-ViXwmygO8ozjA0bdr5IaC'
server_key = 'AIzaSyDv00GEeBNXguqKJQiYLeDlkbx0MU6b9tE'
@plugin.route('/')
def show_root_menu():
items = [
{'label': 'Top Rated', 'path': plugin.url_for('top_rated')},
{'label': 'Search', 'path': plugin.url_for('search')},
{'label': 'My channels', 'path': plugin.url_for('my_channels')},
]
if storage.get('access_token'):
items.append({'label': 'Logout', 'path': plugin.url_for('logout')})
else:
items.append({'label': 'Login', 'path': plugin.url_for('login')})
示例13: encodess
# 需要导入模块: from xbmcswift2 import Plugin [as 别名]
# 或者: from xbmcswift2.Plugin import get_storage [as 别名]
retId = prefix
retId += self.encodess(int(time.time()),8)
retId += self.encodess(phpjs, 5)
return retId
def encodess(self,seed, reqWidth):
seed = hex(int(seed))[2:]
if (reqWidth < len(seed)):
return seed[len(seed) - reqWidth:]
if (reqWidth > len(seed)):
return (1 + (reqWidth - seed.length)).join('0') + seed
return seed
plugin = Plugin()
ppath = plugin.addon.getAddonInfo('path')
cookiefile = os.path.join(ppath, 'cookie.dat')
xl = api_115(cookiefile)
urlcache = plugin.get_storage('urlcache', TTL=5)
@plugin.route('/login')
def login():
plugin.open_settings()
user = plugin.get_setting('username')
passwd = plugin.get_setting('password')
if not (user and passwd):
return
vcode=xl.encodes()
data = urllib.urlencode({'login[ssoent]': 'A1', 'login[version]': '2.0', 'login[ssoext]': vcode,
'login[ssoln]':user, 'login[ssopw]':xl.depass(user,passwd,vcode),'login[ssovcode]':vcode,
'login[safe]':'1','login[time]':'1','login[safe_login]':'1','goto':'http://m.115.com/?ac=home'})
xl.cookiejar.clear()
login_page = xl.urlopen('http://passport.115.com/?ct=login&ac=ajax&is_ssl=1', data=data)
msgs=json.loads(xl.fetch(login_page))
示例14: xbmc_output
# 需要导入模块: from xbmcswift2 import Plugin [as 别名]
# 或者: from xbmcswift2.Plugin import get_storage [as 别名]
'-o test.flv'
) % rtmp_params
def xbmc_output(rtmp_params):
return (
'%(rtmp_url)s '
'app=%(app)s '
'swfUrl=%(swf_url)s '
'playpath=%(playpath)s '
'live=%(live)s '
'pageUrl=%(video_page_url)s '
) % rtmp_params
playback_url = xbmc_output(rtmp_params)
plugin.log.info('RTMP cmd: %s' % rtmpdump_output(rtmp_params))
plugin.log.info('XBMC cmd: %s' % xbmc_output(rtmp_params))
return plugin.set_resolved_url(playback_url)
def _art(file, *args):
return os.path.join(plugin.addon.getAddonInfo('path'), file, *args)
if __name__ == '__main__':
cache = plugin.get_storage('teledunet_cache.txt', TTL=CACHE_DURATION_MINUTES)
api = TeledunetAPI(cache)
if api:
plugin.run()
示例15: Storage
# 需要导入模块: from xbmcswift2 import Plugin [as 别名]
# 或者: from xbmcswift2.Plugin import get_storage [as 别名]
# coding: utf-8
# Main Addon
__author__ = 'mancuniancol'
from xbmcswift2 import Plugin
from tools2 import *
##INITIALISATION
storage = Storage(settings.storageName, type="dict", eval=True)
plugin = Plugin()
cookies = plugin.get_storage('token', TTL=15)
if cookies.get("token", "") == "":
response = browser.get(settings.value["urlAddress"] + "?get_token=get_token&app_id=rarbg-viewer")
data = response.json()
cookies["token"] = data["token"]
cookies.sync()
settings.log("new token updated!")
###############################
### MENU ##################
###############################
@plugin.route('/')
def index():
textViewer(settings.string(32000), once=True)
items = [
{'label': settings.string(32194),
'path': plugin.url_for('searchMenu'),
'thumbnail': dirImages("search.png"),
'properties': {'fanart_image': settings.fanart}