Files
Gainsight/Scripts/Todo_reorg/todo.py

83 lines
2.4 KiB
Python

import sys
import os
import fileinput
from datetime import date
# rootdir = "/Users/normrasmussen/Documents/Northpass/CustomerNotes/"
# This is for testing
rootdir = "/Users/normrasmussen/Documents/Northpass/CustomerNotes/"
todoDir = "/Users/normrasmussen/Documents/Northpass/"
input = sys.argv[1]
company = input.split("/")[6]
print(company)
def findCompany(rootdir, company):
files = os.listdir(rootdir)
for fileName in files:
if fileName.startswith(".") or fileName.startswith("Todos"):
pass
else:
company = fileName[:-3]
findTodos(rootdir, company)
def findTodos(rootdir, company):
todos = []
with open(rootdir + company, "r") as currentfile:
file = currentfile.readlines()
for fullTasks in file:
if "* [ ] " in fullTasks:
tasks = fullTasks
deleteTasks(rootdir, company, tasks)
todos.append(tasks)
writeTasks(company, todos)
def writeTasks(company, todos):
today = date.today()
currentDate = today.strftime("%m/%d/%Y")
company = company[:-3]
todoDir = "/Users/normrasmussen/Documents/Northpass/"
with open(todoDir + "Todos.md", "a") as taskFile:
for singleTask in todos:
task = singleTask.rsplit("* [ ] ")[1]
taskFile.write(
"* [ ] (" + company + ") " + "[" + currentDate + "] " + task
)
# def deleteCompleted(todoDir):
# todoList = todoDir + "Todos.md"
# with open(todoList, "r") as file_input:
# with open(todoList, "w") as output:
# for line in file_input:
# if line.strip("\n") == "* [X] ":
# output.write(line)
# for line in fileinput.input(todoList, inplace=True):
# if line.strip().startswith("* [X] "):
# line = ''
# sys.stdout.write(line)
# TODO: Neither function deletes single lines, it seems to delete all lines. Fix this.
# def deleteCompleted(todoDir):
# todoList = todoDir + "Todos.md"
# with open(todoList, "r+") as file:
# for line in file:
# if line.startswith("* [X] "):
# print(line)
def deleteTasks(rootdir, company, tasks):
file = rootdir + company
for line in fileinput.input(file, inplace=True):
if tasks in line:
line = line.replace(tasks, "")
# sys.stdout.write(line)
if __name__ == "__main__":
findTodos(rootdir, company)
# deleteCompleted(todoDir)