diff --git a/couchpotato/core/logger.py b/couchpotato/core/logger.py
index 374d8ff..6049af1 100644
--- a/couchpotato/core/logger.py
+++ b/couchpotato/core/logger.py
@@ -1,4 +1,3 @@
-import color_logs
import logging
import re
diff --git a/couchpotato/core/plugins/log/static/log.js b/couchpotato/core/plugins/log/static/log.js
index 70be4c7..bc8b395 100644
--- a/couchpotato/core/plugins/log/static/log.js
+++ b/couchpotato/core/plugins/log/static/log.js
@@ -64,10 +64,10 @@ Page.Log = new Class({
addColors: function(text){
var self = this;
- text = text.replace(/\u001b\[31m\u001b\[31m/gi, '')
- text = text.replace(/\u001b\[36m\u001b\[36m/gi, '')
- text = text.replace(/\u001b\[0m\u001b\[0m\n/gi, '')
- text = text.replace(/\u001b\[0m\u001b\[0m/gi, '')
+ text = text.replace(/\u001b\[31m/gi, '')
+ text = text.replace(/\u001b\[36m/gi, '')
+ text = text.replace(/\u001b\[0m\n/gi, '')
+ text = text.replace(/\u001b\[0m/gi, '')
return '' + text + '';
}
diff --git a/couchpotato/core/providers/nzb/moovee/main.py b/couchpotato/core/providers/nzb/moovee/main.py
index 82ad304..735c1c7 100644
--- a/couchpotato/core/providers/nzb/moovee/main.py
+++ b/couchpotato/core/providers/nzb/moovee/main.py
@@ -37,7 +37,7 @@ class Moovee(NZBProvider):
log.error('Failed to get data from %s.' % url)
return results
- match = re.compile(self.urls['regex'], re.DOTALL).finditer(data)
+ match = re.compile(self.regex, re.DOTALL).finditer(data)
for nzb in match:
new = {
diff --git a/couchpotato/runner.py b/couchpotato/runner.py
index d9c12dd..c9d411c 100644
--- a/couchpotato/runner.py
+++ b/couchpotato/runner.py
@@ -96,7 +96,8 @@ def runCouchPotato(options, base_path, args):
server_log = logging.getLogger('werkzeug')
server_log.disabled = True
- # Start logging
+ # Start logging & enable colors
+ import color_logs
from couchpotato.core.logger import CPLog
log = CPLog(__name__)
log.debug('Started with options %s' % options)
diff --git a/libs/color_logs.py b/libs/color_logs.py
index 1a78e91..87ff7b7 100644
--- a/libs/color_logs.py
+++ b/libs/color_logs.py
@@ -1,80 +1,6 @@
-#!/usr/bin/env python
-# encoding: utf-8
import logging
-import platform
-
-def add_coloring_to_emit_windows(fn):
- # add methods we need to the class
- def _out_handle(self):
- import ctypes
- return ctypes.windll.kernel32.GetStdHandle(self.STD_OUTPUT_HANDLE)
-
- out_handle = property(_out_handle)
-
- def _set_color(self, code):
- import ctypes
- # Constants from the Windows API
- self.STD_OUTPUT_HANDLE = -11
- hdl = ctypes.windll.kernel32.GetStdHandle(self.STD_OUTPUT_HANDLE)
- ctypes.windll.kernel32.SetConsoleTextAttribute(hdl, code)
-
- setattr(logging.StreamHandler, '_set_color', _set_color)
-
- def new(*args):
- FOREGROUND_BLUE = 0x0001 # text color contains blue.
- FOREGROUND_GREEN = 0x0002 # text color contains green.
- FOREGROUND_RED = 0x0004 # text color contains red.
- FOREGROUND_INTENSITY = 0x0008 # text color is intensified.
- FOREGROUND_WHITE = FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED
- # winbase.h
- STD_INPUT_HANDLE = -10
- STD_OUTPUT_HANDLE = -11
- STD_ERROR_HANDLE = -12
-
- # wincon.h
- FOREGROUND_BLACK = 0x0000
- FOREGROUND_BLUE = 0x0001
- FOREGROUND_GREEN = 0x0002
- FOREGROUND_CYAN = 0x0003
- FOREGROUND_RED = 0x0004
- FOREGROUND_MAGENTA = 0x0005
- FOREGROUND_YELLOW = 0x0006
- FOREGROUND_GREY = 0x0007
- FOREGROUND_INTENSITY = 0x0008 # foreground color is intensified.
-
- BACKGROUND_BLACK = 0x0000
- BACKGROUND_BLUE = 0x0010
- BACKGROUND_GREEN = 0x0020
- BACKGROUND_CYAN = 0x0030
- BACKGROUND_RED = 0x0040
- BACKGROUND_MAGENTA = 0x0050
- BACKGROUND_YELLOW = 0x0060
- BACKGROUND_GREY = 0x0070
- BACKGROUND_INTENSITY = 0x0080 # background color is intensified.
-
- levelno = args[1].levelno
- if(levelno >= 50):
- color = BACKGROUND_YELLOW | FOREGROUND_RED | FOREGROUND_INTENSITY | BACKGROUND_INTENSITY
- elif(levelno >= 40):
- color = FOREGROUND_RED | FOREGROUND_INTENSITY
- elif(levelno >= 30):
- color = FOREGROUND_YELLOW | FOREGROUND_INTENSITY
- elif(levelno >= 20):
- color = FOREGROUND_GREEN
- elif(levelno >= 10):
- color = FOREGROUND_MAGENTA
- else:
- color = FOREGROUND_WHITE
- args[0]._set_color(color)
-
- ret = fn(*args)
- args[0]._set_color(FOREGROUND_WHITE)
- #print "after"
- return ret
- return new
def add_coloring_to_emit_ansi(fn):
- # add methods we need to the class
def new(*args):
levelno = args[1].levelno
if(levelno >= 50):
@@ -88,13 +14,12 @@ def add_coloring_to_emit_ansi(fn):
elif(levelno >= 10):
color = '\x1b[36m'
else:
- color = '\x1b[0m'
- args[1].msg = color + args[1].msg + '\x1b[0m' # normal
- #print "after"
+ color = '\x1b[0m' # normal
+
+ if not args[1].msg.startswith(color):
+ args[1].msg = color + args[1].msg + '\x1b[0m'
+
return fn(*args)
return new
-if platform.system() == 'Windows':
- logging.StreamHandler.emit = add_coloring_to_emit_windows(logging.StreamHandler.emit)
-else:
- logging.StreamHandler.emit = add_coloring_to_emit_ansi(logging.StreamHandler.emit)
+logging.StreamHandler.emit = add_coloring_to_emit_ansi(logging.StreamHandler.emit)