XBMC Metadata base
This commit is contained in:
@@ -1,15 +1,20 @@
|
||||
from couchpotato import addView
|
||||
from couchpotato.core.event import fireEvent
|
||||
from couchpotato.core.helpers.variable import getExt
|
||||
from couchpotato.core.logger import CPLog
|
||||
from couchpotato.environment import Env
|
||||
from flask.helpers import send_from_directory
|
||||
import glob
|
||||
import os.path
|
||||
import re
|
||||
|
||||
log = CPLog(__name__)
|
||||
|
||||
|
||||
class Plugin(object):
|
||||
|
||||
enabled_option = 'enabled'
|
||||
|
||||
def conf(self, attr, default = None):
|
||||
return Env.setting(attr, self.getName().lower(), default = default)
|
||||
|
||||
@@ -36,8 +41,26 @@ class Plugin(object):
|
||||
dir = os.path.join(self.plugin_path, 'static')
|
||||
return send_from_directory(dir, file)
|
||||
|
||||
def createFile(self, path, content):
|
||||
|
||||
self.makeDir(os.path.dirname(path))
|
||||
|
||||
try:
|
||||
file = open(path, 'w')
|
||||
file.write(content)
|
||||
file.close()
|
||||
except Exception, e:
|
||||
log.error('Unable writing to file "%s": %s' % (path, e))
|
||||
|
||||
def makeDir(self, path):
|
||||
try:
|
||||
if not os.path.isdir(path):
|
||||
os.makedirs(path, Env.getPermission('folder'))
|
||||
except Exception, e:
|
||||
log.error('Unable to create folder "%s": %s' % (path, e))
|
||||
|
||||
def isDisabled(self):
|
||||
return not self.isEnabled()
|
||||
|
||||
def isEnabled(self):
|
||||
return self.conf('enabled') or self.conf('enabled') == None
|
||||
return self.conf(self.enabled_option) or self.conf(self.enabled_option) == None
|
||||
|
||||
@@ -12,11 +12,9 @@ class MetaData(Plugin):
|
||||
|
||||
self.registerStatic(__file__)
|
||||
|
||||
def test():
|
||||
fireEvent('metadata.create')
|
||||
|
||||
addEvent('app.load', test)
|
||||
addEvent('app.load', self.add)
|
||||
|
||||
def add(self, data = {}):
|
||||
log.info('Getting meta data')
|
||||
|
||||
fireEvent('metadata.create', data)
|
||||
|
||||
@@ -105,6 +105,7 @@ class Renamer(Plugin):
|
||||
|
||||
# Original filename
|
||||
replacements['original'] = os.path.basename(file)
|
||||
replacements['original_folder'] = os.path.basename(os.path.dirname(file))
|
||||
|
||||
# Extension
|
||||
replacements['ext'] = getExt(file)
|
||||
@@ -122,7 +123,7 @@ class Renamer(Plugin):
|
||||
if file_type is 'trailer':
|
||||
final_file_name = self.doReplace(trailer_name, replacements)
|
||||
elif file_type is 'nfo':
|
||||
final_file_name = self.doReplace(nfo_name, replacements)
|
||||
final_file_name = self.doReplace(nfo_name, replacements) + '-orig'
|
||||
elif file_type is 'backdrop':
|
||||
final_file_name = self.doReplace(backdrop_name, replacements)
|
||||
|
||||
@@ -131,7 +132,6 @@ class Renamer(Plugin):
|
||||
final_file_name = final_file_name.replace(' ', separator)
|
||||
|
||||
# Main file
|
||||
group['destination_dir'] = os.path.join(destination, final_folder_name)
|
||||
rename_files[file] = os.path.join(destination, final_folder_name, final_file_name)
|
||||
|
||||
# Check for extra subtitle files
|
||||
@@ -147,12 +147,16 @@ class Renamer(Plugin):
|
||||
final_file_name = self.doReplace(file_name, replacements)
|
||||
rename_files[subtitle_extra] = os.path.join(destination, final_folder_name, final_file_name)
|
||||
|
||||
# Filename without cd etc
|
||||
if file_type is 'movie':
|
||||
group['destination_dir'] = os.path.join(destination, final_folder_name)
|
||||
|
||||
if multiple:
|
||||
cd += 1
|
||||
|
||||
# Notify on download
|
||||
download_message = 'Download of %s (%s) successful.' % (group['library']['titles'][0]['title'], replacements['quality'])
|
||||
fireEvent('notify', type = 'movie.downloaded', message = download_message, data = replacements)
|
||||
fireEvent('notify', type = 'movie.downloaded', message = download_message, data = group)
|
||||
|
||||
# Before renaming, remove the lower quality files
|
||||
db = get_session()
|
||||
|
||||
Reference in New Issue
Block a user