diff options
author | Sascha Silbe <sascha@silbe.org> | 2010-01-18 18:18:28 (GMT) |
---|---|---|
committer | Sascha Silbe <sascha@silbe.org> | 2010-01-18 23:15:58 (GMT) |
commit | 630fed8b3f8770b87130083a82a4a42fba68b642 (patch) | |
tree | 92b5d61e43c559b5d4b611bb386813dd86776650 | |
parent | d1cf3c66ecb6aee9f557e6bd746c5fe2e9a8e3f0 (diff) |
PEP8 fixes
-rw-r--r-- | src/sugar/__init__.py | 4 | ||||
-rw-r--r-- | src/sugar/logger.py | 49 | ||||
-rw-r--r-- | src/sugar/mime.py | 81 |
3 files changed, 80 insertions, 54 deletions
diff --git a/src/sugar/__init__.py b/src/sugar/__init__.py index e915b38..d24d665 100644 --- a/src/sugar/__init__.py +++ b/src/sugar/__init__.py @@ -19,7 +19,8 @@ import os import gettext -if os.environ.has_key('SUGAR_PREFIX'): + +if 'SUGAR_PREFIX' in os.environ: prefix = os.environ['SUGAR_PREFIX'] else: prefix = '/usr' @@ -27,4 +28,3 @@ else: locale_path = os.path.join(prefix, 'share', 'locale') gettext.bindtextdomain('sugar-base', locale_path) - diff --git a/src/sugar/logger.py b/src/sugar/logger.py index 226fb4b..275c57d 100644 --- a/src/sugar/logger.py +++ b/src/sugar/logger.py @@ -34,8 +34,17 @@ import decorator # traces function calls, use SUGAR_LOGGER_LEVEL=trace to enable TRACE = 5 +_LEVELS = { + 'error': logging.ERROR, + 'warning': logging.WARNING, + 'debug': logging.DEBUG, + 'info': logging.INFO, + 'trace': TRACE, + 'all': 0, +} logging.addLevelName(TRACE, 'TRACE') + def get_logs_dir(): profile = os.environ.get('SUGAR_PROFILE', 'default') logs_dir = os.environ.get('SUGAR_LOGS_DIR', @@ -43,13 +52,7 @@ def get_logs_dir(): '.sugar', profile, 'logs')) return logs_dir -_LEVELS = { 'error' : logging.ERROR, - 'warning' : logging.WARNING, - 'debug' : logging.DEBUG, - 'info' : logging.INFO, - 'trace' : TRACE, - 'all' : 0, -} + def set_level(level): if level in _LEVELS: logging.getLogger('').setLevel(_LEVELS[level]) @@ -67,12 +70,14 @@ def _except_hook(exctype, value, traceback): # Importing IPython is slow, so we import it lazily. try: from IPython.ultraTB import AutoFormattedTB - sys.excepthook = AutoFormattedTB(mode='Verbose', color_scheme='NoColor') + sys.excepthook = AutoFormattedTB(mode='Verbose', + color_scheme='NoColor') except ImportError: sys.excepthook = sys.__excepthook__ sys.excepthook(exctype, value, traceback) + def start(log_filename=None): # remove existing handlers, or logging.basicConfig() won't have no effect. root_logger = logging.getLogger('') @@ -106,7 +111,7 @@ def start(log_filename=None): format="%(created)f %(levelname)s %(name)s: %(message)s", stream=SafeLogWrapper(sys.stderr)) - if os.environ.has_key('SUGAR_LOGGER_LEVEL'): + if 'SUGAR_LOGGER_LEVEL' in os.environ: set_level(os.environ['SUGAR_LOGGER_LEVEL']) if log_filename: @@ -133,6 +138,7 @@ class TraceRepr(repr_.Repr): # better handling of subclasses of basic types, e.g. for DBus _TYPES = [int, long, bool, tuple, list, array.array, set, frozenset, collections.deque, dict, str] + def repr1(self, x, level): for t in self._TYPES: if isinstance(x, t): @@ -167,15 +173,17 @@ def trace(logger=None, logger_name=None, skip_args=None, skip_kwargs=None, def _trace(f, *args, **kwargs): # don't do expensive formatting if loglevel TRACE is not enabled enabled = trace_logger.isEnabledFor(TRACE) - if enabled: - params_formatted = ", ".join( - [trace_repr.repr(a) - for (idx, a) in enumerate(args) if idx not in skip_args] + \ - ['%s=%s' % (k,trace_repr.repr(v)) - for (k,v) in kwargs.items() if k not in skip_kwargs]) + if not enabled: + return f(*args, **kwargs) + + params_formatted = ", ".join( + [trace_repr.repr(a) + for (idx, a) in enumerate(args) if idx not in skip_args] + \ + ['%s=%s' % (k, trace_repr.repr(v)) + for (k, v) in kwargs.items() if k not in skip_kwargs]) - trace_logger.log(TRACE, "%s(%s) invoked", f.__name__, - params_formatted) + trace_logger.log(TRACE, "%s(%s) invoked", f.__name__, + params_formatted) try: res = f(*args, **kwargs) @@ -183,12 +191,9 @@ def trace(logger=None, logger_name=None, skip_args=None, skip_kwargs=None, trace_logger.exception("Exception occured in %s", f.__name__) raise - if enabled: - trace_logger.log(TRACE, "%s(%s) returned %s", f.__name__, - params_formatted, trace_repr.repr(res)) + trace_logger.log(TRACE, "%s(%s) returned %s", f.__name__, + params_formatted, trace_repr.repr(res)) return res return decorator.decorator(_trace) - - diff --git a/src/sugar/mime.py b/src/sugar/mime.py index e1a880a..7f3f5ff 100644 --- a/src/sugar/mime.py +++ b/src/sugar/mime.py @@ -38,49 +38,59 @@ GENERIC_TYPE_LINK = 'Link' _extensions = {} _globs_timestamps = [] _generic_types = [ -{ 'id' : GENERIC_TYPE_TEXT, - 'name' : _('Text'), - 'icon' : 'text-x-generic', - 'types' : ['text/plain', 'text/rtf', 'application/pdf', - 'application/x-pdf', 'text/html', - 'application/vnd.oasis.opendocument.text', - 'application/rtf', 'text/rtf', 'application/epub+zip'] +{ + 'id': GENERIC_TYPE_TEXT, + 'name': _('Text'), + 'icon': 'text-x-generic', + 'types': [ + 'text/plain', 'text/rtf', 'application/pdf', 'application/x-pdf', + 'text/html', 'application/vnd.oasis.opendocument.text', + 'application/rtf', 'text/rtf', 'application/epub+zip'], }, -{ 'id' : GENERIC_TYPE_IMAGE, - 'name' : _('Image'), - 'icon' : 'image-x-generic', - 'types' : ['image/png', 'image/gif', 'image/jpeg'] +{ + 'id': GENERIC_TYPE_IMAGE, + 'name': _('Image'), + 'icon': 'image-x-generic', + 'types': ['image/png', 'image/gif', 'image/jpeg'], }, -{ 'id' : GENERIC_TYPE_AUDIO, - 'name' : _('Audio'), - 'icon' : 'audio-x-generic', - 'types' : ['audio/ogg', 'audio/x-wav', 'audio/wav', 'audio/x-vorbis+ogg', - 'audio/x-mpegurl', 'audio/mpegurl', 'audio/mpeg', 'audio/x-scpls'] +{ + 'id': GENERIC_TYPE_AUDIO, + 'name': _('Audio'), + 'icon': 'audio-x-generic', + 'types': [ + 'audio/ogg', 'audio/x-wav', 'audio/wav', 'audio/x-vorbis+ogg', + 'audio/x-mpegurl', 'audio/mpegurl', 'audio/mpeg', 'audio/x-scpls'], }, -{ 'id' : GENERIC_TYPE_VIDEO, - 'name' : _('Video'), - 'icon' : 'video-x-generic', - 'types' : ['video/ogg', 'application/ogg', 'video/x-theora+ogg'] +{ + 'id': GENERIC_TYPE_VIDEO, + 'name': _('Video'), + 'icon': 'video-x-generic', + 'types': ['video/ogg', 'application/ogg', 'video/x-theora+ogg'], }, -{ 'id' : GENERIC_TYPE_LINK, - 'name' : _('Link'), - 'icon' : 'text-uri-list', - 'types' : ['text/x-moz-url', 'text/uri-list'] +{ + 'id': GENERIC_TYPE_LINK, + 'name': _('Link'), + 'icon': 'text-uri-list', + 'types': ['text/x-moz-url', 'text/uri-list'], }] + class ObjectType(object): + def __init__(self, type_id, name, icon, mime_types): self.type_id = type_id self.name = name self.icon = icon self.mime_types = mime_types + def get_generic_type(type_id): types = get_all_generic_types() for generic_type in types: if type_id == generic_type.type_id: return generic_type + def get_all_generic_types(): types = [] for generic_type in _generic_types: @@ -89,6 +99,7 @@ def get_all_generic_types(): types.append(object_type) return types + def get_for_file(file_name): if file_name.startswith('file://'): file_name = file_name[7:] @@ -104,9 +115,11 @@ def get_for_file(file_name): return mime_type + def get_from_file_name(file_name): return _sugarbaseext.get_mime_type_from_file_name(file_name) + def get_mime_icon(mime_type): generic_type = _get_generic_type_for_mime(mime_type) if generic_type: @@ -114,6 +127,7 @@ def get_mime_icon(mime_type): return mime_type.replace('/', '-') + def get_mime_description(mime_type): generic_type = _get_generic_type_for_mime(mime_type) if generic_type: @@ -122,9 +136,11 @@ def get_mime_description(mime_type): import gio return gio.content_type_get_description(mime_type) + def get_mime_parents(mime_type): return _sugarbaseext.list_mime_parents(mime_type) + def get_primary_extension(mime_type): global _extensions global _globs_timestamps @@ -174,10 +190,12 @@ def get_primary_extension(mime_type): else: return None -_black_list = [ - # Target used only between gtk.TextBuffer instances - 'application/x-gtk-text-buffer-rich-text', - ] + +_MIME_TYPE_BLACK_LIST = [ + # Target used only between gtk.TextBuffer instances + 'application/x-gtk-text-buffer-rich-text', +] + def choose_most_significant(mime_types): logging.debug('Choosing between %r.', mime_types) @@ -191,9 +209,9 @@ def choose_most_significant(mime_types): for mime_type in mime_types: if mime_type.startswith(mime_category) and \ - mime_type not in _black_list: + mime_type not in _MIME_TYPE_BLACK_LIST: # skip mozilla private types (second component starts with '_' - # or ends with '-priv') + # or ends with '-priv') if mime_type.split('/')[1].startswith('_') or \ mime_type.split('/')[1].endswith('-priv'): continue @@ -218,9 +236,11 @@ def choose_most_significant(mime_types): logging.debug('Returning first: %r.', mime_types[0]) return mime_types[0] + def split_uri_list(uri_list): return _sugarbaseext.uri_list_extract_uris(uri_list) + def _file_looks_like_text(file_name): f = open(file_name, 'r') try: @@ -240,6 +260,7 @@ def _file_looks_like_text(file_name): return False + def _get_generic_type_for_mime(mime_type): for generic_type in _generic_types: if mime_type in generic_type['types']: |