From 953bcebd1437acfa83993b25cca4faf463989db8 Mon Sep 17 00:00:00 2001 From: ReTeam Labs Date: Wed, 25 Mar 2020 20:37:14 +0000 Subject: [PATCH] initial development --- .dockerignore | 6 +++++- Dockerfile | 9 +++++++++ Makefile | 12 ++++++++++++ README.md | 0 reminders.csv | 0 requirements.txt | 1 + src/app.py | 33 +++++++++++++++++++++++++++++++++ src/database.py | 21 +++++++++++++++++++++ tests/tests.py | 0 9 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 Makefile create mode 100644 README.md create mode 100644 reminders.csv create mode 100644 requirements.txt create mode 100644 src/app.py create mode 100644 src/database.py create mode 100644 tests/tests.py diff --git a/.dockerignore b/.dockerignore index 8b137891..df1abf0a 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1 +1,5 @@ - +.git +.gitignore +.gitattributes +Dockerfile +.dockerignore \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 8b137891..31c10b99 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1 +1,10 @@ +FROM python:3.8 +WORKDIR /app + +COPY requirements.txt /app +RUN pip install -r requirements.txt + +COPY . /app + +CMD ["python", "/app/src/app.py"] diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..71759b98 --- /dev/null +++ b/Makefile @@ -0,0 +1,12 @@ +.PHONY: test + +default: test + +build: + docker build -t python-build-cli-planner-app . + +test: build + docker run -t python-build-cli-planner-app pytest /app/tests/tests.py + +start: build + docker run -it python-build-cli-planner-app \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 00000000..e69de29b diff --git a/reminders.csv b/reminders.csv new file mode 100644 index 00000000..e69de29b diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..ca6b421e --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +pytest==5.4.1 \ No newline at end of file diff --git a/src/app.py b/src/app.py new file mode 100644 index 00000000..966b0125 --- /dev/null +++ b/src/app.py @@ -0,0 +1,33 @@ +from database import add_reminder, list_reminders + +def handle_input(input): + if(input == "1"): + list_reminders() + print_menu() + elif(input == "2"): + add_reminder("reminder") + list_reminders() + print_menu() + else: + print("Invalid menu option") + print_menu() + +def print_menu(): + print() + print('|--------------|') + print('| Pluralsight |') + print('| Reminders |') + print('| App |') + print('|--------------|') + print('* * * * * * * * *') + print('Please select an option:') + print() + print('1) List reminders') + print('2) Add a reminder') + choice = input("Choice: ") + handle_input(choice) + +def main(): + print_menu() + +main() \ No newline at end of file diff --git a/src/database.py b/src/database.py new file mode 100644 index 00000000..abce4a8e --- /dev/null +++ b/src/database.py @@ -0,0 +1,21 @@ +import csv + +def list_reminders(): + f = open("reminders.csv", "r") + + with f: + reader = csv.reader(f) + + for row in reader: + print() + for e in row: + print(e.ljust(32), end=' ') + print() + +def add_reminder(reminder): + print() + reminder = input("What would you like to be reminded about?: ") + + with open('reminders.csv', 'a+', newline='\n') as file: + writer = csv.writer(file) + writer.writerow([reminder]) \ No newline at end of file diff --git a/tests/tests.py b/tests/tests.py new file mode 100644 index 00000000..e69de29b