Add randomstring support to cptag
This commit is contained in:
@@ -11,7 +11,8 @@ import traceback
|
||||
from couchpotato.core.event import fireEvent, addEvent
|
||||
from couchpotato.core.helpers.encoding import ss, toSafeString, \
|
||||
toUnicode, sp
|
||||
from couchpotato.core.helpers.variable import getExt, md5, isLocalIP, scanForPassword, tryInt, getIdentifier
|
||||
from couchpotato.core.helpers.variable import getExt, md5, isLocalIP, scanForPassword, tryInt, getIdentifier, \
|
||||
randomString
|
||||
from couchpotato.core.logger import CPLog
|
||||
from couchpotato.environment import Env
|
||||
import requests
|
||||
@@ -346,9 +347,9 @@ class Plugin(object):
|
||||
Env.get('cache').set(cache_key_md5, value, timeout)
|
||||
return value
|
||||
|
||||
def createNzbName(self, data, media):
|
||||
def createNzbName(self, data, media, unique_tag = False):
|
||||
release_name = data.get('name')
|
||||
tag = self.cpTag(media)
|
||||
tag = self.cpTag(media, unique_tag = unique_tag)
|
||||
|
||||
# Check if password is filename
|
||||
name_password = scanForPassword(data.get('name'))
|
||||
@@ -361,18 +362,24 @@ class Plugin(object):
|
||||
max_length = 127 - len(tag) # Some filesystems don't support 128+ long filenames
|
||||
return '%s%s' % (toSafeString(toUnicode(release_name)[:max_length]), tag)
|
||||
|
||||
def createFileName(self, data, filedata, media):
|
||||
name = self.createNzbName(data, media)
|
||||
def createFileName(self, data, filedata, media, unique_tag = False):
|
||||
name = self.createNzbName(data, media, unique_tag = unique_tag)
|
||||
if data.get('protocol') == 'nzb' and 'DOCTYPE nzb' not in filedata and '</nzb>' not in filedata:
|
||||
return '%s.%s' % (name, 'rar')
|
||||
return '%s.%s' % (name, data.get('protocol'))
|
||||
|
||||
def cpTag(self, media):
|
||||
if Env.setting('enabled', 'renamer'):
|
||||
identifier = getIdentifier(media)
|
||||
return '.cp(' + identifier + ')' if identifier else ''
|
||||
def cpTag(self, media, unique_tag = False):
|
||||
|
||||
return ''
|
||||
identifier = getIdentifier(media) or ''
|
||||
unique_tag = ', ' + randomString() if unique_tag else ''
|
||||
|
||||
tag = '.cp('
|
||||
tag += identifier
|
||||
tag += ', ' if unique_tag and identifier else ''
|
||||
tag += randomString() if unique_tag else ''
|
||||
tag += ')'
|
||||
|
||||
return tag if len(tag) > 7 else ''
|
||||
|
||||
def checkFilesChanged(self, files, unchanged_for = 60):
|
||||
now = time.time()
|
||||
|
||||
@@ -120,7 +120,7 @@ class Scanner(Plugin):
|
||||
'()([ab])(\.....?)$' #*a.mkv
|
||||
]
|
||||
|
||||
cp_imdb = '(.cp.(?P<id>tt[0-9{7}]+).)'
|
||||
cp_imdb = '\.cp\((?P<id>tt[0-9]+),?\s?(?P<random>[A-Za-z0-9]+)?\)'
|
||||
|
||||
def __init__(self):
|
||||
|
||||
@@ -492,7 +492,7 @@ class Scanner(Plugin):
|
||||
|
||||
data['quality_type'] = 'HD' if data.get('resolution_width', 0) >= 1280 or data['quality'].get('hd') else 'SD'
|
||||
|
||||
filename = re.sub('(.cp\(tt[0-9{7}]+\))', '', files[0])
|
||||
filename = re.sub(self.cp_imdb, '', files[0])
|
||||
data['group'] = self.getGroup(filename[len(folder):])
|
||||
data['source'] = self.getSourceMedia(filename)
|
||||
if data['quality'].get('is_3d', 0):
|
||||
|
||||
Reference in New Issue
Block a user