# ---------------------------------------------------------------------------- #
## \file mlog.py
## \author Sebastien Beaugrand
## \sa http://beaugrand.chez.com/
## \copyright CeCILL 2.1 Free Software license
## \note Python Imap Gtk Mail
# ---------------------------------------------------------------------------- #
from os import path, rename
# ---------------------------------------------------------------------------- #
## \class MLog
# ---------------------------------------------------------------------------- #
class MLog:
def __init__(self, filename, today, yesterday):
self.filename = filename
self.today = today
self.yesterday = yesterday
self.log = list()
self.cur = None
if path.exists(self.filename):
rename(self.filename, self.filename + '.1')
with open(self.filename + '.1', 'r') as f:
for l in f.read().split('\n'):
s = l.split()
if len(s) == 2:
d, i = s
if d == self.today or d == self.yesterday:
if self.set(i):
self.append(d)
def set(self, i):
if i is None:
return False
elif i in self.log:
return False
else:
self.cur = i
return True
def append(self, d=None):
if self.cur is None:
return
if d is None:
d = self.today
self.log.append(self.cur)
with open(self.filename, 'a') as f:
print('{} {}'.format(d, self.cur), file=f)
self.cur = None