-
Notifications
You must be signed in to change notification settings - Fork 6
/
triplogger.py
53 lines (46 loc) · 1.67 KB
/
triplogger.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import datetime
import os
import shutil
class TripLog():
"""Write a trip log file in .md format.
Create a new folder (named w/ timestamp) in current directory.
Save the completed logfile in the new folder.
Copy contents of the Maps folder into the new folder.
Remove contents of the Maps folder.
"""
def __init__(self):
now = datetime.datetime.now()
date_string = now.strftime("-%y-%m-%d-%H-%M")
self.folder = "triplog" + date_string
self.mapfolder = self.folder + "/Maps"
self.logfilename = self.folder + "/trip_log.md"
self.text = [] # list of text lines
title = f"## Log for Trip started {now.ctime()}."
self.addline(title)
self.addline()
def addline(self, line=''):
"""Add line to self.text"""
self.text.append(line + ' \n')
def addplot(self, nn):
"""Add a link to plot image (sequence nn)"""
# Single digit integers need a leading zero
if nn < 10:
nn = '0' + str(nn)
else:
nn = str(nn)
name = "Map Plot " + nn
path = "Maps/scanMap" + nn + ".png"
line = f"![{name}]({path}) \n"
self.text.append(line)
def write(self):
"""Create containing folder with timestamp name.
Copy Maps folder into subfolder.
Write all lines in self.text to logfilename.
Remove contents of Maps folder.
"""
shutil.copytree("Maps", self.mapfolder)
with open(self.logfilename, 'w') as file:
file.writelines(self.text)
# Delete all files from Maps directory
for file in os.scandir("Maps"):
os.remove(file.path)