Add session files base concept.
This commit is contained in:
parent
58fb9fb188
commit
359f858c39
9 changed files with 162 additions and 93 deletions
45
naive-nlu/tree_nlu/session/org_mode.py
Normal file
45
naive-nlu/tree_nlu/session/org_mode.py
Normal file
|
@ -0,0 +1,45 @@
|
|||
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()
|
Loading…
Add table
Add a link
Reference in a new issue