From 8531c141d7f575b571afc054a758768d66a168f4 Mon Sep 17 00:00:00 2001 From: Justine Pelletreau Date: Fri, 18 Nov 2022 17:24:56 +0100 Subject: [PATCH] =?UTF-8?q?Taches=20personnelles=20OK=20-=20partie=20Done?= =?UTF-8?q?=20=C3=A0=20g=C3=A9rer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app.py | 38 ++++++++++++++++++++++++++----------- src/classes.py | 10 +++++++--- src/funcs.py | 18 +++++++++++++++++- src/templates/edit.html | 2 ++ src/templates/homepage.html | 14 ++++++++++++-- 5 files changed, 65 insertions(+), 17 deletions(-) diff --git a/src/app.py b/src/app.py index 60ff601..4f4888a 100755 --- a/src/app.py +++ b/src/app.py @@ -15,6 +15,7 @@ from random import choice app = Flask(__name__) mktaskdir() + #Homepage, GET : getting the page. Maybe getting it with arguments generated by a button on the page, in which case we take it into account @app.route('/', methods=['GET']) def render(): @@ -31,13 +32,13 @@ def render(): #...or using their preferred theme if do have one else: csslink = request.cookies.get('csslink') - resp = make_response(render_template("homepage.html", ntodo = todotasks(gettasks()), ndone = donetasks(gettasks()), csslink = csslink)) + resp = make_response(render_template("homepage.html", ntodo = todotasks(gettasks()), npers = personnaltasks(gettasks()), ndone = donetasks(gettasks()), csslink = csslink)) #Delete has been clicked if request.args.get("delete") is not None: todelete = request.args.get("delete") deltask(int(todelete)) - resp = make_response(render_template("homepage.html", ntodo = todotasks(gettasks()), ndone = donetasks(gettasks()), csslink = csslink)) + resp = make_response(render_template("homepage.html", ntodo = todotasks(gettasks()), npers = personnaltasks(gettasks()), ndone = donetasks(gettasks()), csslink = csslink)) #Edit has been clicked elif request.args.get("edit") is not None: @@ -70,9 +71,9 @@ def render(): mytask = switchstatus(mytask) deltask(toswitch) addtask(mytask) - resp = make_response(render_template("homepage.html", ntodo = todotasks(gettasks()), ndone = donetasks(gettasks()), csslink = csslink)) + resp = make_response(render_template("homepage.html", ntodo = todotasks(gettasks()), npers = personnaltasks(gettasks()), ndone = donetasks(gettasks()), csslink = csslink)) else: - resp = make_response(render_template("homepage.html", ntodo = todotasks(gettasks()), ndone = donetasks(gettasks()), csslink = csslink)) + resp = make_response(render_template("homepage.html", ntodo = todotasks(gettasks()), npers = personnaltasks(gettasks()), ndone = donetasks(gettasks()), csslink = csslink)) return resp @@ -88,17 +89,22 @@ def homepage(): try: tasktitle = request.form['title'] tasktext = request.form['text'] - print("PING") priority = request.form['priority'] + if "personnal" in request.form.keys(): + personnal = True + else: + personnal = False + print(f"Got new task with prio {priority}") rightnow = int(time.time()) - newtask = task(createtime=rightnow, modtime=rightnow, title=tasktitle, text=tasktext, done=False, priority=int(priority)) + newtask = task(createtime=rightnow, modtime=rightnow, title=tasktitle, text=tasktext, done=False, priority=int(priority), personnal=False) addtask(newtask) - except: + except Exception as E: + print(f"!!!!!!!!!! {E} - {request.form}") pass - return render_template("homepage.html", ntodo = todotasks(gettasks()), ndone = donetasks(gettasks()), csslink = csslink) + return render_template("homepage.html", ntodo = todotasks(gettasks()), npers = personnaltasks(gettasks()), ndone = donetasks(gettasks()), csslink = csslink) #Export mode @@ -126,7 +132,13 @@ def edit(): todoselected = "selected" doneselected = "" - return render_template("edit.html", tasknumber=tasknumber, ntitle=mytask.title, ntext=mytask.text, csslink = csslink, priority=mytask.priority, taskdonemark=mytask.donemark, todoselected=todoselected, doneselected=doneselected) + #Is it personnal ? + if mytask.personnal: + pers_checked = "checked" + else: + pers_checked = "" + + return render_template("edit.html", tasknumber=tasknumber, ntitle=mytask.title, ntext=mytask.text, csslink = csslink, priority=mytask.priority, taskdonemark=mytask.donemark, todoselected=todoselected, doneselected=doneselected, pers_checked=pers_checked) #Handling post if request.method == "POST": @@ -141,11 +153,15 @@ def edit(): taskdone = True else: taskdone = False + if "personnal" in request.form.keys(): + personnal = True + else: + personnal = False deltask(tasknumber) rightnow = int(time.time()) - newtask = task(createtime=tasknumber, modtime=rightnow, title=tasktitle, text=tasktext, done=taskdone, priority=taskpriority) + newtask = task(createtime=tasknumber, modtime=rightnow, title=tasktitle, text=tasktext, done=taskdone, priority=taskpriority, personnal = personnal) addtask(newtask) - return render_template("homepage.html", ntodo = todotasks(gettasks()), ndone = donetasks(gettasks()), csslink = csslink) + return render_template("homepage.html", ntodo = todotasks(gettasks()), npers = personnaltasks(gettasks()), ndone = donetasks(gettasks()), csslink = csslink) diff --git a/src/classes.py b/src/classes.py index f215d55..9ae455a 100644 --- a/src/classes.py +++ b/src/classes.py @@ -7,7 +7,7 @@ #CLASS class task: - def __init__(self, createtime: int, modtime: int, title: str, text: str, done: bool, priority: int): + def __init__(self, createtime: int, modtime: int, title: str, text: str, done: bool, priority: int, personnal: bool = False): """ createtime, modtime : epoch time of task writing / modfying title and text are str @@ -17,11 +17,15 @@ class task: self.title = title self.text = text self.priority = priority + self.personnal = personnal if done: self.donemark = "✅" - else: - self.donemark = "⚠️" + else: + if personnal: + self.donemark = "🔒" + else: + self.donemark = "⚠️" def rendertime(self, pretimestamp: int): """ diff --git a/src/funcs.py b/src/funcs.py index eb28246..bbc2cf2 100644 --- a/src/funcs.py +++ b/src/funcs.py @@ -146,6 +146,22 @@ def todotasks(tasklist): return finalstr +def personnaltasks(tasklist): + """ + Sorts tasks in tasklist: Gives todotasks sorted by priority + """ + buffer = [] + finalstr = "" + for task in tasklist: + if task.donemark == "🔒": + buffer.append(task) + + tasks = sorted(buffer, key=lambda task: task.priority, reverse=True) + for task in tasks: + finalstr += task.flaskrender() + + return finalstr + def donetasks(tasklist): """ Sorts tasks in tasklist: Gives done tasks sorted by modtime @@ -165,7 +181,7 @@ def donetasks(tasklist): def convertemoji(): tasks = gettasks() for task in tasks: - if task.donemark not in ["⚠️", "✅"]: + if task.donemark not in ["⚠️", "✅", "🔒"]: task.donemark = "⚠️" dumptasks(tasks) diff --git a/src/templates/edit.html b/src/templates/edit.html index e168842..8265a91 100644 --- a/src/templates/edit.html +++ b/src/templates/edit.html @@ -20,6 +20,8 @@ + +
Note : you can drag the textbox to make it bigger.
diff --git a/src/templates/homepage.html b/src/templates/homepage.html index 1568119..8e871a0 100644 --- a/src/templates/homepage.html +++ b/src/templates/homepage.html @@ -15,13 +15,23 @@

-
+ +
Note : you can drag the textbox to make it bigger. Scroll down to see your previous tasks.


-

Todo

+

Private

+
+
+ Click to expand. +

+ {{ npers }} +

+
+
+

Work


{{ ntodo }}