def input_keyword():
keyboard = Keyboard('', '???????')
xbmc.sleep(1500)
keyboard.doModal()
if (keyboard.isConfirmed()):
keyword = keyboard.getText()
url = plugin.url_for("search_title", title=keyword)
plugin.redirect(url)
python类Keyboard()的实例源码
plugintools.py 文件源码
项目:plugin.video.streamondemand-pureita
作者: orione7
项目源码
文件源码
阅读 25
收藏 0
点赞 0
评论 0
def keyboard_input(default_text="", title="", hidden=False):
_log("keyboard_input default_text='"+default_text+"'")
keyboard = xbmc.Keyboard(default_text,title,hidden)
keyboard.doModal()
if (keyboard.isConfirmed()):
tecleado = keyboard.getText()
else:
tecleado = ""
_log("keyboard_input ->'"+tecleado+"'")
return tecleado
platformtools.py 文件源码
项目:plugin.video.streamondemand-pureita
作者: orione7
项目源码
文件源码
阅读 20
收藏 0
点赞 0
评论 0
def dialog_input(default="", heading="", hidden=False):
keyboard = xbmc.Keyboard(default, heading, hidden)
keyboard.doModal()
if keyboard.isConfirmed():
return keyboard.getText()
else:
return None
def get_user_input(heading):
keyboard = xbmc.Keyboard('', heading)
keyboard.doModal()
if keyboard.isConfirmed():
query = keyboard.getText()
addon_log('User input string: %s' % query)
else:
query = None
if query and len(query) > 0:
return query
else:
return None
def SEARCH_DB(searchString=False):
if not searchString:
keyboard = xbmc.Keyboard('')
keyboard.doModal()
if (keyboard.isConfirmed()):
searchString = keyboard.getText()
if searchString != '':
common.addText(' ----=== ' + common.getString(30104) + ' ===----')
if not listmovie.LIST_MOVIES('movietitle', searchString, search=True):
common.addText(common.getString(30202))
common.addText(' ----=== ' + common.getString(30107) + ' ===----')
if not listtv.LIST_TVSHOWS('seriestitle', searchString, search=True):
common.addText(common.getString(30202))
common.SetView('tvshows')
def dologin():
email = addon.getSetting('login_name')
password = decode(addon.getSetting('login_pass'))
changed = False
if addon.getSetting('save_login') == 'false' or email == '' or password == '':
keyboard = xbmc.Keyboard(addon.getSetting('login_name'), getString(30002))
keyboard.doModal()
if keyboard.isConfirmed() and keyboard.getText():
email = keyboard.getText()
password = setLoginPW()
if password:
changed = True
if password:
if os.path.isfile(COOKIEFILE):
os.remove(COOKIEFILE)
cj = cookielib.LWPCookieJar()
br = mechanize.Browser()
br.set_handle_robots(False)
br.set_cookiejar(cj)
# br.set_debug_http(True)
# br.set_debug_responses(True)
br.addheaders = [('User-agent', UserAgent)]
br.open(BASE_URL + "/gp/aw/si.html")
br.select_form(name="signIn")
br["email"] = email
br["password"] = password
logged_in = br.submit()
error_str = "message error"
if error_str in logged_in.read():
Dialog.ok(getString(30200), getString(30201))
return False
else:
if addon.getSetting('save_login') == 'true' and changed:
addon.setSetting('login_name', email)
addon.setSetting('login_pass', encode(password))
if addon.getSetting('no_cookie') != 'true':
cj.save(COOKIEFILE, ignore_discard=True, ignore_expires=True)
gen_id()
return cj
return True
def setLoginPW():
keyboard = xbmc.Keyboard('', getString(30003), True)
keyboard.doModal()
if keyboard.isConfirmed() and keyboard.getText():
password = keyboard.getText()
return password
return False
def _get_keyboard(default="", heading="", hidden=False): # Start Ketboard Function
keyboard = xbmc.Keyboard(default, heading, hidden)
keyboard.doModal()
if (keyboard.isConfirmed()):
return unicode(keyboard.getText(), "utf-8")
return default
def get_keyboard(default="", heading="", hidden=False):
keyboard = xbmc.Keyboard(default, heading, hidden)
keyboard.doModal()
if keyboard.isConfirmed():
return unicode(keyboard.getText(), "utf-8")
return default
# ############# Backup ############################################
def addSubreddit(subreddit, name, type_):
from utils import colored_subreddit
from reddit import this_is_a_multireddit, format_multihub
alreadyIn = False
with open(subredditsFile, 'r') as fh:
content = fh.readlines()
if subreddit:
for line in content:
if line.lower()==subreddit.lower():
alreadyIn = True
if not alreadyIn:
with open(subredditsFile, 'a') as fh:
fh.write(subreddit+'\n')
get_subreddit_entry_info(subreddit)
xbmc_notify(colored_subreddit(subreddit), translation(32019) )
else:
#dialog = xbmcgui.Dialog()
#ok = dialog.ok('Add subreddit', 'Add a subreddit (videos)','or Multiple subreddits (music+listentothis)','or Multireddit (/user/.../m/video)')
#would be great to have some sort of help to show first time user here
keyboard = xbmc.Keyboard('', translation(32001))
keyboard.doModal()
if keyboard.isConfirmed() and keyboard.getText():
subreddit = keyboard.getText()
#cleanup user input. make sure /user/ and /m/ is lowercase
if this_is_a_multireddit(subreddit):
subreddit = format_multihub(subreddit)
else:
get_subreddit_entry_info(subreddit)
for line in content:
if line.lower()==subreddit.lower()+"\n":
alreadyIn = True
if not alreadyIn:
with open(subredditsFile, 'a') as fh:
fh.write(subreddit+'\n')
xbmc.executebuiltin("Container.Refresh")
def editSubreddit(subreddit, name, type_):
from reddit import this_is_a_multireddit, format_multihub
log( 'editSubreddit ' + subreddit)
with open(subredditsFile, 'r') as fh:
content = fh.readlines()
contentNew = ""
keyboard = xbmc.Keyboard(subreddit, translation(32003))
keyboard.doModal()
if keyboard.isConfirmed() and keyboard.getText():
newsubreddit = keyboard.getText()
#cleanup user input. make sure /user/ and /m/ is lowercase
if this_is_a_multireddit(newsubreddit):
newsubreddit = format_multihub(newsubreddit)
else:
get_subreddit_entry_info(newsubreddit)
for line in content:
if line.strip()==subreddit.strip() : #if matches the old subreddit,
#log("adding: %s %s %s" %(line, subreddit, newsubreddit) )
contentNew+=newsubreddit+'\n'
else:
contentNew+=line
with open(subredditsFile, 'w') as fh:
fh.write(contentNew)
xbmc.executebuiltin("Container.Refresh")
def searchReddits(url, subreddit, type_):
from default import urlMain
from main_listing import listSubReddit
#reddit search only works with a single subreddit
if subreddit:
initial_search_string='restrict_sr=on&sort=relevance&t=all&q='
initial_url=urlMain+'/r/'+subreddit
else:
initial_search_string='sort=relevance&t=year&q='
initial_url=urlMain
keyboard = xbmc.Keyboard(initial_search_string, translation(32073))
keyboard.doModal()
if keyboard.isConfirmed() and keyboard.getText():
search_string=keyboard.getText()
if search_string:
search_string=urllib.quote_plus(search_string,safe='&=') #only &= are used because they're in the initial_search_string
# #this https://www.reddit.com/r/Art/.json?&nsfw:no+&limit=10
# #becomes https://www.reddit.com/r/Art/search.json?&nsfw:no+&limit=10&q=SEARCHTERM&restrict_sr=on&sort=relevance&t=all
url = initial_url +"/search.json?" +search_string #+ '+' + nsfw # + sites_filter skip the sites filter
listSubReddit(url, 'Search', "")
def _getKeyboardInput(self):
keyboard = xbmc.Keyboard('', self._(32005))
keyboard.doModal()
text = None
if keyboard.isConfirmed() and keyboard.getText():
text = keyboard.getText()
return text
def read_input(self, header):
keyboard = xbmc.Keyboard('', '??? ???????', False)
keyboard.doModal()
if keyboard.isConfirmed():
return keyboard.getText()
def get_user_input(self, heading, hidden=False):
keyboard = xbmc.Keyboard('', heading, hidden)
keyboard.doModal()
if keyboard.isConfirmed():
query = keyboard.getText()
self.log('User input string: %s' % query)
else:
query = None
if query and len(query) > 0:
return query
else:
return None
def new_search(search_type):
"""
Creates a new search. Saves it to add-on settings
:param search_type 'free' for free search, 'series' for searching series names
:return: None
"""
keyboard = xbmc.Keyboard()
keyboard.doModal()
if keyboard.isConfirmed() and keyboard.getText() != '':
search_text = "{0}:{1}".format(search_type, keyboard.getText())
search(search_text, 0)
xbmcplugin.endOfDirectory(_handle)
def add_favourites_folder(fav_folder):
keyboard = xbmc.Keyboard()
keyboard.doModal()
if keyboard.isConfirmed() and keyboard.getText() != '':
folder_name = 'favFolder' + keyboard.getText()
if favourite_folder_exists('favourites', folder_name):
pass
else:
_addon.setSetting(folder_name, "")
add_favourite('folder', '0', folder_name, fav_folder)
xbmcplugin.endOfDirectory(_handle)
def Do_SEARCH(self):
query = self.params.get("query")
if not query:
kb = xbmc.Keyboard()
kb.setHiddenInput(False)
kb.setHeading(self.locale["input"])
history = self.GetSearchHistory(self.histId)
if history:
kb.setDefault(history[0])
kb.doModal()
if kb.isConfirmed():
query = kb.getText()
self.params["query"] = query
self.Search(query)
def dialog_input(default="", heading="", hidden=False):
keyboard = xbmc.Keyboard(default, heading, hidden)
keyboard.doModal()
if keyboard.isConfirmed():
return keyboard.getText()
else:
return None
def keyboard(text):
keyboard = xbmc.Keyboard("", text, False)
keyboard.doModal()
if keyboard.isConfirmed():
return keyboard.getText()
return None