Add session context, increase logging.
This commit is contained in:
parent
359f858c39
commit
bb7d438e0d
7 changed files with 103 additions and 77 deletions
|
@ -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()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue