Files
Gainsight/Scripts/Todo_reorg/todo.py

83 lines
2.4 KiB
Python
Raw Normal View History

2022-10-26 16:09:10 -04:00
import sys
2023-01-24 15:30:29 -05:00
import os
2022-10-26 16:09:10 -04:00
import fileinput
2022-10-25 16:56:21 -04:00
from datetime import date
2023-01-24 15:30:29 -05:00
# rootdir = "/Users/normrasmussen/Documents/Northpass/CustomerNotes/"
2022-10-25 16:56:21 -04:00
# This is for testing
2022-10-26 16:09:10 -04:00
rootdir = "/Users/normrasmussen/Documents/Northpass/CustomerNotes/"
2023-01-24 15:30:29 -05:00
todoDir = "/Users/normrasmussen/Documents/Northpass/"
2022-10-26 16:09:10 -04:00
input = sys.argv[1]
company = input.split("/")[6]
2022-10-26 16:09:10 -04:00
print(company)
2022-10-25 16:56:21 -04:00
2023-01-24 15:30:29 -05:00
2022-10-26 16:09:10 -04:00
def findCompany(rootdir, company):
2022-10-25 16:56:21 -04:00
files = os.listdir(rootdir)
for fileName in files:
if fileName.startswith(".") or fileName.startswith("Todos"):
pass
else:
company = fileName[:-3]
findTodos(rootdir, company)
2023-01-24 15:30:29 -05:00
2022-10-25 16:56:21 -04:00
def findTodos(rootdir, company):
todos = []
2022-10-26 16:09:10 -04:00
with open(rootdir + company, "r") as currentfile:
2022-10-25 16:56:21 -04:00
file = currentfile.readlines()
for fullTasks in file:
if "* [ ] " in fullTasks:
2022-10-26 16:09:10 -04:00
tasks = fullTasks
deleteTasks(rootdir, company, tasks)
2022-10-25 16:56:21 -04:00
todos.append(tasks)
writeTasks(company, todos)
2022-10-25 16:56:21 -04:00
2023-01-24 15:30:29 -05:00
def writeTasks(company, todos):
2022-10-25 16:56:21 -04:00
today = date.today()
currentDate = today.strftime("%m/%d/%Y")
2022-10-26 16:09:10 -04:00
company = company[:-3]
2023-01-24 15:30:29 -05:00
todoDir = "/Users/normrasmussen/Documents/Northpass/"
2022-10-26 16:09:10 -04:00
with open(todoDir + "Todos.md", "a") as taskFile:
2022-10-25 16:56:21 -04:00
for singleTask in todos:
2022-10-26 16:09:10 -04:00
task = singleTask.rsplit("* [ ] ")[1]
2023-01-24 15:30:29 -05:00
taskFile.write(
"* [ ] (" + company + ") " + "[" + currentDate + "] " + task
)
2022-10-25 16:56:21 -04:00
2023-01-24 15:30:29 -05:00
# 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)
2023-01-24 15:30:29 -05:00
# 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.
2022-10-27 17:07:07 -04:00
2023-01-24 15:30:29 -05:00
# def deleteCompleted(todoDir):
2022-10-27 17:07:07 -04:00
# todoList = todoDir + "Todos.md"
# with open(todoList, "r+") as file:
# for line in file:
# if line.startswith("* [X] "):
# print(line)
2023-01-24 15:30:29 -05:00
2022-10-26 16:09:10 -04:00
def deleteTasks(rootdir, company, tasks):
file = rootdir + company
for line in fileinput.input(file, inplace=True):
2022-10-26 16:09:10 -04:00
if tasks in line:
2023-01-24 15:30:29 -05:00
line = line.replace(tasks, "")
# sys.stdout.write(line)
2022-10-25 16:56:21 -04:00
if __name__ == "__main__":
2022-10-26 16:09:10 -04:00
findTodos(rootdir, company)
# deleteCompleted(todoDir)