XBMC Metadata base

This commit is contained in:
Ruud
2011-08-22 17:11:49 +02:00
parent 2a3d1fc8a3
commit 9734521178
11 changed files with 225 additions and 97 deletions
+24 -1
View File
@@ -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
+2 -4
View File
@@ -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)
+7 -3
View File
@@ -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()