Switched event system (again)
This commit is contained in:
1 parent
fd5a41435b
commit
f9523444f4
24 files changed
+580
-142
No files matched your search
@@ -0,0 +1,57 @@
|
||||
from couchpotato.core.helpers import latinToAscii
|
||||
from couchpotato.core.logger import CPLog
|
||||
from string import ascii_letters, digits
|
||||
import re
|
||||
import unicodedata
|
||||
import xml.etree.ElementTree as XMLTree
|
||||
|
||||
log = CPLog(__name__)
|
||||
|
||||
class Provider():
|
||||
|
||||
type = None # movie, nzb, torrent, subtitle, trailer
|
||||
timeout = 10 # Default timeout for url requests
|
||||
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def toSaveString(self, string):
|
||||
string = latinToAscii(string)
|
||||
string = ''.join((c for c in unicodedata.normalize('NFD', unicode(string)) if unicodedata.category(c) != 'Mn'))
|
||||
safe_chars = ascii_letters + digits + '_ -.,\':!?'
|
||||
r = ''.join([char if char in safe_chars else ' ' for char in string])
|
||||
return re.sub('\s+' , ' ', r)
|
||||
|
||||
def toSearchString(self, string):
|
||||
string = latinToAscii(string)
|
||||
string = ''.join((c for c in unicodedata.normalize('NFD', unicode(string)) if unicodedata.category(c) != 'Mn'))
|
||||
safe_chars = ascii_letters + digits + ' \''
|
||||
r = ''.join([char if char in safe_chars else ' ' for char in string])
|
||||
return re.sub('\s+' , ' ', r).replace('\'s', 's').replace('\'', ' ')
|
||||
|
||||
def gettextelements(self, xml, path):
|
||||
''' Find elements and return tree'''
|
||||
|
||||
textelements = []
|
||||
try:
|
||||
elements = xml.findall(path)
|
||||
except:
|
||||
return
|
||||
for element in elements:
|
||||
textelements.append(element.text)
|
||||
return textelements
|
||||
|
||||
def gettextelement(self, xml, path):
|
||||
''' Find element and return text'''
|
||||
|
||||
try:
|
||||
return xml.find(path).text
|
||||
except:
|
||||
return
|
||||
|
||||
def getItems(self, data, path = 'channel/item'):
|
||||
try:
|
||||
return XMLTree.parse(data).findall(path)
|
||||
except Exception, e:
|
||||
log.error('Error parsing RSS. %s' % e)
|
||||
return []
|
||||
Reference in new issue
Block a user