moveout some minor functions from Core
parent
1d4a92df20
commit
49d123594b
File diff suppressed because it is too large
Load Diff
103
Core.py
103
Core.py
|
@ -1038,7 +1038,7 @@ class Core:
|
||||||
|
|
||||||
#print str(contentList)
|
#print str(contentList)
|
||||||
|
|
||||||
dirList, contentListNew = self.cutFolder(contentList, tdir)
|
dirList, contentListNew = cutFolder(contentList, tdir)
|
||||||
|
|
||||||
for title in dirList:
|
for title in dirList:
|
||||||
self.drawItem(title, 'openTorrent', url, isFolder=True, action2=title)
|
self.drawItem(title, 'openTorrent', url, isFolder=True, action2=title)
|
||||||
|
@ -1175,7 +1175,6 @@ class Core:
|
||||||
torrentFilesDirectory=self.torrentFilesDirectory)
|
torrentFilesDirectory=self.torrentFilesDirectory)
|
||||||
self.__settings__.setSetting("lastTorrent", torrent.saveTorrent(url))
|
self.__settings__.setSetting("lastTorrent", torrent.saveTorrent(url))
|
||||||
if silent != 'true':
|
if silent != 'true':
|
||||||
contentId = 0
|
|
||||||
if external:
|
if external:
|
||||||
myshows_setting = xbmcaddon.Addon(id='plugin.video.myshows')
|
myshows_setting = xbmcaddon.Addon(id='plugin.video.myshows')
|
||||||
myshows_lang = myshows_setting.getLocalizedString
|
myshows_lang = myshows_setting.getLocalizedString
|
||||||
|
@ -1195,7 +1194,7 @@ class Core:
|
||||||
re.I | re.DOTALL):
|
re.I | re.DOTALL):
|
||||||
myshows_items.append(title)
|
myshows_items.append(title)
|
||||||
myshows_files.append('plugin://plugin.video.torrenter/?action=playTorrent&url=' + identifier)
|
myshows_files.append('plugin://plugin.video.torrenter/?action=playTorrent&url=' + identifier)
|
||||||
if len(myshows_items) > 1: myshows_items = self.cutFileNames(myshows_items)
|
if len(myshows_items) > 1: myshows_items = cutFileNames(myshows_items)
|
||||||
myshows_items.append(unicode(myshows_lang(30400)))
|
myshows_items.append(unicode(myshows_lang(30400)))
|
||||||
myshows_files.append('')
|
myshows_files.append('')
|
||||||
dialog = xbmcgui.Dialog()
|
dialog = xbmcgui.Dialog()
|
||||||
|
@ -1214,7 +1213,7 @@ class Core:
|
||||||
contentList.append((self.unescape(fileTitle), str(filedict.get('ind'))))
|
contentList.append((self.unescape(fileTitle), str(filedict.get('ind'))))
|
||||||
contentList = sorted(contentList, key=lambda x: x[0])
|
contentList = sorted(contentList, key=lambda x: x[0])
|
||||||
|
|
||||||
dirList, contentListNew = self.cutFolder(contentList, tdir)
|
dirList, contentListNew = cutFolder(contentList, tdir)
|
||||||
|
|
||||||
for title in dirList:
|
for title in dirList:
|
||||||
self.drawItem(title, 'openTorrent', url, image=thumbnail, isFolder=True, action2=title)
|
self.drawItem(title, 'openTorrent', url, image=thumbnail, isFolder=True, action2=title)
|
||||||
|
@ -1244,102 +1243,6 @@ class Core:
|
||||||
url = self.__settings__.getSetting("lastTorrent")
|
url = self.__settings__.getSetting("lastTorrent")
|
||||||
self.downloadFilesList({'url': url, 'ind': params.get("url")})
|
self.downloadFilesList({'url': url, 'ind': params.get("url")})
|
||||||
|
|
||||||
def cutFolder(self, contentList, tdir=None):
|
|
||||||
dirList, contentListNew = [], []
|
|
||||||
|
|
||||||
if len(contentList) > 1:
|
|
||||||
common_folder = contentList[0][0]
|
|
||||||
if '\\' in common_folder:
|
|
||||||
common_folder = common_folder.split('\\')[0]
|
|
||||||
elif '/' in common_folder:
|
|
||||||
common_folder = common_folder.split('/')[0]
|
|
||||||
|
|
||||||
common = True
|
|
||||||
for fileTitle, contentId in contentList:
|
|
||||||
if common_folder not in fileTitle:
|
|
||||||
print 'no common'
|
|
||||||
common = False
|
|
||||||
break
|
|
||||||
|
|
||||||
#print common_folder
|
|
||||||
for fileTitle, contentId in contentList:
|
|
||||||
dir = None
|
|
||||||
if common:
|
|
||||||
fileTitle = fileTitle[len(common_folder) + 1:]
|
|
||||||
|
|
||||||
#print fileTitle
|
|
||||||
|
|
||||||
if '\\' in fileTitle:
|
|
||||||
dir = fileTitle.split('\\')[0]
|
|
||||||
elif '/' in fileTitle:
|
|
||||||
dir = fileTitle.split('/')[0]
|
|
||||||
elif not tdir:
|
|
||||||
contentListNew.append((fileTitle, contentId))
|
|
||||||
|
|
||||||
if tdir and dir == tdir:
|
|
||||||
contentListNew.append((fileTitle[len(dir) + 1:], contentId))
|
|
||||||
|
|
||||||
if not tdir and dir and dir not in dirList:
|
|
||||||
dirList.append(dir)
|
|
||||||
|
|
||||||
return dirList, contentListNew
|
|
||||||
else:
|
|
||||||
return dirList, contentList
|
|
||||||
|
|
||||||
def cutFileNames(self, l):
|
|
||||||
from difflib import Differ
|
|
||||||
|
|
||||||
d = Differ()
|
|
||||||
i = -1
|
|
||||||
m = self.getDirList(None, l)
|
|
||||||
if len(m) < 2: return l
|
|
||||||
text1 = str(m[0])
|
|
||||||
text2 = str(m[1])
|
|
||||||
|
|
||||||
seps = ['.|:| ', '.|:|x', ' |:|x', ' |:|-', '_|:|', ]
|
|
||||||
for s in seps:
|
|
||||||
sep_file = str(s).split('|:|')[0]
|
|
||||||
result = list(d.compare(text1.split(sep_file), text2.split(sep_file)))
|
|
||||||
if len(result) > 5:
|
|
||||||
break
|
|
||||||
|
|
||||||
print list(d.compare(text1.split(sep_file), text2.split(sep_file)))
|
|
||||||
|
|
||||||
start = ''
|
|
||||||
end = ''
|
|
||||||
|
|
||||||
for res in result:
|
|
||||||
if str(res).startswith('-') or str(res).startswith('+') or str(res).startswith('.?'):
|
|
||||||
break
|
|
||||||
start = start + str(res).strip() + sep_file
|
|
||||||
result.reverse()
|
|
||||||
for res in result:
|
|
||||||
if str(res).startswith('-') or str(res).startswith('+') or str(res).startswith('?'):
|
|
||||||
break
|
|
||||||
end = sep_file + str(res).strip() + end
|
|
||||||
|
|
||||||
newl = l
|
|
||||||
l = []
|
|
||||||
for fl in newl:
|
|
||||||
if fl[0:len(start)] == start: fl = fl[len(start):]
|
|
||||||
if fl[len(fl) - len(end):] == end: fl = fl[0:len(fl) - len(end)]
|
|
||||||
#fl=fl[len(start):len(fl)-len(end)] только это вместо 2 сверху
|
|
||||||
l.append(fl)
|
|
||||||
return l
|
|
||||||
|
|
||||||
def getDirList(self, path, newl=None):
|
|
||||||
l = []
|
|
||||||
try:
|
|
||||||
if not newl: newl = os.listdir(path)
|
|
||||||
except:
|
|
||||||
if not newl: newl = os.listdir(path.decode('utf-8').encode('cp1251'))
|
|
||||||
for fl in newl:
|
|
||||||
match = re.match('.avi|.mp4|.mkV|.flv|.mov|.vob|.wmv|.ogm|.asx|.mpg|mpeg|.avc|.vp3|.fli|.flc|.m4v',
|
|
||||||
fl[int(len(fl)) - 4:len(fl)], re.I)
|
|
||||||
if match:
|
|
||||||
l.append(fl)
|
|
||||||
return l
|
|
||||||
|
|
||||||
def openSection(self, params={}):
|
def openSection(self, params={}):
|
||||||
get = params.get
|
get = params.get
|
||||||
url = urllib.unquote_plus(get("url"))
|
url = urllib.unquote_plus(get("url"))
|
||||||
|
|
42
functions.py
42
functions.py
|
@ -567,6 +567,48 @@ def sortext(filelist):
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
def cutFolder(contentList, tdir=None):
|
||||||
|
dirList, contentListNew = [], []
|
||||||
|
|
||||||
|
if len(contentList) > 1:
|
||||||
|
common_folder = contentList[0][0]
|
||||||
|
if '\\' in common_folder:
|
||||||
|
common_folder = common_folder.split('\\')[0]
|
||||||
|
elif '/' in common_folder:
|
||||||
|
common_folder = common_folder.split('/')[0]
|
||||||
|
|
||||||
|
common = True
|
||||||
|
for fileTitle, contentId in contentList:
|
||||||
|
if common_folder not in fileTitle:
|
||||||
|
print 'no common'
|
||||||
|
common = False
|
||||||
|
break
|
||||||
|
|
||||||
|
#print common_folder
|
||||||
|
for fileTitle, contentId in contentList:
|
||||||
|
dir = None
|
||||||
|
if common:
|
||||||
|
fileTitle = fileTitle[len(common_folder) + 1:]
|
||||||
|
|
||||||
|
#print fileTitle
|
||||||
|
|
||||||
|
if '\\' in fileTitle:
|
||||||
|
dir = fileTitle.split('\\')[0]
|
||||||
|
elif '/' in fileTitle:
|
||||||
|
dir = fileTitle.split('/')[0]
|
||||||
|
elif not tdir:
|
||||||
|
contentListNew.append((fileTitle, contentId))
|
||||||
|
|
||||||
|
if tdir and dir == tdir:
|
||||||
|
contentListNew.append((fileTitle[len(dir) + 1:], contentId))
|
||||||
|
|
||||||
|
if not tdir and dir and dir not in dirList:
|
||||||
|
dirList.append(dir)
|
||||||
|
|
||||||
|
return dirList, contentListNew
|
||||||
|
else:
|
||||||
|
return dirList, contentList
|
||||||
|
|
||||||
def sweetpair(l):
|
def sweetpair(l):
|
||||||
from difflib import SequenceMatcher
|
from difflib import SequenceMatcher
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue