Merge pull request #26 from dedan/fix_parsing

Fix parsing of newlines, closes #15
This commit is contained in:
Manuel Ebert 2012-05-15 02:58:03 -07:00
commit 6bf5c6e935

25
jrnl.py
View file

@ -173,18 +173,19 @@ class Journal:
current_entry = None current_entry = None
for line in journal.split(os.linesep): for line in journal.split(os.linesep):
if line: try:
try: # try to parse line as date => new entry begins
new_date = datetime.fromtimestamp(time.mktime(time.strptime(line[:date_length], self.config['timeformat']))) new_date = datetime.strptime(line[:date_length], self.config['timeformat'])
# make a journal entry of the current stuff first
if new_date and current_entry: # parsing successfull => save old entry and create new one
entries.append(current_entry) if new_date and current_entry:
# Start constructing current entry entries.append(current_entry)
current_entry = Entry(self, date=new_date, title=line[date_length+1:]) current_entry = Entry(self, date=new_date, title=line[date_length+1:])
except ValueError: except ValueError:
# Happens when we can't parse the start of the line as an date. # Happens when we can't parse the start of the line as an date.
# In this case, just append line to our body. # In this case, just append line to our body.
current_entry.body += line current_entry.body += line + os.linesep
# Append last entry # Append last entry
if current_entry: if current_entry:
entries.append(current_entry) entries.append(current_entry)