Merge branch 'refs/heads/develop' into nosql
This commit is contained in:
@@ -2,7 +2,7 @@ from couchpotato import get_db
|
||||
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
|
||||
from couchpotato.core.helpers.variable import getExt, md5, isLocalIP, scanForPassword, tryInt
|
||||
from couchpotato.core.logger import CPLog
|
||||
from couchpotato.environment import Env
|
||||
import requests
|
||||
@@ -301,8 +301,17 @@ class Plugin(object):
|
||||
return value
|
||||
|
||||
def createNzbName(self, data, media):
|
||||
release_name = data.get('name')
|
||||
tag = self.cpTag(media)
|
||||
return '%s%s' % (toSafeString(toUnicode(data.get('name'))[:127 - len(tag)]), tag)
|
||||
|
||||
# Check if password is filename
|
||||
name_password = scanForPassword(data.get('name'))
|
||||
if name_password:
|
||||
release_name, password = name_password
|
||||
tag += '{{%s}}' % password
|
||||
|
||||
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 = sp(os.path.join(self.createNzbName(data, media)))
|
||||
@@ -316,6 +325,42 @@ class Plugin(object):
|
||||
|
||||
return ''
|
||||
|
||||
def checkFilesChanged(self, files, unchanged_for = 60):
|
||||
now = time.time()
|
||||
|
||||
for cur_file in files:
|
||||
|
||||
# File got removed while checking
|
||||
if not os.path.isfile(cur_file):
|
||||
file_too_new = now
|
||||
break
|
||||
|
||||
# File has changed in last 60 seconds
|
||||
file_time = self.self.getFileTimes(cur_file)
|
||||
for t in file_time:
|
||||
if t > now - unchanged_for:
|
||||
file_too_new = tryInt(time.time() - t)
|
||||
break
|
||||
|
||||
if file_too_new:
|
||||
break
|
||||
|
||||
if file_too_new:
|
||||
try:
|
||||
time_string = time.ctime(file_time[0])
|
||||
except:
|
||||
try:
|
||||
time_string = time.ctime(file_time[1])
|
||||
except:
|
||||
time_string = 'unknown'
|
||||
|
||||
return file_too_new, time_string
|
||||
|
||||
return False, None
|
||||
|
||||
def getFileTimes(self, file_path):
|
||||
return [os.path.getmtime(file_path), os.path.getctime(file_path) if os.name != 'posix' else 0]
|
||||
|
||||
def isDisabled(self):
|
||||
return not self.isEnabled()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user