Add session context, increase logging.

This commit is contained in:
kenkeiras 2017-10-01 17:10:50 +02:00
parent 359f858c39
commit bb7d438e0d
7 changed files with 103 additions and 77 deletions

View file

@ -25,21 +25,40 @@ def global_session():
return SESSION
class LevelContext:
def __init__(self, increaser, decreaser):
self.increaser = increaser
self.decreaser = decreaser
def __enter__(self):
self.increaser()
def __exit__(self, _type, _value, _traceback):
self.decreaser()
class OrgModeSession:
def __init__(self, fname):
self.f = open(fname, 'wt')
self.last_level = 0
self.level = 0
def annotate(self, annotation):
self.f.write("{indentation} {data}\n".format(
indentation=' ' * (self.last_level + 2 + 1),
indentation=' ' * (self.level + 2 + 1),
data=annotation))
def log_step(self, string, level):
def log(self, string):
self.f.write("{indentation} {data}\n".format(
indentation='*' * (level + 1),
indentation='*' * (self.level + 1),
data=string))
self.last_level = level
return LevelContext(self.inc_level, self.dec_level)
def inc_level(self):
self.level += 1
def dec_level(self):
self.level -= 1
def close(self):
self.f.close()