From 1dbdacfe69fad45ed53ec4ba8de9daacb4800f1f Mon Sep 17 00:00:00 2001 From: Kingul Date: Sun, 4 Dec 2016 11:12:03 +0200 Subject: [PATCH 1/4] ready to use new searchwindow --- Core.py | 6 ++--- searchwindow.py | 64 ++++++++++++++++++++++++++++++++----------------- 2 files changed, 45 insertions(+), 25 deletions(-) diff --git a/Core.py b/Core.py index 2644659..4d5f0cc 100644 --- a/Core.py +++ b/Core.py @@ -1606,9 +1606,9 @@ class Core: xbmc.executebuiltin( 'xbmc.RunScript(%s,)' % os.path.join(ROOT, 'controlcenter.py')) - def searchWindow(self, params={}): - xbmc.executebuiltin( - 'xbmc.RunScript(%s,)' % os.path.join(ROOT, 'searchwindow.py')) + def search(self, params={}): + import searchwindow + searchwindow.main(params) def showFilesList(self, filesList, params={}): get = params.get diff --git a/searchwindow.py b/searchwindow.py index 936c710..f6e28b5 100644 --- a/searchwindow.py +++ b/searchwindow.py @@ -22,7 +22,7 @@ import sys, os, urllib, json import xbmcaddon import xbmc import xbmcgui -from functions import get_filesList, HistoryDB, get_contentList, log, cutFolder, get_ids_video, showMessage, getParameters +from functions import get_filesList, HistoryDB, get_contentList, log, cutFolder, get_ids_video, showMessage, getParameters, unquote import pyxbmct.addonwindow as pyxbmct import Localization import re @@ -54,13 +54,15 @@ class SearchWindow(pyxbmct.AddonDialogWindow): last_top_button = None last_right_button = None - def __init__(self, title=""): + def __init__(self, title="", s_param={}): super(SearchWindow, self).__init__(title) self.setGeometry(1280, 720, 9, 16) self.set_controls() self.connect_controls() - #self.set_navigation() - self.history() + if s_param: + self.search(s_param=s_param) + else: + self.history() def icon(self, icon): return '%s/icons/%s.png' %(__root__, icon) @@ -114,11 +116,31 @@ class SearchWindow(pyxbmct.AddonDialogWindow): control.setAnimations([('WindowOpen', 'effect=fade start=0 end=100 time=500',), ('WindowClose', 'effect=fade start=100 end=0 time=500',)]) - def search(self, addtime=None): + def search(self, addtime=None, s_param={}): self.reconnect(pyxbmct.ACTION_NAV_BACK, self.history) self.right_menu('search') self.listing.reset() - query = self.input_search.getText() + if s_param: + if s_param.get('url'): + search = urllib.unquote_plus(s_param.get('url')) + external = s_param.get("return_name") + if external: + searcher = 'landing from : %s ' % str(external) + else: + searcher = '' + self.setWindowTitle(title='%s %s' % ('Torrenter Search Window', searcher)) + if s_param.get('showKey') == 'true': + self.input_search.setText(search) + query = self.input_search.getText() + else: + self.input_search.setText(search) + query = search + #self.setFocus(self.listing) + else: + query = self.input_search.getText() + self.history() + else: + query = self.input_search.getText() log('Search query: '+str(query)) #cache @@ -126,16 +148,19 @@ class SearchWindow(pyxbmct.AddonDialogWindow): self.filesList = get_filesList(query, addtime) self.last_query = query elif len(query)==0: - self.filesList = [(1919, 1919, 52, u'102.66 MiB', u'South.Park.S20E06.HDTV.x264-FUM[ettv]', - u'ThePirateBay::magnet:?xt=urn:btih:0792ea51bc16a19893871197fa927ecec7ca25aa&dn=South.Park.S20E06.HDTV.x264-FUM%5Bettv%5D&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Fzer0day.ch%3A1337&tr=udp%3A%2F%2Fopen.demonii.com%3A1337&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Fexodus.desync.com%3A6969', - 'C:\\Users\\Admin\\AppData\\Roaming\\Kodi\\addons\\torrenter.searcher.ThePirateBay\\icon.png'), - (1919, 1919, 52, u'102.66 MiB', u'Haruhi', - u'D:\\htest.torrent', - 'C:\\Users\\Admin\\AppData\\Roaming\\Kodi\\addons\\torrenter.searcher.ThePirateBay\\icon.png') ] + self.filesList = [] + #self.filesList = [(1919, 1919, 52, u'102.66 MiB', u'South.Park.S20E06.HDTV.x264-FUM[ettv]', + #u'ThePirateBay::magnet:?xt=urn:btih:0792ea51bc16a19893871197fa927ecec7ca25aa&dn=South.Park.S20E06.HDTV.x264-FUM%5Bettv%5D&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Fzer0day.ch%3A1337&tr=udp%3A%2F%2Fopen.demonii.com%3A1337&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Fexodus.desync.com%3A6969', + #'C:\\Users\\Admin\\AppData\\Roaming\\Kodi\\addons\\torrenter.searcher.ThePirateBay\\icon.png'), + #(1919, 1919, 52, u'102.66 MiB', u'Haruhi', + # u'D:\\htest.torrent', + # 'C:\\Users\\Admin\\AppData\\Roaming\\Kodi\\addons\\torrenter.searcher.ThePirateBay\\icon.png') ] if 1==1: - for (order, seeds, leechers, size, title, link, image) in self.filesList: - title = titleMake(seeds, leechers, size, title) - self.drawItem(title, {'mode':'search_item', 'filename': link}, image) + if self.filesList: + for (order, seeds, leechers, size, title, link, image) in self.filesList: + title = titleMake(seeds, leechers, size, title) + self.drawItem(title, {'mode':'search_item', 'filename': link}, image) + self.setFocus(self.listing) def history(self): self.right_menu('history') @@ -492,19 +517,14 @@ def titleMake(seeds, leechers, size, title): return title -def main(): - dialog = SearchWindow("Torrenter Search Window") +def main(params={}): + dialog = SearchWindow("Torrenter Search Window", params) dialog.doModal() del dialog #You need to delete your instance when it is no longer needed #because underlying xbmcgui classes are not grabage-collected. if __name__ == '__main__': - if len(sys.argv) > 1: - params = getParameters(sys.argv[1]) - else: - params = {} - try: main() except Exception, e: From 49dc49cd6bebec01f369c6bd3dec86d0c9635dd4 Mon Sep 17 00:00:00 2001 From: Kingul Date: Sun, 4 Dec 2016 11:13:52 +0200 Subject: [PATCH 2/4] ready to use new searchwindow-fix --- Core.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core.py b/Core.py index 4d5f0cc..6aae249 100644 --- a/Core.py +++ b/Core.py @@ -1606,7 +1606,7 @@ class Core: xbmc.executebuiltin( 'xbmc.RunScript(%s,)' % os.path.join(ROOT, 'controlcenter.py')) - def search(self, params={}): + def searchWindow(self, params={}): import searchwindow searchwindow.main(params) From 075796852883638c07240e62c13f899196923825 Mon Sep 17 00:00:00 2001 From: Kingul Date: Sun, 4 Dec 2016 12:03:44 +0200 Subject: [PATCH 3/4] replace runscript controlcenter with import --- searchwindow.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/searchwindow.py b/searchwindow.py index f6e28b5..f9adf5c 100644 --- a/searchwindow.py +++ b/searchwindow.py @@ -366,11 +366,8 @@ class SearchWindow(pyxbmct.AddonDialogWindow): url = self.form_link(action, link) xbmc.executebuiltin('xbmc.RunPlugin("%s")' % (url)) elif mode == 'history_search_item': - addtime = params.get('addtime') - url = (os.path.join(__root__, 'controlcenter.py,') + - 'addtime=%s&title=%s' % (str(addtime), urllib.quote_plus(filename))) - log(url) - xbmc.executebuiltin('xbmc.RunScript(%s)' % (url)) + params['title'] = params.get('filename') + self.controlCenter(params) def right_press4(self): item = self.listing.getSelectedItem() @@ -430,9 +427,9 @@ class SearchWindow(pyxbmct.AddonDialogWindow): return url - def controlCenter(self): - xbmc.executebuiltin( - 'xbmc.RunScript(%s,)' % os.path.join(__root__, 'controlcenter.py')) + def controlCenter(self, params={}): + import controlcenter + controlcenter.main(params) def reconnect(self, event, callable): self.disconnect(event) From 9143cbe65a0823abe6064047ebddf4fbe229fc1b Mon Sep 17 00:00:00 2001 From: Kingul Date: Sun, 4 Dec 2016 12:46:14 +0200 Subject: [PATCH 4/4] temporary change background --- icons/ContentPanel.png | Bin 0 -> 1891 bytes searchwindow.py | 1 + 2 files changed, 1 insertion(+) create mode 100644 icons/ContentPanel.png diff --git a/icons/ContentPanel.png b/icons/ContentPanel.png new file mode 100644 index 0000000000000000000000000000000000000000..e8c13ebd70be0fb9b4026fa4bac916a9ffbaefc5 GIT binary patch literal 1891 zcmeAS@N?(olHy`uVBq!ia0y~yV1C2Ez!by*6kw=f6?h7y6p}rHd>I(3R2di=ni&{= z{s+=885l|p7#Ln9FfdrnU|pA>)84XBnW$=lt9;eUJonf*W>XMsm#F#`j)5C}6~ zx?A@LD9B#o>FdgVpOckAhB=F8);|UYwiBK%jv*Dd-d;9jWH8`q*wD4IzPEIvtO{4f z3|66M