diff --git a/sickrage/helper/common.py b/sickrage/helper/common.py
index 79318b7804aede7b616e05ffcf9ad4c0b113d8c5..5def83b5184e37189827b7446f9899b0892b48ff 100644
--- a/sickrage/helper/common.py
+++ b/sickrage/helper/common.py
@@ -17,6 +17,8 @@
 # You should have received a copy of the GNU General Public License
 # along with SickRage. If not, see <http://www.gnu.org/licenses/>.
 
+from __future__ import unicode_literals
+
 import re
 import sickbeard
 
@@ -90,13 +92,13 @@ http_status_code = {
     509: 'Bandwidth Limit Exceeded',
     510: 'Not Extended',
     511: 'Network Authentication Required',
-    520: 'Cloudfare - Web server is returning an unknown error',
-    521: 'Cloudfare - Web server is down',
-    522: 'Cloudfare - Connection timed out',
-    523: 'Cloudfare - Origin is unreachable',
-    524: 'Cloudfare - A timeout occurred',
-    525: 'Cloudfare - SSL handshake failed',
-    526: 'Cloudfare - Invalid SSL certificate',
+    520: 'CloudFlare - Web server is returning an unknown error',
+    521: 'CloudFlare - Web server is down',
+    522: 'CloudFlare - Connection timed out',
+    523: 'CloudFlare - Origin is unreachable',
+    524: 'CloudFlare - A timeout occurred',
+    525: 'CloudFlare - SSL handshake failed',
+    526: 'CloudFlare - Invalid SSL certificate',
     598: 'Network read timeout error',
     599: 'Network connect timeout error',
 }
@@ -124,7 +126,7 @@ def http_code_description(http_code):
         return description
 
     # TODO Restore logger import
-    # logger.log(u'Unknown HTTP status code %s. Please submit an issue' % http_code, logger.ERROR)
+    # logger.log('Unknown HTTP status code %s. Please submit an issue' % http_code, logger.ERROR)
 
     return None
 
@@ -164,7 +166,7 @@ def pretty_file_size(size, use_decimal=False, **kwargs):
     :param size: The size to convert
     :param use_decimal: use decimal instead of binary prefixes (e.g. kilo = 1000 instead of 1024)
 
-    :keyword units: A list of unit names in ascending order. Default units: [u'B', u'KB', u'MB', u'GB', u'TB', u'PB']
+    :keyword units: A list of unit names in ascending order. Default units: ['B', 'KB', 'MB', 'GB', 'TB', 'PB']
 
     :return: The converted size
     """
@@ -191,24 +193,34 @@ def convert_size(size, default=None, use_decimal=False, **kwargs):
     :param default: value to return if conversion fails
     :param use_decimal: use decimal instead of binary prefixes (e.g. kilo = 1000 instead of 1024)
 
-    :keyword units: A list of (uppercase) unit names in ascending order. Default units: [u'B', u'KB', u'MB', u'GB', u'TB', u'PB']
+    :keyword sep: Separator between size and units, default is space
+    :keyword units: A list of (uppercase) unit names in ascending order. Default units: ['B', 'KB', 'MB', 'GB', 'TB', 'PB']
+    :keyword default_units: Default unit if none is given, default is lowest unit in the scale, e.g. bytes
 
     :returns: the number of bytes, the default value, or 0
     """
     result = None
 
     try:
-        size_tuple = size.strip().split(u' ')
-        scalar, units = size_tuple[0], size_tuple[1:]
+        sep = kwargs.pop('sep', ' ')
+        scale = kwargs.pop('units', ['B', 'KB', 'MB', 'GB', 'TB', 'PB'])
+        default_units = kwargs.pop('default_units', scale[0])
+
+        if sep:
+            size_tuple = size.strip().split(sep)
+            scalar, units = size_tuple[0], size_tuple[1:]
+            units = units[0].upper() if units else default_units
+        else:
+            regex_units = re.search(r'(\w+)', size, re.IGNORECASE)
+            units = regex_units.group() if regex_units else default_units
+            scalar = size.strip(units)
 
         scalar = float(scalar)
-        units = units[0].upper() if units else None
-
-        scale = kwargs.pop(u'units', [u'B', u'KB', u'MB', u'GB', u'TB', u'PB'])
         scalar *= (1024 if not use_decimal else 1000) ** scale.index(units)
 
         result = scalar
 
+    # TODO: Make sure fallback methods obey default units
     except AttributeError:
         result = size if size is not None else default
 
@@ -270,7 +282,7 @@ def sanitize_filename(filename):
     if isinstance(filename, (str, unicode)):
         filename = re.sub(r'[\\/\*]', '-', filename)
         filename = re.sub(r'[:"<>|?]', '', filename)
-        filename = re.sub(ur'\u2122', '', filename)  # Trade Mark Sign
+        filename = re.sub(r'™', '', filename)  # Trade Mark Sign unicode: \u2122
         filename = filename.strip(' .')
 
         return filename