mirror of
https://github.com/ARM-software/workload-automation.git
synced 2025-04-15 07:10:56 +01:00
utils/log: add indentcontext
Add indentcontext context manager to save having to add try/finally clauses around indenting code just to ensure dedenting.
This commit is contained in:
parent
c1a0f842d0
commit
ecc68ee367
@ -945,12 +945,9 @@ class JobGenerator(object):
|
|||||||
|
|
||||||
def add_section(self, section, workloads):
|
def add_section(self, section, workloads):
|
||||||
new_node = self.root_node.add_section(section)
|
new_node = self.root_node.add_section(section)
|
||||||
log.indent()
|
with log.indentcontext():
|
||||||
try:
|
|
||||||
for workload in workloads:
|
for workload in workloads:
|
||||||
new_node.add_workload(workload)
|
new_node.add_workload(workload)
|
||||||
finally:
|
|
||||||
log.dedent()
|
|
||||||
|
|
||||||
def add_workload(self, workload):
|
def add_workload(self, workload):
|
||||||
self.root_node.add_workload(workload)
|
self.root_node.add_workload(workload)
|
||||||
|
@ -38,12 +38,9 @@ class JobSpecSource(object):
|
|||||||
|
|
||||||
def _log_self(self):
|
def _log_self(self):
|
||||||
logger.debug('Creating {} node'.format(self.kind))
|
logger.debug('Creating {} node'.format(self.kind))
|
||||||
log.indent()
|
with log.indentcontext():
|
||||||
try:
|
|
||||||
for key, value in self.config.iteritems():
|
for key, value in self.config.iteritems():
|
||||||
logger.debug('"{}" to "{}"'.format(key, value))
|
logger.debug('"{}" to "{}"'.format(key, value))
|
||||||
finally:
|
|
||||||
log.dedent()
|
|
||||||
|
|
||||||
|
|
||||||
class WorkloadEntry(JobSpecSource):
|
class WorkloadEntry(JobSpecSource):
|
||||||
|
@ -626,8 +626,7 @@ class PluginLoader(object):
|
|||||||
|
|
||||||
def _discover_in_module(self, module): # NOQA pylint: disable=too-many-branches
|
def _discover_in_module(self, module): # NOQA pylint: disable=too-many-branches
|
||||||
self.logger.debug('Checking module %s', module.__name__)
|
self.logger.debug('Checking module %s', module.__name__)
|
||||||
log.indent()
|
with log.indentcontext():
|
||||||
try:
|
|
||||||
for obj in vars(module).itervalues():
|
for obj in vars(module).itervalues():
|
||||||
if inspect.isclass(obj):
|
if inspect.isclass(obj):
|
||||||
if not issubclass(obj, Plugin):
|
if not issubclass(obj, Plugin):
|
||||||
@ -647,9 +646,6 @@ class PluginLoader(object):
|
|||||||
self.logger.warning(e)
|
self.logger.warning(e)
|
||||||
else:
|
else:
|
||||||
raise e
|
raise e
|
||||||
finally:
|
|
||||||
log.dedent()
|
|
||||||
pass
|
|
||||||
|
|
||||||
def _add_found_plugin(self, obj):
|
def _add_found_plugin(self, obj):
|
||||||
"""
|
"""
|
||||||
|
@ -239,12 +239,9 @@ class ResourceResolver(object):
|
|||||||
self.logger.debug('Loading getter {}'.format(gettercls.name))
|
self.logger.debug('Loading getter {}'.format(gettercls.name))
|
||||||
getter = self.loader.get_plugin(name=gettercls.name,
|
getter = self.loader.get_plugin(name=gettercls.name,
|
||||||
kind="resource_getter")
|
kind="resource_getter")
|
||||||
log.indent()
|
with log.indentcontext():
|
||||||
try:
|
|
||||||
getter.initialize()
|
getter.initialize()
|
||||||
getter.register(self)
|
getter.register(self)
|
||||||
finally:
|
|
||||||
log.dedent()
|
|
||||||
self.getters.append(getter)
|
self.getters.append(getter)
|
||||||
|
|
||||||
def register(self, source, priority=SourcePriority.local):
|
def register(self, source, priority=SourcePriority.local):
|
||||||
|
@ -21,6 +21,7 @@ import os
|
|||||||
import string
|
import string
|
||||||
import subprocess
|
import subprocess
|
||||||
import threading
|
import threading
|
||||||
|
from contextlib import contextmanager
|
||||||
|
|
||||||
import colorama
|
import colorama
|
||||||
|
|
||||||
@ -148,6 +149,15 @@ def dedent():
|
|||||||
_indent_level -= 1
|
_indent_level -= 1
|
||||||
|
|
||||||
|
|
||||||
|
@contextmanager
|
||||||
|
def indentcontext():
|
||||||
|
indent()
|
||||||
|
try:
|
||||||
|
yield
|
||||||
|
finally:
|
||||||
|
dedent()
|
||||||
|
|
||||||
|
|
||||||
def set_indent_level(level):
|
def set_indent_level(level):
|
||||||
global _indent_level
|
global _indent_level
|
||||||
old_level = _indent_level
|
old_level = _indent_level
|
||||||
|
Loading…
x
Reference in New Issue
Block a user