lang-model/naive-nlu/tree_nlu/session/org_mode.py

46 lines
1.1 KiB
Python

import logging
import datetime
SESSION = None
def __gen_session_name__():
now = datetime.datetime.utcnow()
return "treeNLU-session-{}.org".format(
now.strftime("%y_%m_%d %H:%M:%S_%f"))
def create_global_session(fname):
global SESSION
SESSION = OrgModeSession(fname)
def global_session():
if SESSION is None:
session_name = __gen_session_name__()
logging.warn("Session not created, saved on {}".format(session_name))
create_global_session(session_name)
assert(SESSION is not None)
return SESSION
class OrgModeSession:
def __init__(self, fname):
self.f = open(fname, 'wt')
self.last_level = 0
def annotate(self, annotation):
self.f.write("{indentation} {data}\n".format(
indentation=' ' * (self.last_level + 2 + 1),
data=annotation))
def log_step(self, string, level):
self.f.write("{indentation} {data}\n".format(
indentation='*' * (level + 1),
data=string))
self.last_level = level
def close(self):
self.f.close()