From 215e9ff54b3c6edf5d3f2585d9ab6979bf8f9c47 Mon Sep 17 00:00:00 2001 From: Bogi Kiss Date: Mon, 11 Nov 2019 14:15:14 +0100 Subject: [PATCH 001/290] add requirementst.txt --- requirements.txt | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 requirements.txt diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 000000000..a6d2d3aa7 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,6 @@ +Click==7.0 +Flask==1.1.1 +itsdangerous==1.1.0 +Jinja2==2.10.3 +MarkupSafe==1.1.1 +Werkzeug==0.16.0 From ad65cec2930d10762c4d08b60d377ff570fcc215 Mon Sep 17 00:00:00 2001 From: Boglarka Kiss <54187008+kiglarka@users.noreply.github.com> Date: Mon, 11 Nov 2019 14:17:22 +0100 Subject: [PATCH 002/290] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 77a804e7f..34349f816 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ # wswp-ask-mate Web and SQL with Python / 1st TW week / Ask Mate project + +please run >>>>>>>>>>>>>>>>>> pip install -r requirements.txt From 52be8468521f394bfc79528534d6a2a17395b4df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Mon, 11 Nov 2019 14:18:53 +0100 Subject: [PATCH 003/290] initial files --- connection.py | 5 +++++ data_manager.py | 0 server.py | 0 util.py | 0 4 files changed, 5 insertions(+) create mode 100644 connection.py create mode 100644 data_manager.py create mode 100644 server.py create mode 100644 util.py diff --git a/connection.py b/connection.py new file mode 100644 index 000000000..db22be562 --- /dev/null +++ b/connection.py @@ -0,0 +1,5 @@ +import csv + + +def read_file(filename): + with open(filename, 'r') as \ No newline at end of file diff --git a/data_manager.py b/data_manager.py new file mode 100644 index 000000000..e69de29bb diff --git a/server.py b/server.py new file mode 100644 index 000000000..e69de29bb diff --git a/util.py b/util.py new file mode 100644 index 000000000..e69de29bb From 57e68a7b2d8bc88cd491ff9127d29f5576150029 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Mon, 11 Nov 2019 14:38:32 +0100 Subject: [PATCH 004/290] Add basic HTMLs --- template/list.html | 10 ++++++++++ template/question.html | 10 ++++++++++ 2 files changed, 20 insertions(+) create mode 100644 template/list.html create mode 100644 template/question.html diff --git a/template/list.html b/template/list.html new file mode 100644 index 000000000..566549bdf --- /dev/null +++ b/template/list.html @@ -0,0 +1,10 @@ + + + + + Title + + + + + \ No newline at end of file diff --git a/template/question.html b/template/question.html new file mode 100644 index 000000000..566549bdf --- /dev/null +++ b/template/question.html @@ -0,0 +1,10 @@ + + + + + Title + + + + + \ No newline at end of file From a75f0bae69e95bc9ba8603541eef04c6ccd3c539 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Mon, 11 Nov 2019 14:38:58 +0100 Subject: [PATCH 005/290] read filefunction added --- connection.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/connection.py b/connection.py index db22be562..7201a7dc0 100644 --- a/connection.py +++ b/connection.py @@ -2,4 +2,11 @@ def read_file(filename): - with open(filename, 'r') as \ No newline at end of file + all_data = [] + with open(filename, 'r') as csv_file: + csv_reader = csv.DictReader(csv_file) + for line in csv_reader: + all_data.append(dict(line)) + return all_data + + From 674caf034303c1d9385a83e22f1b960a25ed1804 Mon Sep 17 00:00:00 2001 From: Rhyvan Date: Mon, 11 Nov 2019 14:55:37 +0100 Subject: [PATCH 006/290] Add server.py skeleton --- server.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/server.py b/server.py index e69de29bb..a176acefb 100644 --- a/server.py +++ b/server.py @@ -0,0 +1,29 @@ +from flask import Flask, render_template, redirect, request + +app = Flask(__name__) + + +@app.route('/') +def show_questions(): + return render_template("index.html") + + +@app.route('/questions/', methods=('GET', 'POST')) +def manage_questions(question_id): + if request.method == "POST": + pass + pass + + +@app.route('/answer/', methods=('GET', 'POST')) +def manage_answer(answer_id): + if request.method == "POST": + pass + pass + + +if __name__ == '__main__': + app.run( + port=5000, + debug=True, + ) \ No newline at end of file From 778da43b8513634345202d347872d1d92bcd7fc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Mon, 11 Nov 2019 17:09:06 +0100 Subject: [PATCH 007/290] Add get data header function --- connection.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/connection.py b/connection.py index 7201a7dc0..4dc3dd36e 100644 --- a/connection.py +++ b/connection.py @@ -7,6 +7,10 @@ def read_file(filename): csv_reader = csv.DictReader(csv_file) for line in csv_reader: all_data.append(dict(line)) - return all_data + return all_data +def get_data_header(filename): + with open(filename, 'r') as csv_file: + data_header = csv_file.readline() + return data_header.strip('\n').split(',') \ No newline at end of file From cc13ec28663bfcd0c63a6aa798e5765cf50f0991 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Mon, 11 Nov 2019 18:13:02 +0100 Subject: [PATCH 008/290] get_data_header fixed --- connection.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/connection.py b/connection.py index 4dc3dd36e..55709cad9 100644 --- a/connection.py +++ b/connection.py @@ -13,4 +13,6 @@ def read_file(filename): def get_data_header(filename): with open(filename, 'r') as csv_file: data_header = csv_file.readline() - return data_header.strip('\n').split(',') \ No newline at end of file + return data_header.strip('\n').replace('_', ' ').split(',') + + From ca287e8f2debe94642ac077bfe4d2642cac98de6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Mon, 11 Nov 2019 18:31:47 +0100 Subject: [PATCH 009/290] shows main page --- template/list.html | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/template/list.html b/template/list.html index 566549bdf..ae372efff 100644 --- a/template/list.html +++ b/template/list.html @@ -2,9 +2,36 @@ - Title + Welcome to AskMate! - +
+

AskMate

+
+
+ + + {% for header in question_header %} + + + + {% endfor %} + + + {% for question in all_questons %} + + + + + + + + + + {% endfor %} + +
{{ header }}
question['id']question['submission_time']question['view_number']question['vote_number']question['title']
question['message']
question['image']
+
+
\ No newline at end of file From 2aa51f57ddc52cb60f26e3976fb191dcbaf098d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Mon, 11 Nov 2019 19:48:40 +0100 Subject: [PATCH 010/290] Add question.html and related functions Initial commit to question.html basic solution (untested) --- connection.py | 2 -- data_manager.py | 26 ++++++++++++++++++++++++++ server.py | 20 +++++++++++++++++--- template/question.html | 36 ++++++++++++++++++++++++++++++++++-- 4 files changed, 77 insertions(+), 7 deletions(-) diff --git a/connection.py b/connection.py index 55709cad9..6f231665b 100644 --- a/connection.py +++ b/connection.py @@ -14,5 +14,3 @@ def get_data_header(filename): with open(filename, 'r') as csv_file: data_header = csv_file.readline() return data_header.strip('\n').replace('_', ' ').split(',') - - diff --git a/data_manager.py b/data_manager.py index e69de29bb..a38b4315e 100644 --- a/data_manager.py +++ b/data_manager.py @@ -0,0 +1,26 @@ +import connection + +QUESTION_HEADERS = ["id", "submission_time", "view_number", "vote_number", "title", "message", "image"] +ANSWER_HEADERS = ["id", "submission_time", "vote_number", "question_id", "message", "image"] + +def get_single_line_by_id(story_id, filename): + all_stories = connection.read_file(filename) + + for story in all_stories: + if story["id"] == story_id: + return story + + +def get_csv_file(filename): + return connection.read_file(filename) + + +def get_answers_to_question(question_id, answers_file): + all_answers = connection.read_file(answers_file) + answers_to_question = [] + + for answer in all_answers: + if answer["question_id"] == question_id: + answers_to_question.append(answer) + + return answers_to_question diff --git a/server.py b/server.py index a176acefb..461f77dd5 100644 --- a/server.py +++ b/server.py @@ -1,17 +1,31 @@ from flask import Flask, render_template, redirect, request +import connection +import data_manager + app = Flask(__name__) +QUESTIONS_FILE_PATH = "/sample_data/question.csv" +ANSWERS_FILE_PATH = "/sample_data/answer.csv" +QUESTION_HEADERS = connection.get_data_header(QUESTIONS_FILE_PATH) +ANSWERS_HEADERS = connection.get_data_header(ANSWERS_FILE_PATH) @app.route('/') def show_questions(): return render_template("index.html") -@app.route('/questions/', methods=('GET', 'POST')) +@app.route('/questions/', methods=['GET', 'POST']) def manage_questions(question_id): - if request.method == "POST": - pass + actual_question = data_manager.get_single_line_by_id(question_id, QUESTIONS_FILE_PATH) + answers_to_question = data_manager.get_answers_to_question(question_id, ANSWERS_FILE_PATH) + + if request.method == "GET": + return render_template("question.html", + question=actual_question, + answers=answers_to_question, + QUESTION_HEADERS=QUESTION_HEADERS, + ANSWERS_HEADERS=ANSWERS_HEADERS) pass diff --git a/template/question.html b/template/question.html index 566549bdf..cbb1be175 100644 --- a/template/question.html +++ b/template/question.html @@ -2,9 +2,41 @@ - Title + {{ title }} - + + {% for question_header in QUESTION_HEADERS %} + + + + {% endfor %} + + + + + + + + + +
{{ question_header | title }}
{{ question['id'] }}{{ question['submission_time'] }}{{ question['view_number'] }}{{ question['vote_number'] }}{{ question['title'] }}{{ question['message'] }}{{ question['image'] }}
+

+ + + {% for answer_header in ANSWERS_HEADERS %} + + + + {% for answer in answers %} + + + + + + + + +
{{ answer_header | title }}
{{ answer["id"] }}{{ answer["submission_time"] }}{{ answer["vote_number"] }}{{ answer["question_id"] }}{{ answer["message"] }}{{ answer["image"] }}
\ No newline at end of file From 970544cbc7d0ef422b9ce99da596b5ab2e9f8aa5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Mon, 11 Nov 2019 19:53:32 +0100 Subject: [PATCH 011/290] Add host 0.0.0.0. to accept all requests from any IP --- server.py | 1 + 1 file changed, 1 insertion(+) diff --git a/server.py b/server.py index 461f77dd5..556a0145a 100644 --- a/server.py +++ b/server.py @@ -38,6 +38,7 @@ def manage_answer(answer_id): if __name__ == '__main__': app.run( + host='0.0.0.0', port=5000, debug=True, ) \ No newline at end of file From 4157eba3ade68d08cb93f13039e34a53d31af727 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Mon, 11 Nov 2019 19:55:38 +0100 Subject: [PATCH 012/290] Add dynamic page title --- server.py | 1 + template/question.html | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/server.py b/server.py index 556a0145a..a91c896a7 100644 --- a/server.py +++ b/server.py @@ -22,6 +22,7 @@ def manage_questions(question_id): if request.method == "GET": return render_template("question.html", + page_title="Answers to question", question=actual_question, answers=answers_to_question, QUESTION_HEADERS=QUESTION_HEADERS, diff --git a/template/question.html b/template/question.html index cbb1be175..a50b264d7 100644 --- a/template/question.html +++ b/template/question.html @@ -2,7 +2,7 @@ - {{ title }} + {{ page_title }} From bf9e92f1a98b1bdd7f8f60b7ff4b4d88a99ac4ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Mon, 11 Nov 2019 20:15:32 +0100 Subject: [PATCH 013/290] Correct templates dir name and question.html --- server.py | 19 ++++++++-------- {template => templates}/list.html | 0 {template => templates}/question.html | 32 ++++++++++++++------------- 3 files changed, 27 insertions(+), 24 deletions(-) rename {template => templates}/list.html (100%) rename {template => templates}/question.html (57%) diff --git a/server.py b/server.py index a91c896a7..6d2851802 100644 --- a/server.py +++ b/server.py @@ -1,18 +1,19 @@ -from flask import Flask, render_template, redirect, request +from flask import Flask, render_template, redirect, request, url_for import connection import data_manager app = Flask(__name__) -QUESTIONS_FILE_PATH = "/sample_data/question.csv" -ANSWERS_FILE_PATH = "/sample_data/answer.csv" -QUESTION_HEADERS = connection.get_data_header(QUESTIONS_FILE_PATH) -ANSWERS_HEADERS = connection.get_data_header(ANSWERS_FILE_PATH) +QUESTIONS_FILE_PATH = "./sample_data/question.csv" +ANSWERS_FILE_PATH = "./sample_data/answer.csv" +QUESTION_HEADERS = ["id", "submission_time", "view_number", "vote_number", "title", "message", "image"] # connection.get_data_header(QUESTIONS_FILE_PATH) +ANSWERS_HEADERS = ["id", "submission_time", "vote_number", "question_id", "message", "image"] # connection.get_data_header(ANSWERS_FILE_PATH) + @app.route('/') def show_questions(): - return render_template("index.html") + return render_template("list.html") @app.route('/questions/', methods=['GET', 'POST']) @@ -22,11 +23,11 @@ def manage_questions(question_id): if request.method == "GET": return render_template("question.html", - page_title="Answers to question", + page_title=f"Answers to question ID {question_id}", question=actual_question, answers=answers_to_question, - QUESTION_HEADERS=QUESTION_HEADERS, - ANSWERS_HEADERS=ANSWERS_HEADERS) + question_headers=QUESTION_HEADERS, + answer_headers=ANSWERS_HEADERS) pass diff --git a/template/list.html b/templates/list.html similarity index 100% rename from template/list.html rename to templates/list.html diff --git a/template/question.html b/templates/question.html similarity index 57% rename from template/question.html rename to templates/question.html index a50b264d7..84f8cc87d 100644 --- a/template/question.html +++ b/templates/question.html @@ -6,11 +6,11 @@
- {% for question_header in QUESTION_HEADERS %} - - - + + {% for question_header in question_headers %} + {% endfor %} + @@ -24,19 +24,21 @@

{{ question_header | title }}
{{ question_header | title }}
{{ question['id'] }} {{ question['submission_time'] }}
- {% for answer_header in ANSWERS_HEADERS %} - + + {% for answer_header in answer_headers %} - + {% endfor %} + {% for answer in answers %} - - - - - - - - + + + + + + + + + {% endfor %}
{{ answer_header | title }}
{{ answer["id"] }}{{ answer["submission_time"] }}{{ answer["vote_number"] }}{{ answer["question_id"] }}{{ answer["message"] }}{{ answer["image"] }}
{{ answer["id"] }}{{ answer["submission_time"] }}{{ answer["vote_number"] }}{{ answer["question_id"] }}{{ answer["message"] }}{{ answer["image"] }}
\ No newline at end of file From bedd21825b20bbbef6acbd7699786dc4bb80c69c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Mon, 11 Nov 2019 20:16:39 +0100 Subject: [PATCH 014/290] Make headers list universal --- server.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server.py b/server.py index 6d2851802..19dc1a3c4 100644 --- a/server.py +++ b/server.py @@ -7,8 +7,8 @@ QUESTIONS_FILE_PATH = "./sample_data/question.csv" ANSWERS_FILE_PATH = "./sample_data/answer.csv" -QUESTION_HEADERS = ["id", "submission_time", "view_number", "vote_number", "title", "message", "image"] # connection.get_data_header(QUESTIONS_FILE_PATH) -ANSWERS_HEADERS = ["id", "submission_time", "vote_number", "question_id", "message", "image"] # connection.get_data_header(ANSWERS_FILE_PATH) +QUESTION_HEADERS = connection.get_data_header(QUESTIONS_FILE_PATH) +ANSWERS_HEADERS = connection.get_data_header(ANSWERS_FILE_PATH) @app.route('/') From 6accf440def3156593a442efe1ef3eb9b0881fec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Mon, 11 Nov 2019 20:24:40 +0100 Subject: [PATCH 015/290] table fixed --- template/list.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/template/list.html b/template/list.html index ae372efff..d823d1687 100644 --- a/template/list.html +++ b/template/list.html @@ -11,14 +11,14 @@

AskMate

- {% for header in question_header %} + {% for header in question_header %} - {% endfor %} + - {% for question in all_questons %} + {% for question in all_questions %} From ce1bf42a386208cf51506355efa23d4c7431c870 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Mon, 11 Nov 2019 20:36:37 +0100 Subject: [PATCH 016/290] now shows the questions as intended --- templates/list.html | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/templates/list.html b/templates/list.html index d823d1687..0ca121608 100644 --- a/templates/list.html +++ b/templates/list.html @@ -20,13 +20,13 @@

AskMate

{% for question in all_questions %} - - - - - - - + + + + + + + {% endfor %} From b06c80266705e8b3086d99ae2c150607ec4dba7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Mon, 11 Nov 2019 21:41:27 +0100 Subject: [PATCH 017/290] Add datetime conversion upon readout from file --- data_manager.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/data_manager.py b/data_manager.py index a38b4315e..aacd9b32c 100644 --- a/data_manager.py +++ b/data_manager.py @@ -1,4 +1,6 @@ import connection +from datetime import datetime + QUESTION_HEADERS = ["id", "submission_time", "view_number", "vote_number", "title", "message", "image"] ANSWER_HEADERS = ["id", "submission_time", "vote_number", "question_id", "message", "image"] @@ -8,6 +10,7 @@ def get_single_line_by_id(story_id, filename): for story in all_stories: if story["id"] == story_id: + story["submission_time"] = datetime.fromtimestamp(int(story["submission_time"])) return story @@ -21,6 +24,7 @@ def get_answers_to_question(question_id, answers_file): for answer in all_answers: if answer["question_id"] == question_id: + answer["submission_time"] = datetime.fromtimestamp(int(answer["submission_time"])) answers_to_question.append(answer) return answers_to_question From 5b04d844ca8930332285642a12ebd1c7be73ebf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Mon, 11 Nov 2019 21:56:48 +0100 Subject: [PATCH 018/290] add post new question --- server.py | 6 +++++- templates/add_question_or_answer.html | 23 +++++++++++++++++++++++ templates/list.html | 3 +++ 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 templates/add_question_or_answer.html diff --git a/server.py b/server.py index 19dc1a3c4..5eea9145a 100644 --- a/server.py +++ b/server.py @@ -13,7 +13,11 @@ @app.route('/') def show_questions(): - return render_template("list.html") + + +@app.route('/add-questions', methods=['GET', 'POST']) +def add_new_question(): + return render_template('add_question_or_answer.html') @app.route('/questions/', methods=['GET', 'POST']) diff --git a/templates/add_question_or_answer.html b/templates/add_question_or_answer.html new file mode 100644 index 000000000..7f658b82d --- /dev/null +++ b/templates/add_question_or_answer.html @@ -0,0 +1,23 @@ + + + + + Add new question + + +
+

Add your question

+
+
+
+ +

+ +


+ +

+ + +
+ + \ No newline at end of file diff --git a/templates/list.html b/templates/list.html index 0ca121608..ecec02d79 100644 --- a/templates/list.html +++ b/templates/list.html @@ -7,6 +7,9 @@

AskMate

+
{{ header }}
question['id'] question['submission_time']
question['id']question['submission_time']question['view_number']question['vote_number']question['title']
question['message']
question['image']{{ question['id'] }}{{ question['submission_time'] }}{{ question['view_number'] }}{{ question['vote_number'] }}{{ question['title'] }}
{{ question['message'] }}
{{ question['image'] }}
From 8668f736b5330ebb24113126cef4a959fdd0c710 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Mon, 11 Nov 2019 22:48:31 +0100 Subject: [PATCH 019/290] Reinstates '/' page --- server.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server.py b/server.py index 5eea9145a..25ddc4391 100644 --- a/server.py +++ b/server.py @@ -13,7 +13,7 @@ @app.route('/') def show_questions(): - + return render_template("list.html") @app.route('/add-questions', methods=['GET', 'POST']) def add_new_question(): From ff02c30dc15e78d068c056cffda30342b0cfabe6 Mon Sep 17 00:00:00 2001 From: Rhyvan Date: Tue, 12 Nov 2019 09:18:20 +0100 Subject: [PATCH 020/290] add main page (/list route) to server.py --- server.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/server.py b/server.py index 25ddc4391..2bbf0ceb9 100644 --- a/server.py +++ b/server.py @@ -1,6 +1,8 @@ from flask import Flask, render_template, redirect, request, url_for import connection import data_manager +import data_manager +import connection app = Flask(__name__) @@ -13,7 +15,9 @@ @app.route('/') def show_questions(): - return render_template("list.html") + data = data_manager.get_csv_file("sample_data/question.csv") + header = connection.get_data_header("sample_data/question.csv") + return render_template("list.html", all_questions=data, question_header=header) @app.route('/add-questions', methods=['GET', 'POST']) def add_new_question(): From c75d14097d7539bfe3e078b91e7a093e72e54b8b Mon Sep 17 00:00:00 2001 From: Rhyvan Date: Tue, 12 Nov 2019 09:23:59 +0100 Subject: [PATCH 021/290] hardcoded filepath changed to constant --- server.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server.py b/server.py index 2bbf0ceb9..46bef7377 100644 --- a/server.py +++ b/server.py @@ -15,8 +15,8 @@ @app.route('/') def show_questions(): - data = data_manager.get_csv_file("sample_data/question.csv") - header = connection.get_data_header("sample_data/question.csv") + data = data_manager.get_csv_file(QUESTIONS_FILE_PATH) + header = connection.get_data_header(QUESTIONS_FILE_PATH) return render_template("list.html", all_questions=data, question_header=header) @app.route('/add-questions', methods=['GET', 'POST']) From 57ba59cfaff5f867b488cd83d5225556259c71f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 12 Nov 2019 09:31:53 +0100 Subject: [PATCH 022/290] Add separate message if there are no answers to the question --- server.py | 3 +++ templates/question.html | 40 +++++++++++++++++++++++----------------- 2 files changed, 26 insertions(+), 17 deletions(-) diff --git a/server.py b/server.py index 46bef7377..fe02d398f 100644 --- a/server.py +++ b/server.py @@ -29,6 +29,9 @@ def manage_questions(question_id): actual_question = data_manager.get_single_line_by_id(question_id, QUESTIONS_FILE_PATH) answers_to_question = data_manager.get_answers_to_question(question_id, ANSWERS_FILE_PATH) + if len(answers_to_question) == 0: + answers_to_question = None + if request.method == "GET": return render_template("question.html", page_title=f"Answers to question ID {question_id}", diff --git a/templates/question.html b/templates/question.html index 84f8cc87d..67340f55c 100644 --- a/templates/question.html +++ b/templates/question.html @@ -23,22 +23,28 @@

- - - {% for answer_header in answer_headers %} - - {% endfor %} - - {% for answer in answers %} - - - - - - - - - {% endfor %} -
{{ answer_header | title }}
{{ answer["id"] }}{{ answer["submission_time"] }}{{ answer["vote_number"] }}{{ answer["question_id"] }}{{ answer["message"] }}{{ answer["image"] }}
+ {% if answer is defined %} + + + {% for answer_header in answer_headers %} + + {% endfor %} + + + {% for answer in answers %} + + + + + + + + + {% endfor %} +
{{ answer_header | title }}
{{ answer["id"] }}{{ answer["submission_time"] }}{{ answer["vote_number"] }}{{ answer["question_id"] }}{{ answer["message"] }}{{ answer["image"] }}
+ {% elif answer is undefined %} +

There are no answers yet.

+ {% endif %} + \ No newline at end of file From c909538027c87f3061d22b165e612d3862acd202 Mon Sep 17 00:00:00 2001 From: Rhyvan Date: Tue, 12 Nov 2019 09:45:55 +0100 Subject: [PATCH 023/290] add sorting function to util.py --- util.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/util.py b/util.py index e69de29bb..72480f241 100644 --- a/util.py +++ b/util.py @@ -0,0 +1,13 @@ + + +def sort_array(array, key, reverse): + """sorts a dictionary by given keyname + + ARGS: + array(dictionary) + key(string): key of dictionary, you want to sort by + reverse(boolean): sorting is reversed (True) or not (False) + """ + + array = sorted(array, key=lambda x: x[key], reverse=reverse) + return array From 7413898c6cb52af7823a69b92427df1f5e9b0984 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 12 Nov 2019 09:48:50 +0100 Subject: [PATCH 024/290] Add time reformat for all questions --- data_manager.py | 11 +++++++++++ server.py | 3 --- templates/question.html | 39 +++++++++++++++++---------------------- 3 files changed, 28 insertions(+), 25 deletions(-) diff --git a/data_manager.py b/data_manager.py index aacd9b32c..45f737280 100644 --- a/data_manager.py +++ b/data_manager.py @@ -14,6 +14,17 @@ def get_single_line_by_id(story_id, filename): return story +def get_all_questions(filename): + all_questions = connection.read_file(filename) + modded_questions = [] + + for question in all_questions: + question["submission_time"] = datetime.fromtimestamp(int(question["submission_time"])) + modded_questions.append(question) + + return modded_questions + + def get_csv_file(filename): return connection.read_file(filename) diff --git a/server.py b/server.py index fe02d398f..46bef7377 100644 --- a/server.py +++ b/server.py @@ -29,9 +29,6 @@ def manage_questions(question_id): actual_question = data_manager.get_single_line_by_id(question_id, QUESTIONS_FILE_PATH) answers_to_question = data_manager.get_answers_to_question(question_id, ANSWERS_FILE_PATH) - if len(answers_to_question) == 0: - answers_to_question = None - if request.method == "GET": return render_template("question.html", page_title=f"Answers to question ID {question_id}", diff --git a/templates/question.html b/templates/question.html index 67340f55c..518056182 100644 --- a/templates/question.html +++ b/templates/question.html @@ -23,28 +23,23 @@

- {% if answer is defined %} - - - {% for answer_header in answer_headers %} - - {% endfor %} - - - {% for answer in answers %} - - - - - - - - - {% endfor %} -
{{ answer_header | title }}
{{ answer["id"] }}{{ answer["submission_time"] }}{{ answer["vote_number"] }}{{ answer["question_id"] }}{{ answer["message"] }}{{ answer["image"] }}
- {% elif answer is undefined %} -

There are no answers yet.

- {% endif %} + + + {% for answer_header in answer_headers %} + + {% endfor %} + + {% for answer in answers %} + + + + + + + + + {% endfor %} +
{{ answer_header | title }}
{{ answer["id"] }}{{ answer["submission_time"] }}{{ answer["vote_number"] }}{{ answer["question_id"] }}{{ answer["message"] }}{{ answer["image"] }}
\ No newline at end of file From 3c1f5ae73596f6655280b4393f6ac87aae8d89a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 12 Nov 2019 09:54:26 +0100 Subject: [PATCH 025/290] Mods index to show readable time format --- server.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server.py b/server.py index 46bef7377..c7de6d949 100644 --- a/server.py +++ b/server.py @@ -15,7 +15,7 @@ @app.route('/') def show_questions(): - data = data_manager.get_csv_file(QUESTIONS_FILE_PATH) + data = data_manager.get_all_questions(QUESTIONS_FILE_PATH) header = connection.get_data_header(QUESTIONS_FILE_PATH) return render_template("list.html", all_questions=data, question_header=header) From 02cb8a0d61012b02733ccd1c554d6f296c272d40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Tue, 12 Nov 2019 10:03:21 +0100 Subject: [PATCH 026/290] Add new question --- connection.py | 9 +++++++++ sample_data/question.csv | 1 + server.py | 5 +++++ templates/add_question_or_answer.html | 4 ++-- 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/connection.py b/connection.py index 6f231665b..41b95ba0d 100644 --- a/connection.py +++ b/connection.py @@ -14,3 +14,12 @@ def get_data_header(filename): with open(filename, 'r') as csv_file: data_header = csv_file.readline() return data_header.strip('\n').replace('_', ' ').split(',') + + +def add_new_data(filename, new_story): + """Adds new question or answer to the csv file""" + + with open(filename, 'a') as csv_file: + fieldnames = get_data_header(filename) + writer = csv.DictWriter(csv_file, fieldnames=fieldnames) + writer.writerow(new_story) diff --git a/sample_data/question.csv b/sample_data/question.csv index e65825dc3..ed4b9ff5f 100644 --- a/sample_data/question.csv +++ b/sample_data/question.csv @@ -12,3 +12,4 @@ app.js (bundled file with webpack, including jquery)","images/image1.png" 2,1493015432,1364,57,"Drawing canvas with an image picked with Cordova Camera Plugin","I'm getting an image from device and drawing a canvas with filters using Pixi JS. It works all well using computer to get an image. But when I'm on IOS, it throws errors such as cross origin issue, or that I'm trying to use an unknown format. This is the code I'm using to draw the image (that works on web/desktop but not cordova built ios app)", + diff --git a/server.py b/server.py index 46bef7377..02a198103 100644 --- a/server.py +++ b/server.py @@ -19,8 +19,13 @@ def show_questions(): header = connection.get_data_header(QUESTIONS_FILE_PATH) return render_template("list.html", all_questions=data, question_header=header) + @app.route('/add-questions', methods=['GET', 'POST']) def add_new_question(): + if request.method == 'POST': + new_question = dict(request.form) + print(new_question) + connection.add_new_data(QUESTIONS_FILE_PATH, new_question) return render_template('add_question_or_answer.html') diff --git a/templates/add_question_or_answer.html b/templates/add_question_or_answer.html index 7f658b82d..50b70e96d 100644 --- a/templates/add_question_or_answer.html +++ b/templates/add_question_or_answer.html @@ -13,10 +13,10 @@

Add your question



-


+




- +
From 8174391708f7358919d543cdf7aff4c82a16695b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 12 Nov 2019 10:22:27 +0100 Subject: [PATCH 027/290] Add placeholder for edit question button --- server.py | 3 +++ templates/question.html | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/server.py b/server.py index d36e94f99..37fd175d9 100644 --- a/server.py +++ b/server.py @@ -43,6 +43,9 @@ def manage_questions(question_id): answer_headers=ANSWERS_HEADERS) pass +@app.route('/question//edit') +def edit_question(question_id): + pass @app.route('/answer/', methods=('GET', 'POST')) def manage_answer(answer_id): diff --git a/templates/question.html b/templates/question.html index 518056182..c31d80010 100644 --- a/templates/question.html +++ b/templates/question.html @@ -5,6 +5,7 @@ {{ page_title }} +

{{ page_title }}

{% for question_header in question_headers %} @@ -21,6 +22,9 @@
{{ question['image'] }}
+
/edit" }}" method="post"> + +

From df768fec79190b7a6c322479fa46945be3450e85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 12 Nov 2019 10:26:46 +0100 Subject: [PATCH 028/290] Add button to go back to main page from question --- templates/question.html | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/templates/question.html b/templates/question.html index c31d80010..157282562 100644 --- a/templates/question.html +++ b/templates/question.html @@ -6,6 +6,7 @@

{{ page_title }}

+
{% for question_header in question_headers %} @@ -26,7 +27,7 @@

- +
{% for answer_header in answer_headers %} @@ -45,5 +46,8 @@ {% endfor %}
+
+ +
\ No newline at end of file From 929ef0cb7dcf16c43b8a00c772cdae024f482279 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 12 Nov 2019 10:30:12 +0100 Subject: [PATCH 029/290] Move time conversion to util.py --- data_manager.py | 8 ++++---- util.py | 5 ++++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/data_manager.py b/data_manager.py index 45f737280..3faec36c9 100644 --- a/data_manager.py +++ b/data_manager.py @@ -1,5 +1,5 @@ import connection -from datetime import datetime +import util QUESTION_HEADERS = ["id", "submission_time", "view_number", "vote_number", "title", "message", "image"] @@ -10,7 +10,7 @@ def get_single_line_by_id(story_id, filename): for story in all_stories: if story["id"] == story_id: - story["submission_time"] = datetime.fromtimestamp(int(story["submission_time"])) + story["submission_time"] = util.convert_unix_time_to_readable(story["submission_time"]) return story @@ -19,7 +19,7 @@ def get_all_questions(filename): modded_questions = [] for question in all_questions: - question["submission_time"] = datetime.fromtimestamp(int(question["submission_time"])) + question["submission_time"] = util.convert_unix_time_to_readable(question["submission_time"]) modded_questions.append(question) return modded_questions @@ -35,7 +35,7 @@ def get_answers_to_question(question_id, answers_file): for answer in all_answers: if answer["question_id"] == question_id: - answer["submission_time"] = datetime.fromtimestamp(int(answer["submission_time"])) + answer["submission_time"] = util.convert_unix_time_to_readable(answer["submission_time"]) answers_to_question.append(answer) return answers_to_question diff --git a/util.py b/util.py index 72480f241..a2f1c3577 100644 --- a/util.py +++ b/util.py @@ -1,4 +1,4 @@ - +from datetime import datetime def sort_array(array, key, reverse): """sorts a dictionary by given keyname @@ -11,3 +11,6 @@ def sort_array(array, key, reverse): array = sorted(array, key=lambda x: x[key], reverse=reverse) return array + +def convert_unix_time_to_readable(input_time): + return datetime.fromtimestamp(int(input_time)) \ No newline at end of file From 4a89fe8cc4c839b12191c8b85a765181650b9555 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 12 Nov 2019 10:34:53 +0100 Subject: [PATCH 030/290] Add fnction to get UNIX time --- util.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/util.py b/util.py index a2f1c3577..e31342cd3 100644 --- a/util.py +++ b/util.py @@ -1,4 +1,6 @@ from datetime import datetime +import calendar + def sort_array(array, key, reverse): """sorts a dictionary by given keyname @@ -12,5 +14,11 @@ def sort_array(array, key, reverse): array = sorted(array, key=lambda x: x[key], reverse=reverse) return array + def convert_unix_time_to_readable(input_time): - return datetime.fromtimestamp(int(input_time)) \ No newline at end of file + return datetime.fromtimestamp(int(input_time)) + + +def get_unix_time(): + date_time = datetime.utcnow() + return(calendar.timegm(date_time.utctimetuple())) From 7bc8d3c8f6dd9fefd97d1ade3bdd50b1460fd13c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Tue, 12 Nov 2019 10:36:27 +0100 Subject: [PATCH 031/290] Add fill out missing data --- data_manager.py | 8 ++++++++ server.py | 7 +++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/data_manager.py b/data_manager.py index 45f737280..8596a1030 100644 --- a/data_manager.py +++ b/data_manager.py @@ -1,10 +1,12 @@ import connection +import datetime from datetime import datetime QUESTION_HEADERS = ["id", "submission_time", "view_number", "vote_number", "title", "message", "image"] ANSWER_HEADERS = ["id", "submission_time", "vote_number", "question_id", "message", "image"] + def get_single_line_by_id(story_id, filename): all_stories = connection.read_file(filename) @@ -39,3 +41,9 @@ def get_answers_to_question(question_id, answers_file): answers_to_question.append(answer) return answers_to_question + + +def fill_out_missing_data(new_data): + """Fills out the missing data in the new question/answer(id, date, view number, vote number)""" + new_data['submission_time'] = datetime.datetime.now() + return new_data diff --git a/server.py b/server.py index d36e94f99..9837354a1 100644 --- a/server.py +++ b/server.py @@ -1,6 +1,4 @@ from flask import Flask, render_template, redirect, request, url_for -import connection -import data_manager import data_manager import connection @@ -24,8 +22,9 @@ def show_questions(): def add_new_question(): if request.method == 'POST': new_question = dict(request.form) - print(new_question) - connection.add_new_data(QUESTIONS_FILE_PATH, new_question) + final_question = data_manager.fill_out_missing_data(new_question) + print(final_question) + return redirect('/') return render_template('add_question_or_answer.html') From 906e3b57256786a552a4ec837bb71b574011c4c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 12 Nov 2019 11:11:38 +0100 Subject: [PATCH 032/290] Add pedit question --- server.py | 12 ++++++++++-- templates/edit_question.html | 28 ++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 templates/edit_question.html diff --git a/server.py b/server.py index a9c141e2b..793a727be 100644 --- a/server.py +++ b/server.py @@ -42,9 +42,17 @@ def manage_questions(question_id): answer_headers=ANSWERS_HEADERS) pass -@app.route('/question//edit') + +@app.route('/question//edit', methods=['GET', 'POST']) def edit_question(question_id): - pass + question = data_manager.get_single_line_by_id(question_id, QUESTIONS_FILE_PATH) + if request.method == "POST": + pass + + return render_template("edit_question.html", + page_title=f"Edit question ID {question_id}", + question=question) + @app.route('/answer/', methods=('GET', 'POST')) def manage_answer(answer_id): diff --git a/templates/edit_question.html b/templates/edit_question.html new file mode 100644 index 000000000..581ec0993 --- /dev/null +++ b/templates/edit_question.html @@ -0,0 +1,28 @@ + + + + + {{ page_title }} + + +

{{ page_title }}

+
+

+
+ +

+

+
+ +

+

+
+ + +

+

+ +

+
+ + \ No newline at end of file From fac2d3c6d4db51f0e772cac39b757ac1d718cfc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Tue, 12 Nov 2019 11:21:02 +0100 Subject: [PATCH 033/290] Add new question finished --- connection.py | 6 +++--- data_manager.py | 3 ++- sample_data/question.csv | 1 - server.py | 4 ++-- util.py | 8 ++++++++ 5 files changed, 15 insertions(+), 7 deletions(-) diff --git a/connection.py b/connection.py index 41b95ba0d..52361777f 100644 --- a/connection.py +++ b/connection.py @@ -1,5 +1,5 @@ import csv - +import data_manager def read_file(filename): all_data = [] @@ -16,10 +16,10 @@ def get_data_header(filename): return data_header.strip('\n').replace('_', ' ').split(',') -def add_new_data(filename, new_story): +def add_new_data(filename, new_story, list_of_headers): """Adds new question or answer to the csv file""" with open(filename, 'a') as csv_file: - fieldnames = get_data_header(filename) + fieldnames = list_of_headers writer = csv.DictWriter(csv_file, fieldnames=fieldnames) writer.writerow(new_story) diff --git a/data_manager.py b/data_manager.py index a0c244736..14801d61f 100644 --- a/data_manager.py +++ b/data_manager.py @@ -42,9 +42,10 @@ def get_answers_to_question(question_id, answers_file): return answers_to_question -def fill_out_missing_data(new_data): +def fill_out_missing_data(new_data, filename): """Fills out the missing data in the new question/answer(id, date, view number, vote number)""" new_data['submission_time'] = util.get_unix_time() + new_data['id'] = util.generate_id(filename) new_data['view_number'] = 0 new_data['vote_number'] = 0 return new_data diff --git a/sample_data/question.csv b/sample_data/question.csv index ed4b9ff5f..e65825dc3 100644 --- a/sample_data/question.csv +++ b/sample_data/question.csv @@ -12,4 +12,3 @@ app.js (bundled file with webpack, including jquery)","images/image1.png" 2,1493015432,1364,57,"Drawing canvas with an image picked with Cordova Camera Plugin","I'm getting an image from device and drawing a canvas with filters using Pixi JS. It works all well using computer to get an image. But when I'm on IOS, it throws errors such as cross origin issue, or that I'm trying to use an unknown format. This is the code I'm using to draw the image (that works on web/desktop but not cordova built ios app)", - diff --git a/server.py b/server.py index a9c141e2b..56ecf0a3d 100644 --- a/server.py +++ b/server.py @@ -22,8 +22,8 @@ def show_questions(): def add_new_question(): if request.method == 'POST': new_question = dict(request.form) - final_question = data_manager.fill_out_missing_data(new_question) - print(final_question) + final_question = data_manager.fill_out_missing_data(new_question, QUESTIONS_FILE_PATH) + connection.add_new_data(QUESTIONS_FILE_PATH, final_question, data_manager.QUESTION_HEADERS) return redirect('/') return render_template('add_question_or_answer.html') diff --git a/util.py b/util.py index e31342cd3..54c4dbed3 100644 --- a/util.py +++ b/util.py @@ -1,5 +1,6 @@ from datetime import datetime import calendar +import csv def sort_array(array, key, reverse): @@ -22,3 +23,10 @@ def convert_unix_time_to_readable(input_time): def get_unix_time(): date_time = datetime.utcnow() return(calendar.timegm(date_time.utctimetuple())) + + +def generate_id(filename): + with open(filename, 'r') as csv_file: + csv_reader = csv.DictReader(csv_file) + data_id = sum(1 for row in csv_reader) + return data_id From ed902524cbaceb0d24f265ff2d47a7308f1ddb1f Mon Sep 17 00:00:00 2001 From: Bogi Kiss Date: Tue, 12 Nov 2019 11:25:45 +0100 Subject: [PATCH 034/290] add vote function in data_manager --- data_manager.py | 19 +++++++++++++++++-- templates/question.html | 3 +++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/data_manager.py b/data_manager.py index aacd9b32c..3ba6f3217 100644 --- a/data_manager.py +++ b/data_manager.py @@ -1,15 +1,18 @@ import connection from datetime import datetime - QUESTION_HEADERS = ["id", "submission_time", "view_number", "vote_number", "title", "message", "image"] ANSWER_HEADERS = ["id", "submission_time", "vote_number", "question_id", "message", "image"] +question_file = "./sample_data/question.csv" +answer_file = "./sample_data/answer.csv" + + def get_single_line_by_id(story_id, filename): all_stories = connection.read_file(filename) for story in all_stories: - if story["id"] == story_id: + if int(story["id"]) == story_id: story["submission_time"] = datetime.fromtimestamp(int(story["submission_time"])) return story @@ -28,3 +31,15 @@ def get_answers_to_question(question_id, answers_file): answers_to_question.append(answer) return answers_to_question + + +def vote(story_id, filename, vote_method): + story = get_single_line_by_id(story_id,filename) + vote_number = int(story["vote_number"]) + if vote_method == "up": + vote_number += 1 + elif vote_number == "down": + vote_number -= 1 + + pass + diff --git a/templates/question.html b/templates/question.html index 67340f55c..ccb1e49da 100644 --- a/templates/question.html +++ b/templates/question.html @@ -22,6 +22,9 @@

+ Vote Up + Vote Down +

{% if answer is defined %} From df39f4245a36a31743216549c92d74b8d73c5f49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 12 Nov 2019 11:25:54 +0100 Subject: [PATCH 035/290] Add documentation to functions --- data_manager.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/data_manager.py b/data_manager.py index a0c244736..787f885ee 100644 --- a/data_manager.py +++ b/data_manager.py @@ -7,6 +7,7 @@ def get_single_line_by_id(story_id, filename): + """Reads single answer or question from file by the given ID. Returns dictionary.""" all_stories = connection.read_file(filename) for story in all_stories: @@ -16,6 +17,7 @@ def get_single_line_by_id(story_id, filename): def get_all_questions(filename): + """Reads file, formats time format to readable and returns it as a list.""" all_questions = connection.read_file(filename) modded_questions = [] @@ -31,6 +33,7 @@ def get_csv_file(filename): def get_answers_to_question(question_id, answers_file): + """Reads 'answer_file' to find any answers that have the 'question_id'.""" all_answers = connection.read_file(answers_file) answers_to_question = [] From 364e51200ccd84edccef2c07f5a17b7d33ed4545 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 12 Nov 2019 11:54:06 +0100 Subject: [PATCH 036/290] Add edit page for both question and answer --- connection.py | 13 ++++++++++++ server.py | 20 ++++++++++++++++--- ...tion.html => edit-question-or-answer.html} | 4 ++-- 3 files changed, 32 insertions(+), 5 deletions(-) rename templates/{edit_question.html => edit-question-or-answer.html} (87%) diff --git a/connection.py b/connection.py index 41b95ba0d..aa44a73f3 100644 --- a/connection.py +++ b/connection.py @@ -23,3 +23,16 @@ def add_new_data(filename, new_story): fieldnames = get_data_header(filename) writer = csv.DictWriter(csv_file, fieldnames=fieldnames) writer.writerow(new_story) + + +def update_file(filename, upate_story): + + with open(filename, 'w') as csv_file: + fieldnames = get_data_header(filename) + writer = csv.DictWriter(csv_file, fieldnames=fieldnames) + + writer.writeheader() + for row in existing_stories: + if new_story["id"] == row["id"]: + row = new_story + writer.writerow(row) \ No newline at end of file diff --git a/server.py b/server.py index 793a727be..50047147b 100644 --- a/server.py +++ b/server.py @@ -1,6 +1,7 @@ from flask import Flask, render_template, redirect, request, url_for import data_manager import connection +import util app = Flask(__name__) @@ -47,11 +48,24 @@ def manage_questions(question_id): def edit_question(question_id): question = data_manager.get_single_line_by_id(question_id, QUESTIONS_FILE_PATH) if request.method == "POST": - pass - return render_template("edit_question.html", + edited_question = {"id": question["id"], + "submission_time": util.get_unix_time(), + "view_number": quesion["view_number"], + "vote_number": question["vote_number"], + "title": request.form.get("title"), + "message": request.form.get("message"), + "image": request.form.get("image", question["image"]), + } + + data_handler.write_story_to_file(new_story) + return redirect("/") + + return render_template("edit-question-or-answer.html", page_title=f"Edit question ID {question_id}", - question=question) + question=question, + body_edit_title="Edit question:", + button_title="Save change") @app.route('/answer/', methods=('GET', 'POST')) diff --git a/templates/edit_question.html b/templates/edit-question-or-answer.html similarity index 87% rename from templates/edit_question.html rename to templates/edit-question-or-answer.html index 581ec0993..309938ccc 100644 --- a/templates/edit_question.html +++ b/templates/edit-question-or-answer.html @@ -12,7 +12,7 @@

{{ page_title }}

-
+

@@ -21,7 +21,7 @@

{{ page_title }}

- +

From 57e6e5ad3413fa8d8aeb3a980a99da58ce8e5b03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Tue, 12 Nov 2019 11:58:10 +0100 Subject: [PATCH 037/290] Started view number count --- connection.py | 10 ++++++++++ data_manager.py | 2 ++ 2 files changed, 12 insertions(+) diff --git a/connection.py b/connection.py index 52361777f..feb07eb56 100644 --- a/connection.py +++ b/connection.py @@ -23,3 +23,13 @@ def add_new_data(filename, new_story, list_of_headers): fieldnames = list_of_headers writer = csv.DictWriter(csv_file, fieldnames=fieldnames) writer.writerow(new_story) + +# def edit_data(filename, list_of_headers): +# with open(filename, 'w') as csv_file: +# csv_writer = csv.DictWriter(file_to_update, fieldnames=list_of_headers) +# csv_writer.writeheader() +# for line in : +# if updated_story['id'] in story['id']: +# story['acceptance_criteria'] = story['acceptance_criteria'].replace('\n', '
') +# story['user_story'] = story['user_story'].replace('\n', '
') +# csv_writer.writerow(story) \ No newline at end of file diff --git a/data_manager.py b/data_manager.py index 14801d61f..05fcf97ab 100644 --- a/data_manager.py +++ b/data_manager.py @@ -49,3 +49,5 @@ def fill_out_missing_data(new_data, filename): new_data['view_number'] = 0 new_data['vote_number'] = 0 return new_data + + From 9676aa95c05821d1a2e03eabc1d65de9ad501656 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 12 Nov 2019 12:02:05 +0100 Subject: [PATCH 038/290] Add rewrite line by update file --- connection.py | 11 ++++++----- server.py | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/connection.py b/connection.py index aa44a73f3..3d5bfdd74 100644 --- a/connection.py +++ b/connection.py @@ -25,14 +25,15 @@ def add_new_data(filename, new_story): writer.writerow(new_story) -def update_file(filename, upate_story): +def update_file(filename, update_story): + existing_submits = read_file(filename) with open(filename, 'w') as csv_file: fieldnames = get_data_header(filename) writer = csv.DictWriter(csv_file, fieldnames=fieldnames) writer.writeheader() - for row in existing_stories: - if new_story["id"] == row["id"]: - row = new_story - writer.writerow(row) \ No newline at end of file + for submit in existing_submits: + if update_story["id"] == submit["id"]: + submit = update_story + writer.writerow(row) diff --git a/server.py b/server.py index 50047147b..6f6ba4f7b 100644 --- a/server.py +++ b/server.py @@ -58,7 +58,7 @@ def edit_question(question_id): "image": request.form.get("image", question["image"]), } - data_handler.write_story_to_file(new_story) + connection.update_file(QUESTIONS_FILE_PATH, edited_question) return redirect("/") return render_template("edit-question-or-answer.html", From a0439e6e9872a1b04e6fd1ec3ea7a7677569ea05 Mon Sep 17 00:00:00 2001 From: Rhyvan Date: Tue, 12 Nov 2019 11:54:36 +0100 Subject: [PATCH 039/290] add sorting decorator to data_manager.py --- data_manager.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/data_manager.py b/data_manager.py index 787f885ee..570daa460 100644 --- a/data_manager.py +++ b/data_manager.py @@ -16,8 +16,24 @@ def get_single_line_by_id(story_id, filename): return story + +"""decorator function, sorts data by given key and order""" +def sort_dict(func): + def wrapper(*args, reverse=True, key="submission_time"): + data = func(*args) + array = sorted(data, key=lambda x: x[key], reverse=reverse) + return array + return wrapper + + +@sort_dict def get_all_questions(filename): - """Reads file, formats time format to readable and returns it as a list.""" + """ returns a dictionary, has sorting decorator function. + ARGS: + filename (string), + reverse=False (boolean): decorator keyname parameter with default value, + key="submission_time" (string): decorator keyname paramtere with default value, + """ all_questions = connection.read_file(filename) modded_questions = [] From eb80cf183584267b1d405aa0e336cbc70a06538f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 12 Nov 2019 12:29:13 +0100 Subject: [PATCH 040/290] Add appending capability to update_file() Can delete add_new_data() after rewriting other files accordingly. --- connection.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/connection.py b/connection.py index 3d5bfdd74..f7c2390b4 100644 --- a/connection.py +++ b/connection.py @@ -25,15 +25,20 @@ def add_new_data(filename, new_story): writer.writerow(new_story) -def update_file(filename, update_story): +def update_file(filename, new_dataset, adding=True): existing_submits = read_file(filename) + open_option = "a" if adding is True else "w" - with open(filename, 'w') as csv_file: + with open(filename, open_option) as csv_file: fieldnames = get_data_header(filename) writer = csv.DictWriter(csv_file, fieldnames=fieldnames) - writer.writeheader() - for submit in existing_submits: - if update_story["id"] == submit["id"]: - submit = update_story - writer.writerow(row) + if adding is True: + writer.writerow(new_dataset) + + else: + writer.writeheader() + for submit in existing_submits: + if new_dataset["id"] == submit["id"]: + submit = new_dataset + writer.writerow(submit) From 66a53ff47b8d903950feaa43b20497480e1139fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 12 Nov 2019 12:44:17 +0100 Subject: [PATCH 041/290] Add write edited question to file --- server.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server.py b/server.py index 6f6ba4f7b..5185b1098 100644 --- a/server.py +++ b/server.py @@ -58,7 +58,7 @@ def edit_question(question_id): "image": request.form.get("image", question["image"]), } - connection.update_file(QUESTIONS_FILE_PATH, edited_question) + connection.update_file(QUESTIONS_FILE_PATH, edited_question, adding=False) return redirect("/") return render_template("edit-question-or-answer.html", From 1c8b8f621811095c0cce52912e9ed5b84ec1c6e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 12 Nov 2019 12:49:46 +0100 Subject: [PATCH 042/290] Add modded generate_id --- util.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/util.py b/util.py index 54c4dbed3..de66f2332 100644 --- a/util.py +++ b/util.py @@ -1,8 +1,11 @@ from datetime import datetime import calendar import csv +import connection +LIST_START = 0 + def sort_array(array, key, reverse): """sorts a dictionary by given keyname @@ -26,7 +29,14 @@ def get_unix_time(): def generate_id(filename): + """ with open(filename, 'r') as csv_file: csv_reader = csv.DictReader(csv_file) data_id = sum(1 for row in csv_reader) return data_id + """ + actual_stories = connection.read_file(filename) + if len(actual_stories) == 1: + return LIST_START + + return int(actual_stories[-1]["id"]) + 1 From 0d951efec1accbb6d5ea5c115e24ed3d92c577a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Tue, 12 Nov 2019 12:53:10 +0100 Subject: [PATCH 043/290] working add new question --- connection.py | 4 ++-- server.py | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/connection.py b/connection.py index 3d5bfdd74..e95b9a0a4 100644 --- a/connection.py +++ b/connection.py @@ -16,11 +16,11 @@ def get_data_header(filename): return data_header.strip('\n').replace('_', ' ').split(',') -def add_new_data(filename, new_story): +def add_new_data(filename, new_story, list_of_headers): """Adds new question or answer to the csv file""" with open(filename, 'a') as csv_file: - fieldnames = get_data_header(filename) + fieldnames = list_of_headers writer = csv.DictWriter(csv_file, fieldnames=fieldnames) writer.writerow(new_story) diff --git a/server.py b/server.py index 3cfba2ee2..1d1513aea 100644 --- a/server.py +++ b/server.py @@ -24,6 +24,7 @@ def add_new_question(): if request.method == 'POST': new_question = dict(request.form) final_question = data_manager.fill_out_missing_data(new_question, QUESTIONS_FILE_PATH) + print(final_question) connection.add_new_data(QUESTIONS_FILE_PATH, final_question, data_manager.QUESTION_HEADERS) return redirect('/') return render_template('add_question_or_answer.html') From f3266e163dd52603a1185d369ebac5ef8e0dbb7e Mon Sep 17 00:00:00 2001 From: Bogi Kiss Date: Tue, 12 Nov 2019 13:26:57 +0100 Subject: [PATCH 044/290] add moidy vote number in story --- data_manager.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/data_manager.py b/data_manager.py index e17246066..d46a24218 100644 --- a/data_manager.py +++ b/data_manager.py @@ -1,7 +1,7 @@ import connection -from datetime import datetime import util + QUESTION_HEADERS = ["id", "submission_time", "view_number", "vote_number", "title", "message", "image"] ANSWER_HEADERS = ["id", "submission_time", "vote_number", "question_id", "message", "image"] @@ -64,7 +64,7 @@ def get_answers_to_question(question_id, answers_file): return answers_to_question -def vote(story_id, filename, vote_method): +def modify_vote_story(story_id, filename, vote_method): story = get_single_line_by_id(story_id,filename) vote_number = int(story["vote_number"]) if vote_method == "up": @@ -72,8 +72,10 @@ def vote(story_id, filename, vote_method): elif vote_number == "down": vote_number -= 1 - pass + story["vote_number"] = int(vote_number) + story_to_update = story + return story_to_update def fill_out_missing_data(new_data): From 1f680c56b1ca65df9e53d5220990298373e30cb9 Mon Sep 17 00:00:00 2001 From: Rhyvan Date: Tue, 12 Nov 2019 13:40:42 +0100 Subject: [PATCH 045/290] add sorting to list.html and server.py --- server.py | 10 +++++++--- templates/list.html | 12 ++++++++++++ 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/server.py b/server.py index 8e81eabf4..64ed75756 100644 --- a/server.py +++ b/server.py @@ -12,11 +12,15 @@ ANSWERS_HEADERS = connection.get_data_header(ANSWERS_FILE_PATH) -@app.route('/') +@app.route('/') #put a submit form into html def show_questions(): - data = data_manager.get_all_questions(QUESTIONS_FILE_PATH) + label_to_sortby = request.args.getlist('sorting')[0] + if not label_to_sortby: + label_to_sortby = "submission_time" + data = data_manager.get_all_questions(QUESTIONS_FILE_PATH, key=label_to_sortby, reverse=True) header = connection.get_data_header(QUESTIONS_FILE_PATH) - return render_template("list.html", all_questions=data, question_header=header) + labels = ["submission_time", "view_number", "vote_number", "title", "message"] + return render_template("list.html", all_questions=data, question_header=header, file_labels=labels) @app.route('/add-questions', methods=['GET', 'POST']) diff --git a/templates/list.html b/templates/list.html index ecec02d79..0f02107ad 100644 --- a/templates/list.html +++ b/templates/list.html @@ -3,6 +3,9 @@ Welcome to AskMate! +
@@ -11,6 +14,15 @@

AskMate

Ask a question
+
+ + + +
From 5ddf7f91317460800f71a36cdeb247ed475783f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 12 Nov 2019 13:43:31 +0100 Subject: [PATCH 046/290] Add new form.html to cover all q&a add&modify --- server.py | 8 ++++++-- templates/edit-question-or-answer.html | 14 ++++++------- templates/form.html | 28 ++++++++++++++++++++++++++ templates/question.html | 4 +++- 4 files changed, 44 insertions(+), 10 deletions(-) create mode 100644 templates/form.html diff --git a/server.py b/server.py index c1b71e16b..9c368887d 100644 --- a/server.py +++ b/server.py @@ -61,10 +61,14 @@ def edit_question(question_id): connection.update_file(QUESTIONS_FILE_PATH, edited_question, adding=False) return redirect("/") - return render_template("edit-question-or-answer.html", + return render_template("form.html", + url_action=url_for(edit_question(question_id), question_id=question_id), page_title=f"Edit question ID {question_id}", + header_title=f"Edit question ID {question_id}", question=question, - body_edit_title="Edit question:", + title_title="Edit title:", + body_title="Edit question:", + image_title="Edit image:", button_title="Save change") diff --git a/templates/edit-question-or-answer.html b/templates/edit-question-or-answer.html index 309938ccc..6b8e19da2 100644 --- a/templates/edit-question-or-answer.html +++ b/templates/edit-question-or-answer.html @@ -5,18 +5,18 @@ {{ page_title }} -

{{ page_title }}

-
+

{{ header_title }}

+

-
- +
+

-
- +
+

-
+

diff --git a/templates/form.html b/templates/form.html new file mode 100644 index 000000000..c658b321c --- /dev/null +++ b/templates/form.html @@ -0,0 +1,28 @@ + + + + + {{ page_title }} + + +

{{ page_title }}

+ +

+
+ +

+

+
+ +

+

+
+ + +

+

+ +

+ + + \ No newline at end of file diff --git a/templates/question.html b/templates/question.html index 157282562..4c3f9e96c 100644 --- a/templates/question.html +++ b/templates/question.html @@ -6,7 +6,9 @@

{{ page_title }}

- + + + QUESTION_HEADERS = ["id", "submission_time", "view_number", "vote_number", "title", "message", "image"]
{% for question_header in question_headers %} From 55a3daeca2d2929a9a387f11701d83914dcb67b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Tue, 12 Nov 2019 13:50:31 +0100 Subject: [PATCH 047/290] html merged --- server.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/server.py b/server.py index 8e81eabf4..452dc8f3b 100644 --- a/server.py +++ b/server.py @@ -24,10 +24,14 @@ def add_new_question(): if request.method == 'POST': new_question = dict(request.form) final_question = data_manager.fill_out_missing_data(new_question, QUESTIONS_FILE_PATH) - print(final_question) connection.add_new_data(QUESTIONS_FILE_PATH, final_question, data_manager.QUESTION_HEADERS) return redirect('/') - return render_template('add_question_or_answer.html') + return render_template('edit-question-or-answer.html', + page_title=f'Add new question', + question={'tite': "", 'message': "", 'image': ""}, + body_edit_title="Message:", + button_title="Post") + @app.route('/questions/', methods=['GET', 'POST']) @@ -52,7 +56,7 @@ def edit_question(question_id): edited_question = {"id": question["id"], "submission_time": util.get_unix_time(), - "view_number": quesion["view_number"], + "view_number": question["view_number"], "vote_number": question["vote_number"], "title": request.form.get("title"), "message": request.form.get("message"), From ee1f417ea54b7365e3317e5d4f8acca22670bd75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 12 Nov 2019 13:53:24 +0100 Subject: [PATCH 048/290] Add reformatted question page --- templates/question.html | 34 +++++++--------------------------- 1 file changed, 7 insertions(+), 27 deletions(-) diff --git a/templates/question.html b/templates/question.html index bdac76f69..b9e0a4a37 100644 --- a/templates/question.html +++ b/templates/question.html @@ -6,25 +6,13 @@

{{ page_title }}

- - - QUESTION_HEADERS = ["id", "submission_time", "view_number", "vote_number", "title", "message", "image"] -
- - {% for question_header in question_headers %} - - {% endfor %} - - - - - - - - - - -
{{ question_header | title }}
{{ question['id'] }}{{ question['submission_time'] }}{{ question['view_number'] }}{{ question['vote_number'] }}{{ question['title'] }}{{ question['message'] }}{{ question['image'] }}
+
+

{{ question["message"] }}

+

Image: {{ question["image"] }}

+

Submitted at: {{ question["submission_time"] }}

+

Viewed {{ question["view_number"] }} times.

+

Voted {{ question["vote_number"] }} times.

+

/edit" }}" method="post">
@@ -32,14 +20,6 @@ Vote Up Vote Down

- - {% if answer is defined %} - - - {% for answer_header in answer_headers %} - - {% endfor %} -
{{ answer_header | title }}
From 6f63a72be52226c3f0bdf9db10da6c56bf57d43b Mon Sep 17 00:00:00 2001 From: Rhyvan Date: Tue, 12 Nov 2019 13:55:36 +0100 Subject: [PATCH 049/290] fix sorting error by converting nums from str to int --- data_manager.py | 2 ++ server.py | 7 ++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/data_manager.py b/data_manager.py index 7aafb6a9f..71e97a09a 100644 --- a/data_manager.py +++ b/data_manager.py @@ -39,6 +39,8 @@ def get_all_questions(filename): for question in all_questions: question["submission_time"] = util.convert_unix_time_to_readable(question["submission_time"]) + question["view_number"] = int(question["view_number"]) + question["vote_number"] = int(question["vote_number"]) modded_questions.append(question) return modded_questions diff --git a/server.py b/server.py index 8585da2ea..62501297d 100644 --- a/server.py +++ b/server.py @@ -12,10 +12,11 @@ ANSWERS_HEADERS = connection.get_data_header(ANSWERS_FILE_PATH) -@app.route('/') #put a submit form into html +@app.route('/') def show_questions(): - label_to_sortby = request.args.getlist('sorting')[0] - if not label_to_sortby: + try: + label_to_sortby = request.args.getlist('sorting')[0] + except IndexError: label_to_sortby = "submission_time" data = data_manager.get_all_questions(QUESTIONS_FILE_PATH, key=label_to_sortby, reverse=True) header = connection.get_data_header(QUESTIONS_FILE_PATH) From d19f3de2b4809041adf3fb2350518b8e258cadfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 12 Nov 2019 13:57:07 +0100 Subject: [PATCH 050/290] Add reformatted form --- server.py | 2 +- templates/form.html | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/server.py b/server.py index 8585da2ea..0dd9af7fe 100644 --- a/server.py +++ b/server.py @@ -71,7 +71,7 @@ def edit_question(question_id): page_title=f"Edit question ID {question_id}", header_title=f"Edit question ID {question_id}", question=question, - title_title="Edit title:", + title_field_title="Edit title:", body_title="Edit question:", image_title="Edit image:", button_title="Save change") diff --git a/templates/form.html b/templates/form.html index c658b321c..69200240f 100644 --- a/templates/form.html +++ b/templates/form.html @@ -5,19 +5,19 @@ {{ page_title }} -

{{ page_title }}

+

{{ header_title }}

-
- +
+

-
- +
+

-
- +
+

From 7c370a59ef461dcf63a1b998465e89925f5175e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Tue, 12 Nov 2019 14:02:15 +0100 Subject: [PATCH 051/290] fixing form template --- server.py | 4 +++- templates/edit-question-or-answer.html | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/server.py b/server.py index ad124a9d0..6d0226dbd 100644 --- a/server.py +++ b/server.py @@ -32,8 +32,10 @@ def add_new_question(): return redirect('/') return render_template('edit-question-or-answer.html', page_title=f'Add new question', + header_title='Add new question', + title_field_title='Your title:', + message_title='Your message:', question={'tite': "", 'message': "", 'image': ""}, - body_edit_title="Message:", button_title="Post") diff --git a/templates/edit-question-or-answer.html b/templates/edit-question-or-answer.html index 6b8e19da2..53c3dfc0e 100644 --- a/templates/edit-question-or-answer.html +++ b/templates/edit-question-or-answer.html @@ -8,7 +8,7 @@

{{ header_title }}

-
+

From d393371f8a404782d68e7e85ed0b4e37438ec3c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Tue, 12 Nov 2019 14:09:53 +0100 Subject: [PATCH 052/290] working html merge --- server.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/server.py b/server.py index bb9d77120..8874b5694 100644 --- a/server.py +++ b/server.py @@ -31,16 +31,15 @@ def add_new_question(): final_question = data_manager.fill_out_missing_data(new_question, QUESTIONS_FILE_PATH) connection.add_new_data(QUESTIONS_FILE_PATH, final_question, data_manager.QUESTION_HEADERS) return redirect('/') - return render_template('edit-question-or-answer.html', + return render_template('form.html', page_title=f'Add new question', header_title='Add new question', title_field_title='Your title:', - message_title='Your message:', + body_edit_title='Your message:', question={'tite': "", 'message': "", 'image': ""}, button_title="Post") - @app.route('/questions/', methods=['GET', 'POST']) def manage_questions(question_id): actual_question = data_manager.get_single_line_by_id(question_id, QUESTIONS_FILE_PATH) From a01fe51fb2d4659db466c94839c9d8966c2ff191 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 12 Nov 2019 14:16:18 +0100 Subject: [PATCH 053/290] Correct typos --- server.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/server.py b/server.py index 0c039c53c..605d4d4c8 100644 --- a/server.py +++ b/server.py @@ -42,6 +42,7 @@ def manage_questions(question_id): if request.method == "GET": return render_template("question.html", + url_action=url_for("edit_question", question_id=question_id), page_title=f"Answers to question ID {question_id}", question=actual_question, answers=answers_to_question, @@ -57,7 +58,7 @@ def edit_question(question_id): edited_question = {"id": question["id"], "submission_time": util.get_unix_time(), - "view_number": quesion["view_number"], + "view_number": question["view_number"], "vote_number": question["vote_number"], "title": request.form.get("title"), "message": request.form.get("message"), @@ -68,7 +69,7 @@ def edit_question(question_id): return redirect("/") return render_template("form.html", - url_action=url_for(edit_question(question_id), question_id=question_id), + url_action=url_for("edit_question", question_id=question_id), page_title=f"Edit question ID {question_id}", header_title=f"Edit question ID {question_id}", question=question, From a38c13c0854641c6fdb2c8483909de634786c73e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 12 Nov 2019 14:17:27 +0100 Subject: [PATCH 054/290] Add method to POST --- templates/form.html | 2 +- templates/question.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/form.html b/templates/form.html index 69200240f..aa9f451b9 100644 --- a/templates/form.html +++ b/templates/form.html @@ -6,7 +6,7 @@

{{ header_title }}

- +


diff --git a/templates/question.html b/templates/question.html index b9e0a4a37..9c7e5fc6d 100644 --- a/templates/question.html +++ b/templates/question.html @@ -13,7 +13,7 @@

Viewed {{ question["view_number"] }} times.

Voted {{ question["vote_number"] }} times.

- /edit" }}" method="post"> +

From 39179f4b62e040baf39c6cdaefd2126e656db761 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 12 Nov 2019 14:17:56 +0100 Subject: [PATCH 055/290] Readd Update file capability --- connection.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/connection.py b/connection.py index e95b9a0a4..4087a8799 100644 --- a/connection.py +++ b/connection.py @@ -25,15 +25,20 @@ def add_new_data(filename, new_story, list_of_headers): writer.writerow(new_story) -def update_file(filename, update_story): +def update_file(filename, new_dataset, adding=True): existing_submits = read_file(filename) + open_option = "a" if adding is True else "w" - with open(filename, 'w') as csv_file: + with open(filename, open_option) as csv_file: fieldnames = get_data_header(filename) writer = csv.DictWriter(csv_file, fieldnames=fieldnames) - writer.writeheader() - for submit in existing_submits: - if update_story["id"] == submit["id"]: - submit = update_story - writer.writerow(row) + if adding is True: + writer.writerow(new_dataset) + + else: + writer.writeheader() + for submit in existing_submits: + if new_dataset["id"] == submit["id"]: + submit = new_dataset + writer.writerow(submit) From 638b635b5f369a599419c2cada280a6f4eb688dc Mon Sep 17 00:00:00 2001 From: Bogi Kiss Date: Tue, 12 Nov 2019 14:19:11 +0100 Subject: [PATCH 056/290] add app.route to vote questions&answers --- data_manager.py | 15 ++++++++------- server.py | 13 +++++++++++++ 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/data_manager.py b/data_manager.py index 7aafb6a9f..5a6b51c97 100644 --- a/data_manager.py +++ b/data_manager.py @@ -1,7 +1,6 @@ import connection import util - QUESTION_HEADERS = ["id", "submission_time", "view_number", "vote_number", "title", "message", "image"] ANSWER_HEADERS = ["id", "submission_time", "vote_number", "question_id", "message", "image"] @@ -16,13 +15,15 @@ def get_single_line_by_id(story_id, filename): return story - """decorator function, sorts data by given key and order""" + + def sort_dict(func): def wrapper(*args, reverse=True, key="submission_time"): data = func(*args) array = sorted(data, key=lambda x: x[key], reverse=reverse) return array + return wrapper @@ -62,11 +63,13 @@ def get_answers_to_question(question_id, answers_file): def modify_vote_story(story_id, filename, vote_method): - story = get_single_line_by_id(story_id,filename) + story = get_single_line_by_id(story_id, filename) vote_number = int(story["vote_number"]) - if vote_method == "up": + if vote_number == 0 and vote_method != "vote_up": + pass + elif vote_method == "vote_up": vote_number += 1 - elif vote_number == "down": + elif vote_method == "vote_down": vote_number -= 1 story["vote_number"] = int(vote_number) @@ -75,7 +78,6 @@ def modify_vote_story(story_id, filename, vote_method): return story_to_update - def fill_out_missing_data(new_data, filename): """Fills out the missing data in the new question/answer(id, date, view number, vote number)""" new_data['submission_time'] = util.get_unix_time() @@ -84,4 +86,3 @@ def fill_out_missing_data(new_data, filename): new_data['vote_number'] = 0 return new_data - diff --git a/server.py b/server.py index 8e81eabf4..e412b9485 100644 --- a/server.py +++ b/server.py @@ -75,6 +75,19 @@ def manage_answer(answer_id): pass pass +@app.route('/answer//', method='POST') +def vote_answer(answer_id, vote_method): + filename = ANSWERS_FILE_PATH + update_story = data_manager.modify_vote_story(story_id=answer_id, filename, vote_method) + connection.update_file(filename,update_story) + + +@app.route('/question//', method='POST') +def vote_question(question_id,vote_method): + filename = QUESTIONS_FILE_PATH + update_story = data_manager.modify_vote_story(story_id=question_id, filename, vote_method) + connection.update_file(filename, update_story) + if __name__ == '__main__': app.run( From d33d4716e94cae08335af4f5402e1ae2cb9eec1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Tue, 12 Nov 2019 14:57:58 +0100 Subject: [PATCH 057/290] now shows images --- static/images/image1.png | Bin 0 -> 532409 bytes templates/list.html | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 static/images/image1.png diff --git a/static/images/image1.png b/static/images/image1.png new file mode 100644 index 0000000000000000000000000000000000000000..828890a830afc96d9c576dc6f4a52757dbbf785f GIT binary patch literal 532409 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 z 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͇uam>R(k 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 RvOaS8h< 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%0DHT)wP_Er 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%0DEh5P!4)m4^ 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

2IWQ3&VhGMtttEg{k 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

AskMate

l>?!HhIF;* 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 literal 0 HcmV?d00001 diff --git a/templates/list.html b/templates/list.html index 0f02107ad..1cf7b7ee6 100644 --- a/templates/list.html +++ b/templates/list.html @@ -41,7 +41,7 @@

- + {% endfor %} From 17c6782eab6b9e8c2e4808ef19a7383e8bf6fbf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Tue, 12 Nov 2019 16:48:38 +0100 Subject: [PATCH 058/290] question page now shows the image --- data_manager.py | 28 ++++++++++++++-------------- sample_data/question.csv | 28 ++++++++++++++-------------- server.py | 26 +++++++++++++------------- templates/question.html | 4 +++- 4 files changed, 44 insertions(+), 42 deletions(-) diff --git a/data_manager.py b/data_manager.py index 471751b9b..3bff4b430 100644 --- a/data_manager.py +++ b/data_manager.py @@ -64,20 +64,20 @@ def get_answers_to_question(question_id, answers_file): return answers_to_question -def modify_vote_story(story_id, filename, vote_method): - story = get_single_line_by_id(story_id, filename) - vote_number = int(story["vote_number"]) - if vote_number == 0 and vote_method != "vote_up": - pass - elif vote_method == "vote_up": - vote_number += 1 - elif vote_method == "vote_down": - vote_number -= 1 - - story["vote_number"] = int(vote_number) - story_to_update = story - - return story_to_update +# def modify_vote_story(story_id, filename, vote_method): +# story = get_single_line_by_id(story_id, filename) +# vote_number = int(story["vote_number"]) +# if vote_number == 0 and vote_method != "vote_up": +# pass +# elif vote_method == "vote_up": +# vote_number += 1 +# elif vote_method == "vote_down": +# vote_number -= 1 +# +# story["vote_number"] = int(vote_number) +# story_to_update = story +# +# return story_to_update def fill_out_missing_data(new_data, filename): diff --git a/sample_data/question.csv b/sample_data/question.csv index e65825dc3..173ff569f 100644 --- a/sample_data/question.csv +++ b/sample_data/question.csv @@ -1,14 +1,14 @@ -id,submission_time,view_number,vote_number,title,message,image -0,1493368154,29,7,"How to make lists in Python?","I am totally new to this, any hints?", -1,1493068124,15,9,"Wordpress loading multiple jQuery Versions","I developed a plugin that uses the jquery booklet plugin (http://builtbywill.com/booklet/#/) this plugin binds a function to $ so I cann call $('.myBook').booklet(); - -I could easy managing the loading order with wp_enqueue_script so first I load jquery then I load booklet so everything is fine. - -BUT in my theme i also using jquery via webpack so the loading order is now following: - -jquery -booklet -app.js (bundled file with webpack, including jquery)","images/image1.png" -2,1493015432,1364,57,"Drawing canvas with an image picked with Cordova Camera Plugin","I'm getting an image from device and drawing a canvas with filters using Pixi JS. It works all well using computer to get an image. But when I'm on IOS, it throws errors such as cross origin issue, or that I'm trying to use an unknown format. - -This is the code I'm using to draw the image (that works on web/desktop but not cordova built ios app)", +id,submission_time,view_number,vote_number,title,message,image +0,1493368154,29,7,"How to make lists in Python?","I am totally new to this, any hints?", +1,1493068124,15,9,"Wordpress loading multiple jQuery Versions","I developed a plugin that uses the jquery booklet plugin (http://builtbywill.com/booklet/#/) this plugin binds a function to $ so I cann call $('.myBook').booklet(); + +I could easy managing the loading order with wp_enqueue_script so first I load jquery then I load booklet so everything is fine. + +BUT in my theme i also using jquery via webpack so the loading order is now following: + +jquery +booklet +app.js (bundled file with webpack, including jquery)","images/image1.png" +2,1493015432,1364,57,"Drawing canvas with an image picked with Cordova Camera Plugin","I'm getting an image from device and drawing a canvas with filters using Pixi JS. It works all well using computer to get an image. But when I'm on IOS, it throws errors such as cross origin issue, or that I'm trying to use an unknown format. + +This is the code I'm using to draw the image (that works on web/desktop but not cordova built ios app)", diff --git a/server.py b/server.py index fb8710360..053bb73a6 100644 --- a/server.py +++ b/server.py @@ -90,19 +90,19 @@ def manage_answer(answer_id): pass pass -@app.route('/answer//', method='POST') -def vote_answer(answer_id, vote_method): - filename = ANSWERS_FILE_PATH - update_story = data_manager.modify_vote_story(story_id=answer_id, filename, vote_method) - connection.update_file(filename,update_story) - - -@app.route('/question//', method='POST') -def vote_question(question_id,vote_method): - filename = QUESTIONS_FILE_PATH - update_story = data_manager.modify_vote_story(story_id=question_id, filename, vote_method) - connection.update_file(filename, update_story) - +# @app.route('/answer//', method='POST') +# def vote_answer(answer_id, vote_method): +# filename = ANSWERS_FILE_PATH +# update_story = data_manager.modify_vote_story(story_id=answer_id, filename, vote_method) +# connection.update_file(filename,update_story) +# +# +# @app.route('/question//', method='POST') +# def vote_question(question_id,vote_method): +# filename = QUESTIONS_FILE_PATH +# update_story = data_manager.modify_vote_story(story_id=question_id, filename, vote_method) +# connection.update_file(filename, update_story) +# if __name__ == '__main__': app.run( diff --git a/templates/question.html b/templates/question.html index 9c7e5fc6d..7d5ddc2e2 100644 --- a/templates/question.html +++ b/templates/question.html @@ -8,7 +8,9 @@

{{ page_title }}


{{ question["message"] }}

-

Image: {{ question["image"] }}

+ {% if question['image'] %} + No image + {% endif %}

Submitted at: {{ question["submission_time"] }}

Viewed {{ question["view_number"] }} times.

Voted {{ question["vote_number"] }} times.

From 98b3eec1c8389427afdf5bac65091034cb2f40dd Mon Sep 17 00:00:00 2001 From: Bogi Kiss Date: Tue, 12 Nov 2019 17:29:32 +0100 Subject: [PATCH 059/290] add minor changes on vote function --- data_manager.py | 5 ++--- server.py | 39 ++++++++++++++++++++------------------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/data_manager.py b/data_manager.py index 471751b9b..7b67b827e 100644 --- a/data_manager.py +++ b/data_manager.py @@ -64,7 +64,7 @@ def get_answers_to_question(question_id, answers_file): return answers_to_question -def modify_vote_story(story_id, filename, vote_method): +def modify_vote_story(filename, vote_method, story_id): story = get_single_line_by_id(story_id, filename) vote_number = int(story["vote_number"]) if vote_number == 0 and vote_method != "vote_up": @@ -75,9 +75,8 @@ def modify_vote_story(story_id, filename, vote_method): vote_number -= 1 story["vote_number"] = int(vote_number) - story_to_update = story - return story_to_update + return story def fill_out_missing_data(new_data, filename): diff --git a/server.py b/server.py index fb8710360..9ecbaf51a 100644 --- a/server.py +++ b/server.py @@ -3,7 +3,6 @@ import connection import util - app = Flask(__name__) QUESTIONS_FILE_PATH = "./sample_data/question.csv" @@ -60,15 +59,14 @@ def manage_questions(question_id): def edit_question(question_id): question = data_manager.get_single_line_by_id(question_id, QUESTIONS_FILE_PATH) if request.method == "POST": - edited_question = {"id": question["id"], - "submission_time": util.get_unix_time(), - "view_number": question["view_number"], - "vote_number": question["vote_number"], - "title": request.form.get("title"), - "message": request.form.get("message"), - "image": request.form.get("image", question["image"]), - } + "submission_time": util.get_unix_time(), + "view_number": question["view_number"], + "vote_number": question["vote_number"], + "title": request.form.get("title"), + "message": request.form.get("message"), + "image": request.form.get("image", question["image"]), + } connection.update_file(QUESTIONS_FILE_PATH, edited_question, adding=False) return redirect("/") @@ -90,18 +88,21 @@ def manage_answer(answer_id): pass pass -@app.route('/answer//', method='POST') + +@app.route('/answer//', methods=['GET', 'POST']) def vote_answer(answer_id, vote_method): - filename = ANSWERS_FILE_PATH - update_story = data_manager.modify_vote_story(story_id=answer_id, filename, vote_method) - connection.update_file(filename,update_story) + if request.method == 'POST': + filename = ANSWERS_FILE_PATH + update_story = data_manager.modify_vote_story(filename, vote_method, story_id=answer_id) + connection.update_file(filename, update_story) -@app.route('/question//', method='POST') -def vote_question(question_id,vote_method): - filename = QUESTIONS_FILE_PATH - update_story = data_manager.modify_vote_story(story_id=question_id, filename, vote_method) - connection.update_file(filename, update_story) +@app.route('/question//', methods=['GET', 'POST']) +def vote_question(question_id, vote_method): + if request.method == 'POST': + filename = QUESTIONS_FILE_PATH + update_story = data_manager.modify_vote_story(filename, vote_method, story_id=question_id) + connection.update_file(filename, update_story) if __name__ == '__main__': @@ -109,4 +110,4 @@ def vote_question(question_id,vote_method): host='0.0.0.0', port=5000, debug=True, - ) \ No newline at end of file + ) From 494854fd488b22038f9d1dcb756b65cf42d33ebe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Tue, 12 Nov 2019 18:20:36 +0100 Subject: [PATCH 060/290] question page now more user friendly --- server.py | 5 +++++ templates/question.html | 43 ++++++++++++++++++++++++----------------- 2 files changed, 30 insertions(+), 18 deletions(-) diff --git a/server.py b/server.py index 053bb73a6..275a216cd 100644 --- a/server.py +++ b/server.py @@ -40,6 +40,11 @@ def add_new_question(): button_title="Post") +@app.route('/question//new-answer', methods=['GET', 'POST']) +def add_new_answer(question_id): + return redirect('/') + + @app.route('/questions/', methods=['GET', 'POST']) def manage_questions(question_id): actual_question = data_manager.get_single_line_by_id(question_id, QUESTIONS_FILE_PATH) diff --git a/templates/question.html b/templates/question.html index 7d5ddc2e2..51d8945a5 100644 --- a/templates/question.html +++ b/templates/question.html @@ -5,16 +5,14 @@ {{ page_title }} -

{{ page_title }}

-
-

{{ question["message"] }}

+

{{ question['title'] }}

+

{{ question["message"] }}

{% if question['image'] %} No image {% endif %} -

Submitted at: {{ question["submission_time"] }}

+

{{ question["submission_time"] }}

Viewed {{ question["view_number"] }} times.

Voted {{ question["vote_number"] }} times.

-

@@ -22,27 +20,36 @@
Vote Up Vote Down

- +

+ {% if answers %}
{{ question['vote_number'] }} {{ question['title'] }}
{{ question['message'] }}
{{ question['image'] }}No image
- - {% for answer_header in answer_headers %} - - {% endfor %} - - + + + + + + + + + {% for answer in answers %} - - - - + + {% endfor %} +
{{ answer_header | title }}
DateVotesMessageImage
{{ answer["id"] }} {{ answer["submission_time"] }} {{ answer["vote_number"] }}{{ answer["question_id"] }}{{ answer["message"] }}{{ answer["image"] }}{{ answer["message"] }}No image
-
- + {% else %} +

There are no answers to this question yet

+ {% endif %} + /new-answer' }}> +

+ \ No newline at end of file From 37c4811ab791aa190eab8185e6973062fba8f8a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 12 Nov 2019 20:56:44 +0100 Subject: [PATCH 061/290] Add custom action method --- server.py | 3 +++ templates/form.html | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/server.py b/server.py index 275a216cd..657b60a58 100644 --- a/server.py +++ b/server.py @@ -32,6 +32,8 @@ def add_new_question(): connection.add_new_data(QUESTIONS_FILE_PATH, final_question, data_manager.QUESTION_HEADERS) return redirect('/') return render_template('form.html', + url_action="", + action_method="post", page_title=f'Add new question', header_title='Add new question', title_field_title='Your title:', @@ -80,6 +82,7 @@ def edit_question(question_id): return render_template("form.html", url_action=url_for("edit_question", question_id=question_id), + action_method="get", page_title=f"Edit question ID {question_id}", header_title=f"Edit question ID {question_id}", question=question, diff --git a/templates/form.html b/templates/form.html index aa9f451b9..516f576ee 100644 --- a/templates/form.html +++ b/templates/form.html @@ -6,7 +6,7 @@

{{ header_title }}

-
+


From c4608c7f908933eb0bdac2fdf28875fd5f9158f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 12 Nov 2019 20:57:11 +0100 Subject: [PATCH 062/290] Add format style against html injection --- templates/question.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/templates/question.html b/templates/question.html index 51d8945a5..bdcf1fbd7 100644 --- a/templates/question.html +++ b/templates/question.html @@ -6,14 +6,14 @@

{{ question['title'] }}

-

{{ question["message"] }}

+

{{ question["message"] }}

{% if question['image'] %} No image {% endif %}

{{ question["submission_time"] }}

Viewed {{ question["view_number"] }} times.

Voted {{ question["vote_number"] }} times.

- +

@@ -36,7 +36,7 @@

{{ answer["submission_time"] }} {{ answer["vote_number"] }} - {{ answer["message"] }} + {{ answer["message"] }} No image {% endfor %} @@ -52,4 +52,4 @@

Go back - \ No newline at end of file + From 71e18a116e1b4a60051565652155a84ef6c8c408 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Tue, 12 Nov 2019 21:13:03 +0100 Subject: [PATCH 063/290] Add answer feature --- data_manager.py | 12 ++++++++++-- server.py | 17 ++++++++--------- templates/add_question_or_answer.html | 16 +++++++++++++--- templates/question.html | 4 +--- 4 files changed, 32 insertions(+), 17 deletions(-) diff --git a/data_manager.py b/data_manager.py index 3bff4b430..3608fb6a5 100644 --- a/data_manager.py +++ b/data_manager.py @@ -80,11 +80,19 @@ def get_answers_to_question(question_id, answers_file): # return story_to_update -def fill_out_missing_data(new_data, filename): - """Fills out the missing data in the new question/answer(id, date, view number, vote number)""" +def fill_out_missing_question(new_data, filename): + """Fills out the missing question data in the new question/answer(id, date, view number, vote number)""" new_data['submission_time'] = util.get_unix_time() new_data['id'] = util.generate_id(filename) new_data['view_number'] = 0 new_data['vote_number'] = 0 return new_data + +def fill_out_missing_answer(new_data, question_id, filename): + """Fills out the missing answer data in the new question/answer(id, date, view number, vote number)""" + new_data['submission_time'] = util.get_unix_time() + new_data['id'] = util.generate_id(filename) + new_data['vote_number'] = 0 + new_data['question_id'] = question_id + return new_data diff --git a/server.py b/server.py index 275a216cd..10c8ae342 100644 --- a/server.py +++ b/server.py @@ -28,21 +28,20 @@ def show_questions(): def add_new_question(): if request.method == 'POST': new_question = dict(request.form) - final_question = data_manager.fill_out_missing_data(new_question, QUESTIONS_FILE_PATH) + final_question = data_manager.fill_out_missing_question(new_question, QUESTIONS_FILE_PATH) connection.add_new_data(QUESTIONS_FILE_PATH, final_question, data_manager.QUESTION_HEADERS) return redirect('/') - return render_template('form.html', - page_title=f'Add new question', - header_title='Add new question', - title_field_title='Your title:', - body_edit_title='Your message:', - question={'tite': "", 'message': "", 'image': ""}, - button_title="Post") + return render_template('add_question_or_answer.html', question=True) @app.route('/question//new-answer', methods=['GET', 'POST']) def add_new_answer(question_id): - return redirect('/') + if request.method == 'POST': + new_answer = dict(request.form) + final_answer = data_manager.fill_out_missing_answer(new_answer,question_id, ANSWERS_FILE_PATH) + connection.add_new_data(ANSWERS_FILE_PATH, final_answer, data_manager.ANSWER_HEADERS) + return redirect(f'/questions/{question_id}') + return render_template('add_question_or_answer.html') @app.route('/questions/', methods=['GET', 'POST']) diff --git a/templates/add_question_or_answer.html b/templates/add_question_or_answer.html index 50b70e96d..0050785f0 100644 --- a/templates/add_question_or_answer.html +++ b/templates/add_question_or_answer.html @@ -2,13 +2,14 @@ - Add new question + {{ 'Add new question' if question else 'Add new answer' }}
-

Add your question

+

{{ 'Add new question' if question else 'Add new answer' }}

+ {% if question %}


@@ -16,8 +17,17 @@

Add your question






- +
+ {% else %} +
+ +


+ +

+ +
+ {% endif %}
\ No newline at end of file diff --git a/templates/question.html b/templates/question.html index 51d8945a5..be137874d 100644 --- a/templates/question.html +++ b/templates/question.html @@ -45,10 +45,8 @@

{% else %}

There are no answers to this question yet

{% endif %} -
/new-answer' }}> -

-
From dc393f76601baced210a52f7b58ee288339fa9bc Mon Sep 17 00:00:00 2001 From: Bogi Kiss Date: Wed, 13 Nov 2019 08:28:35 +0100 Subject: [PATCH 064/290] current state of voting --- data_manager.py | 13 +++++++++---- server.py | 40 ++++++++++++++++++---------------------- templates/question.html | 11 ++++++----- 3 files changed, 33 insertions(+), 31 deletions(-) diff --git a/data_manager.py b/data_manager.py index 7b67b827e..7a2d935ac 100644 --- a/data_manager.py +++ b/data_manager.py @@ -65,8 +65,9 @@ def get_answers_to_question(question_id, answers_file): def modify_vote_story(filename, vote_method, story_id): - story = get_single_line_by_id(story_id, filename) - vote_number = int(story["vote_number"]) + question = get_single_line_by_id(story_id, filename) # it gives back an empty object + vote_number = question["vote_number"] + if vote_number == 0 and vote_method != "vote_up": pass elif vote_method == "vote_up": @@ -74,9 +75,9 @@ def modify_vote_story(filename, vote_method, story_id): elif vote_method == "vote_down": vote_number -= 1 - story["vote_number"] = int(vote_number) + question["vote_number"] = vote_number - return story + return question def fill_out_missing_data(new_data, filename): @@ -87,3 +88,7 @@ def fill_out_missing_data(new_data, filename): new_data['vote_number'] = 0 return new_data + +'''filename = "./sample_data/question.csv" +print(get_one_question_line(0, filename)) +print(modify_vote_story(filename, "vote-up", 0))''' diff --git a/server.py b/server.py index 002509eef..59999df55 100644 --- a/server.py +++ b/server.py @@ -35,7 +35,7 @@ def add_new_question(): header_title='Add new question', title_field_title='Your title:', body_edit_title='Your message:', - question={'tite': "", 'message': "", 'image': ""}, + question={'title': "", 'message': "", 'image': ""}, button_title="Post") @@ -59,15 +59,14 @@ def manage_questions(question_id): def edit_question(question_id): question = data_manager.get_single_line_by_id(question_id, QUESTIONS_FILE_PATH) if request.method == "POST": - edited_question = {"id": question["id"], - "submission_time": util.get_unix_time(), - "view_number": question["view_number"], - "vote_number": question["vote_number"], - "title": request.form.get("title"), - "message": request.form.get("message"), - "image": request.form.get("image", question["image"]), - } + "submission_time": util.get_unix_time(), + "view_number": question["view_number"], + "vote_number": question["vote_number"], + "title": request.form.get("title"), + "message": request.form.get("message"), + "image": request.form.get("image", question["image"]), + } connection.update_file(QUESTIONS_FILE_PATH, edited_question, adding=False) return redirect("/") @@ -90,20 +89,17 @@ def manage_answer(answer_id): pass -@app.route('/answer//', methods=['GET', 'POST']) -def vote_answer(answer_id, vote_method): - if request.method == 'POST': - filename = ANSWERS_FILE_PATH - update_story = data_manager.modify_vote_story(filename, vote_method, story_id=answer_id) - connection.update_file(filename, update_story) +@app.route('/question//', methods=['GET', 'POST']) +def vote_questions(vote_method, question_id): + filename = QUESTIONS_FILE_PATH + + # question = data_manager.get_single_line_by_id(question_id, filename) + modified_story = data_manager.modify_vote_story(filename, vote_method, story_id=question_id) + connection.update_file(filename, new_dataset=modified_story, adding=False) + + return redirect(url_for("show_questions")) -@app.route('/question//', methods=['GET', 'POST']) -def vote_question(question_id, vote_method): - if request.method == 'POST': - filename = QUESTIONS_FILE_PATH - update_story = data_manager.modify_vote_story(filename, vote_method, story_id=question_id) - connection.update_file(filename, update_story) if __name__ == '__main__': @@ -111,4 +107,4 @@ def vote_question(question_id, vote_method): host='0.0.0.0', port=5000, debug=True, - ) \ No newline at end of file + ) diff --git a/templates/question.html b/templates/question.html index 7d5ddc2e2..6549b54b4 100644 --- a/templates/question.html +++ b/templates/question.html @@ -4,13 +4,16 @@ {{ page_title }} - +

{{ page_title }}

-
+

+

{{ question["message"] }}

{% if question['image'] %} No image {% endif %} +
+

Submitted at: {{ question["submission_time"] }}

Viewed {{ question["view_number"] }} times.

Voted {{ question["vote_number"] }} times.

@@ -18,9 +21,7 @@
-

- Vote Up - Vote Down +

From bc8ce00dba92f54ab1429f71c9f9cbb87f2dac4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Wed, 13 Nov 2019 09:26:45 +0100 Subject: [PATCH 065/290] Add correct write to file --- connection.py | 5 ++++- server.py | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/connection.py b/connection.py index 4087a8799..57097a59a 100644 --- a/connection.py +++ b/connection.py @@ -1,5 +1,8 @@ import csv +QUESTION_HEADERS = ["id", "submission_time", "view_number", "vote_number", "title", "message", "image"] +ANSWER_HEADERS = ["id", "submission_time", "vote_number", "question_id", "message", "image"] + def read_file(filename): all_data = [] @@ -30,7 +33,7 @@ def update_file(filename, new_dataset, adding=True): open_option = "a" if adding is True else "w" with open(filename, open_option) as csv_file: - fieldnames = get_data_header(filename) + fieldnames = QUESTION_HEADERS if "question" in filename else ANSWER_HEADERS writer = csv.DictWriter(csv_file, fieldnames=fieldnames) if adding is True: diff --git a/server.py b/server.py index 16ab2a2e5..46be37043 100644 --- a/server.py +++ b/server.py @@ -72,12 +72,13 @@ def edit_question(question_id): "image": request.form.get("image", question["image"]), } + print(edited_question) connection.update_file(QUESTIONS_FILE_PATH, edited_question, adding=False) return redirect("/") return render_template("form.html", url_action=url_for("edit_question", question_id=question_id), - action_method="get", + action_method="post", page_title=f"Edit question ID {question_id}", header_title=f"Edit question ID {question_id}", question=question, From f44ca431ff7dd627ba12dc46575ade4ceb3f7477 Mon Sep 17 00:00:00 2001 From: Rhyvan Date: Wed, 13 Nov 2019 09:32:37 +0100 Subject: [PATCH 066/290] extend sorting and html render keeps user's choice --- server.py | 23 +++++++++++++++++++---- templates/list.html | 7 ++++++- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/server.py b/server.py index 46be37043..4b8e7b147 100644 --- a/server.py +++ b/server.py @@ -13,14 +13,29 @@ @app.route('/') def show_questions(): + LABEL = 0 + ORDER = 1 try: - label_to_sortby = request.args.getlist('sorting')[0] - except IndexError: + label_to_sortby = request.args.getlist('sorting')[LABEL] + except: label_to_sortby = "submission_time" - data = data_manager.get_all_questions(QUESTIONS_FILE_PATH, key=label_to_sortby, reverse=True) + try: + order = request.args.getlist('sorting')[ORDER] + order = bool(order == "True") + except: + order = True + + data = data_manager.get_all_questions(QUESTIONS_FILE_PATH, reverse=order, key=label_to_sortby) header = connection.get_data_header(QUESTIONS_FILE_PATH) labels = ["submission_time", "view_number", "vote_number", "title", "message"] - return render_template("list.html", all_questions=data, question_header=header, file_labels=labels) + return render_template("list.html", + all_questions=data, + question_header=header, + file_labels=labels, + order={True: "Descending", False: "Ascending"}, + userpick_label=label_to_sortby, + userpick_order=order, + ) @app.route('/add-questions', methods=['GET', 'POST']) diff --git a/templates/list.html b/templates/list.html index 1cf7b7ee6..4da0c5100 100644 --- a/templates/list.html +++ b/templates/list.html @@ -18,7 +18,12 @@

AskMate

+ From 3e5afce735a18c5b2c5b0c748e52628861f5e931 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Wed, 13 Nov 2019 09:37:09 +0100 Subject: [PATCH 067/290] Add styling to index page --- templates/list.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/list.html b/templates/list.html index 4da0c5100..af5cd42c8 100644 --- a/templates/list.html +++ b/templates/list.html @@ -33,7 +33,7 @@

AskMate

{% for header in question_header %} - + {% endfor %} @@ -45,7 +45,7 @@

AskMate

- + {% endfor %} From 92d70df3d67f6610e290b0fd7229f504b6b7aa5d Mon Sep 17 00:00:00 2001 From: Bogi Kiss Date: Wed, 13 Nov 2019 10:05:30 +0100 Subject: [PATCH 068/290] add vote --- data_manager.py | 14 +++++++------- server.py | 4 +--- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/data_manager.py b/data_manager.py index 7a2d935ac..1c66cb0c3 100644 --- a/data_manager.py +++ b/data_manager.py @@ -65,17 +65,17 @@ def get_answers_to_question(question_id, answers_file): def modify_vote_story(filename, vote_method, story_id): - question = get_single_line_by_id(story_id, filename) # it gives back an empty object - vote_number = question["vote_number"] + question = get_single_line_by_id(str(story_id), filename) # it gives back an empty object + vote_number = int(question["vote_number"]) if vote_number == 0 and vote_method != "vote_up": pass - elif vote_method == "vote_up": + if vote_method == "vote_up": vote_number += 1 elif vote_method == "vote_down": vote_number -= 1 - question["vote_number"] = vote_number + question["vote_number"] = str(vote_number) return question @@ -89,6 +89,6 @@ def fill_out_missing_data(new_data, filename): return new_data -'''filename = "./sample_data/question.csv" -print(get_one_question_line(0, filename)) -print(modify_vote_story(filename, "vote-up", 0))''' +filename = "./sample_data/question.csv" +#print(get_single_line_by_id(0, filename)) +print(modify_vote_story(filename, "vote_up", 0)) diff --git a/server.py b/server.py index ced90e923..aff5f5d4d 100644 --- a/server.py +++ b/server.py @@ -100,9 +100,7 @@ def manage_answer(answer_id): @app.route('/question//', methods=['GET', 'POST']) def vote_questions(vote_method, question_id): filename = QUESTIONS_FILE_PATH - - # question = data_manager.get_single_line_by_id(question_id, filename) - modified_story = data_manager.modify_vote_story(filename, vote_method, story_id=question_id) + modified_story = data_manager.modify_vote_story(filename, vote_method, question_id) connection.update_file(filename, new_dataset=modified_story, adding=False) return redirect(url_for("show_questions")) From ffa537b3e635593c5fa8f300469af8eb74686bde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Wed, 13 Nov 2019 10:36:19 +0100 Subject: [PATCH 069/290] Add working vote up and down on question --- data_manager.py | 7 ++++++- templates/question.html | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/data_manager.py b/data_manager.py index e1ce9d9ae..1892833db 100644 --- a/data_manager.py +++ b/data_manager.py @@ -65,7 +65,12 @@ def get_answers_to_question(question_id, answers_file): def modify_vote_story(filename, vote_method, story_id): - question = get_single_line_by_id(str(story_id), filename) # it gives back an empty object + all_stories = connection.read_file(filename) + + for story in all_stories: + if story["id"] == story_id: + question = story + vote_number = int(question["vote_number"]) if vote_number == 0 and vote_method != "vote_up": diff --git a/templates/question.html b/templates/question.html index 4c2701917..bdb569511 100644 --- a/templates/question.html +++ b/templates/question.html @@ -13,8 +13,8 @@

{{ question['title'] }}

{{ question["submission_time"] }}

Viewed {{ question["view_number"] }} times.

Voted {{ question["vote_number"] }} times.

-

-

+

+

From 8d420246e283cf85f96e8f8a098fd09769f86b71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Wed, 13 Nov 2019 10:43:32 +0100 Subject: [PATCH 070/290] Add return question page upon vote on question --- server.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server.py b/server.py index 4997e52fe..4c98e6d78 100644 --- a/server.py +++ b/server.py @@ -116,7 +116,7 @@ def vote_questions(vote_method, question_id): modified_story = data_manager.modify_vote_story(filename, vote_method, question_id) connection.update_file(filename, new_dataset=modified_story, adding=False) - return redirect(url_for("show_questions")) + return redirect(url_for("manage_questions", question_id=question_id)) From 88b37db8ef0fa5d05d9be1f701306b343fea79c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Wed, 13 Nov 2019 10:53:57 +0100 Subject: [PATCH 071/290] Add vote on answers button Fully functional, rewrites file. Cannot go below zero. --- data_manager.py | 8 ++++---- server.py | 7 +++++++ templates/question.html | 4 +++- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/data_manager.py b/data_manager.py index 1892833db..addbc958b 100644 --- a/data_manager.py +++ b/data_manager.py @@ -69,9 +69,9 @@ def modify_vote_story(filename, vote_method, story_id): for story in all_stories: if story["id"] == story_id: - question = story + vote_to_modify = story - vote_number = int(question["vote_number"]) + vote_number = int(vote_to_modify["vote_number"]) if vote_number == 0 and vote_method != "vote_up": pass @@ -80,9 +80,9 @@ def modify_vote_story(filename, vote_method, story_id): elif vote_method == "vote_down": vote_number -= 1 - question["vote_number"] = str(vote_number) + vote_to_modify["vote_number"] = str(vote_number) - return question + return vote_to_modify def fill_out_missing_question(new_data, filename): diff --git a/server.py b/server.py index 4c98e6d78..97f280098 100644 --- a/server.py +++ b/server.py @@ -119,6 +119,13 @@ def vote_questions(vote_method, question_id): return redirect(url_for("manage_questions", question_id=question_id)) +@app.route('/answer///', methods=['GET', 'POST']) +def vote_answers(vote_method, answer_id, question_id): + filename = ANSWERS_FILE_PATH + modified_story = data_manager.modify_vote_story(filename, vote_method, answer_id) + connection.update_file(filename, new_dataset=modified_story, adding=False) + + return redirect(url_for("manage_questions", question_id=question_id)) @app.route('/answer//delete') diff --git a/templates/question.html b/templates/question.html index bdb569511..706642643 100644 --- a/templates/question.html +++ b/templates/question.html @@ -14,7 +14,7 @@

{{ question['title'] }}

Viewed {{ question["view_number"] }} times.

Voted {{ question["vote_number"] }} times.

-

+

@@ -38,6 +38,8 @@

+ {% endfor %} From 41b1ae9973610898c5606af32e6bdc4c5053d012 Mon Sep 17 00:00:00 2001 From: Rhyvan Date: Wed, 13 Nov 2019 10:51:59 +0100 Subject: [PATCH 072/290] add child template to populate question.html --- server.py | 2 +- templates/question-child.html | 34 ++++++++++++++++++++++++++++++++++ templates/question.html | 29 ++++++----------------------- 3 files changed, 41 insertions(+), 24 deletions(-) create mode 100644 templates/question-child.html diff --git a/server.py b/server.py index 97f280098..9a21eba9f 100644 --- a/server.py +++ b/server.py @@ -64,7 +64,7 @@ def manage_questions(question_id): answers_to_question = data_manager.get_answers_to_question(question_id, ANSWERS_FILE_PATH) if request.method == "GET": - return render_template("question.html", + return render_template("question-child.html", url_action=url_for("edit_question", question_id=question_id), page_title=f"Answers to question ID {question_id}", question=actual_question, diff --git a/templates/question-child.html b/templates/question-child.html new file mode 100644 index 000000000..34651635b --- /dev/null +++ b/templates/question-child.html @@ -0,0 +1,34 @@ +{% extends "question.html" %} +{% block head %} + +{% endblock %} + +{% block title %}{% endblock %} +{% block header %}{% endblock %} + + +{%block comment %} +
+
+
{{ answer["submission_time"] }} +
No image
+
Username
+
Posted:
+
Votes: {{ answer["vote_number"] }}
+
+
+
{{ answer["message"] }}
+ +
+
+
+{% endblock %} diff --git a/templates/question.html b/templates/question.html index 706642643..a2a13fae4 100644 --- a/templates/question.html +++ b/templates/question.html @@ -3,6 +3,7 @@ {{ page_title }} + {% block head %} {% endblock %}

{{ question['title'] }}

@@ -22,29 +23,10 @@

{{ question['title'] }}

{% if answers %} -
{{ header }}{{ header | title}}
{{ question['view_number'] }} {{ question['vote_number'] }} {{ question['title'] }}
{{ question['message'] }}
{{ question['message'] }} No image
{{ answer["vote_number"] }} {{ answer["message"] }} No image + Delete
- - - - - - - - - - {% for answer in answers %} - - - - - - - - - {% endfor %} - -
DateVotesMessageImage
{{ answer["submission_time"] }}{{ answer["vote_number"] }}{{ answer["message"] }}No image - Delete
+ {% for answer in answers %} + {% block comment scoped %} + {% endblock%} + {% endfor %} {% else %}

There are no answers to this question yet

{% endif %} @@ -52,5 +34,6 @@

Answer Go back + From 8c289922d6e7d0026814ad856a972de7cbd67fc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Wed, 13 Nov 2019 11:30:20 +0100 Subject: [PATCH 073/290] vote buttons --- server.py | 9 +++++++-- static/images/arrow.png | Bin 0 -> 105049 bytes static/images/arrow2.png | Bin 0 -> 105809 bytes templates/add_question_or_answer.html | 4 ++-- templates/question.html | 9 +++++++++ 5 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 static/images/arrow.png create mode 100644 static/images/arrow2.png diff --git a/server.py b/server.py index 46be37043..3b56bbcca 100644 --- a/server.py +++ b/server.py @@ -1,4 +1,5 @@ from flask import Flask, render_template, redirect, request, url_for +import os import data_manager import connection import util @@ -9,6 +10,8 @@ ANSWERS_FILE_PATH = "./sample_data/answer.csv" QUESTION_HEADERS = connection.get_data_header(QUESTIONS_FILE_PATH) ANSWERS_HEADERS = connection.get_data_header(ANSWERS_FILE_PATH) +UPLOAD_FOLDER = '/static/images' +app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER @app.route('/') @@ -27,8 +30,10 @@ def show_questions(): def add_new_question(): if request.method == 'POST': new_question = dict(request.form) - final_question = data_manager.fill_out_missing_question(new_question, QUESTIONS_FILE_PATH) - connection.add_new_data(QUESTIONS_FILE_PATH, final_question, data_manager.QUESTION_HEADERS) + file = request.files['image'] + # file.save(os.path.join(app.config['UPLOAD_FOLDER'], new_question['image'])) + # final_question = data_manager.fill_out_missing_question(new_question, QUESTIONS_FILE_PATH) + # connection.add_new_data(QUESTIONS_FILE_PATH, final_question, data_manager.QUESTION_HEADERS) return redirect('/') return render_template('add_question_or_answer.html', question=True) diff --git a/static/images/arrow.png b/static/images/arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..cff3faca1e90419e30aca2b49361575f2758d930 GIT binary patch literal 105049 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 z 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 literal 0 HcmV?d00001 diff --git a/static/images/arrow2.png b/static/images/arrow2.png new file mode 100644 index 0000000000000000000000000000000000000000..09d77024a0dfa3d802c9ccd4a8897b7f658a24cd GIT binary patch literal 105809 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®+2Cr}nEXJ;lf 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 m>c5r4{{ 'Add new question' if question else 'Add new answer' }}


-

+

{% else %} @@ -24,7 +24,7 @@

{{ 'Add new question' if question else 'Add new answer' }}




-

+

{% endif %} diff --git a/templates/question.html b/templates/question.html index 4c2701917..5d31d61ec 100644 --- a/templates/question.html +++ b/templates/question.html @@ -38,6 +38,15 @@

{{ answer["vote_number"] }} {{ answer["message"] }} No image + +
+ up-arrow + + {{ answer['vote_number'] }} + + up-arrow + + Delete {% endfor %} From bb41c9b32bae339f8da014659509daf8a88567ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Wed, 13 Nov 2019 11:38:07 +0100 Subject: [PATCH 074/290] Add vote on answers --- templates/question-child.html | 3 +++ 1 file changed, 3 insertions(+) diff --git a/templates/question-child.html b/templates/question-child.html index 34651635b..7c22d4c4b 100644 --- a/templates/question-child.html +++ b/templates/question-child.html @@ -7,6 +7,7 @@ .content { margin-left: 30px;font-style:italic; color:#; } .date { padding-left: 15px; padding-right: 15px; float: left;} .votes { float: right; padding-rigt: 15px;} + .button { float: right; padding-right: 20px;} .head {background: lightgrey; width: fit-content} .delbtn {float:right; padding-right: 5px;} @@ -24,6 +25,8 @@
Username
Posted:
Votes: {{ answer["vote_number"] }}
+
{{ answer["message"] }}
From a2a6471b3b21af3979399ed761dd2a324e21dd1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Wed, 13 Nov 2019 12:10:28 +0100 Subject: [PATCH 075/290] Add answer upvote arrows --- sample_data/answer.csv | 6 +++--- templates/question-child.html | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/sample_data/answer.csv b/sample_data/answer.csv index 3ddfa1ffb..3687322c6 100644 --- a/sample_data/answer.csv +++ b/sample_data/answer.csv @@ -1,3 +1,3 @@ -id,submission_time,vote_number,question_id,message,image -0,1493398154,4,0,"You need to use brackets: my_list = []", -1,1493088154,35,0,"Look it up in the Python docs", +id,submission_time,vote_number,question_id,message,image +0,1493398154,4,0,You need to use brackets: my_list = [], +1,1493088154,35,0,Look it up in the Python docs, diff --git a/templates/question-child.html b/templates/question-child.html index 7c22d4c4b..5d3d2c87c 100644 --- a/templates/question-child.html +++ b/templates/question-child.html @@ -7,7 +7,7 @@ .content { margin-left: 30px;font-style:italic; color:#; } .date { padding-left: 15px; padding-right: 15px; float: left;} .votes { float: right; padding-rigt: 15px;} - .button { float: right; padding-right: 20px;} + .button { float: right; padding-right: 20px; padding-left: 25px} .head {background: lightgrey; width: fit-content} .delbtn {float:right; padding-right: 5px;} @@ -24,9 +24,9 @@
No image
Username
Posted:
-
Votes: {{ answer["vote_number"] }}
- +
+
{{ answer["vote_number"] }}
+
{{ answer["message"] }}
From 3e0b8732e54a3b4da01463af1907edb486225850 Mon Sep 17 00:00:00 2001 From: Rhyvan Date: Wed, 13 Nov 2019 12:44:44 +0100 Subject: [PATCH 076/290] add delete question option --- connection.py | 22 ++++++++++++++++++++++ data_manager.py | 6 ++++++ server.py | 6 ++++++ templates/question.html | 1 + 4 files changed, 35 insertions(+) diff --git a/connection.py b/connection.py index 57097a59a..004eae9a2 100644 --- a/connection.py +++ b/connection.py @@ -45,3 +45,25 @@ def update_file(filename, new_dataset, adding=True): if new_dataset["id"] == submit["id"]: submit = new_dataset writer.writerow(submit) + +def delete_question(filename, q_id): + """rewrites the entire csv excluding the given ids""" + content = read_file(filename) + + with open(filename, "w+") as f: + writer = csv.DictWriter(f, fieldnames=QUESTION_HEADERS, delimiter=',') + writer.writeheader() + for question in content: + if question['id'] != q_id: + writer.writerow(question) + + +def delete_answers(filename, q_id): + content = read_file(filename) + + with open(filename, "w+") as f: + writer = csv.DictWriter(f, fieldnames=ANSWER_HEADERS, delimiter=',') + writer.writeheader() + for answer in content: + if answer['question_id'] != q_id: + writer.writerow(answer) \ No newline at end of file diff --git a/data_manager.py b/data_manager.py index addbc958b..1ecb5a433 100644 --- a/data_manager.py +++ b/data_manager.py @@ -102,6 +102,12 @@ def fill_out_missing_answer(new_data, question_id, filename): new_data['question_id'] = question_id return new_data + +def delete_records(answer_file=None, question_file=None, id=None): + connection.delete_answers(answer_file, id) + connection.delete_question(question_file, id) + + '''filename = "./sample_data/question.csv" print(get_one_question_line(0, filename)) print(modify_vote_story(filename, "vote-up", 0))''' diff --git a/server.py b/server.py index 1d3fa5c63..e8f80952a 100644 --- a/server.py +++ b/server.py @@ -139,6 +139,12 @@ def delete_answer(answer_id): return redirect('/') +@app.route('/question//delete') +def delete_question(question_id): + data_manager.delete_records(answer_file=ANSWERS_FILE_PATH, question_file=QUESTIONS_FILE_PATH, id=question_id) + return redirect('/') + + if __name__ == '__main__': app.run( host='0.0.0.0', diff --git a/templates/question.html b/templates/question.html index a2a13fae4..0719970a8 100644 --- a/templates/question.html +++ b/templates/question.html @@ -19,6 +19,7 @@

{{ question['title'] }}

+

From 2a9a78458b137379ecb2317f8b259172f7de02a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Wed, 13 Nov 2019 12:53:21 +0100 Subject: [PATCH 077/290] Comments out image related sections in add new answer, so it works --- server.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/server.py b/server.py index e8f80952a..2fd2f08b3 100644 --- a/server.py +++ b/server.py @@ -45,10 +45,10 @@ def show_questions(): def add_new_question(): if request.method == 'POST': new_question = dict(request.form) - file = request.files['image'] + # file = request.files['image'] # file.save(os.path.join(app.config['UPLOAD_FOLDER'], new_question['image'])) - # final_question = data_manager.fill_out_missing_question(new_question, QUESTIONS_FILE_PATH) - # connection.add_new_data(QUESTIONS_FILE_PATH, final_question, data_manager.QUESTION_HEADERS) + final_question = data_manager.fill_out_missing_question(new_question, QUESTIONS_FILE_PATH) + connection.add_new_data(QUESTIONS_FILE_PATH, final_question, data_manager.QUESTION_HEADERS) return redirect('/') return render_template('add_question_or_answer.html', question=True) From ea747be31a4832b56b23e4f4ae691866eaaf1cba Mon Sep 17 00:00:00 2001 From: Rhyvan Date: Wed, 13 Nov 2019 13:01:51 +0100 Subject: [PATCH 078/290] add delete answer option --- connection.py | 10 +++++++--- data_manager.py | 6 +++++- server.py | 2 +- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/connection.py b/connection.py index 004eae9a2..91b643979 100644 --- a/connection.py +++ b/connection.py @@ -58,12 +58,16 @@ def delete_question(filename, q_id): writer.writerow(question) -def delete_answers(filename, q_id): +def delete_answers(filename, q_id=None, a_id=None): content = read_file(filename) with open(filename, "w+") as f: writer = csv.DictWriter(f, fieldnames=ANSWER_HEADERS, delimiter=',') writer.writeheader() for answer in content: - if answer['question_id'] != q_id: - writer.writerow(answer) \ No newline at end of file + if q_id: + if answer['question_id'] != q_id: + writer.writerow(answer) + if a_id: + if answer['id'] != a_id: + writer.writerow(answer) \ No newline at end of file diff --git a/data_manager.py b/data_manager.py index 1ecb5a433..7c8af6718 100644 --- a/data_manager.py +++ b/data_manager.py @@ -104,10 +104,14 @@ def fill_out_missing_answer(new_data, question_id, filename): def delete_records(answer_file=None, question_file=None, id=None): - connection.delete_answers(answer_file, id) + connection.delete_answers(answer_file, q_id=id) connection.delete_question(question_file, id) +def delete_answer(answer_file, id): + connection.delete_answers(answer_file, a_id=id) + + '''filename = "./sample_data/question.csv" print(get_one_question_line(0, filename)) print(modify_vote_story(filename, "vote-up", 0))''' diff --git a/server.py b/server.py index 2fd2f08b3..dfad2f254 100644 --- a/server.py +++ b/server.py @@ -135,7 +135,7 @@ def vote_answers(vote_method, answer_id, question_id): @app.route('/answer//delete') def delete_answer(answer_id): - data_manager.get_current_answer(answer_id, ANSWERS_FILE_PATH) + data_manager.delete_answer(ANSWERS_FILE_PATH, answer_id) return redirect('/') From 6b9d49f95129bebcce3cb10dfe0d563b98e0c586 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Wed, 13 Nov 2019 13:08:07 +0100 Subject: [PATCH 079/290] Add question vote arrows --- sample_data/question.csv | 8 ++++---- server.py | 10 +++------- static/images/downvote.png | Bin 0 -> 101102 bytes static/images/upvote.png | Bin 0 -> 101638 bytes templates/question-child.html | 4 ++-- templates/question.html | 8 +++++--- 6 files changed, 14 insertions(+), 16 deletions(-) create mode 100644 static/images/downvote.png create mode 100644 static/images/upvote.png diff --git a/sample_data/question.csv b/sample_data/question.csv index d915e2ced..6fe2e2beb 100644 --- a/sample_data/question.csv +++ b/sample_data/question.csv @@ -1,5 +1,5 @@ -id,submission_time,view_number,vote_number,title,message,image -0,1493368154,29,7,How to make lists in Python?,"I am totally new to this, any hints?", +id,submission_time,view_number,vote_number,title,message,image +0,1493368154,29,7,How to make lists in Python?,"I am totally new to this, any hints?", 1,1493068124,15,9,Wordpress loading multiple jQuery Versions,"I developed a plugin that uses the jquery booklet plugin (http://builtbywill.com/booklet/#/) this plugin binds a function to $ so I cann call $('.myBook').booklet(); I could easy managing the loading order with wp_enqueue_script so first I load jquery then I load booklet so everything is fine. @@ -8,7 +8,7 @@ BUT in my theme i also using jquery via webpack so the loading order is now foll jquery booklet -app.js (bundled file with webpack, including jquery)",images/image1.png +app.js (bundled file with webpack, including jquery)",images/image1.png 2,1493015432,1364,57,Drawing canvas with an image picked with Cordova Camera Plugin,"I'm getting an image from device and drawing a canvas with filters using Pixi JS. It works all well using computer to get an image. But when I'm on IOS, it throws errors such as cross origin issue, or that I'm trying to use an unknown format. -This is the code I'm using to draw the image (that works on web/desktop but not cordova built ios app)", +This is the code I'm using to draw the image (that works on web/desktop but not cordova built ios app)", diff --git a/server.py b/server.py index e8f80952a..5a68b9228 100644 --- a/server.py +++ b/server.py @@ -1,5 +1,4 @@ from flask import Flask, render_template, redirect, request, url_for -import os import data_manager import connection import util @@ -10,8 +9,7 @@ ANSWERS_FILE_PATH = "./sample_data/answer.csv" QUESTION_HEADERS = connection.get_data_header(QUESTIONS_FILE_PATH) ANSWERS_HEADERS = connection.get_data_header(ANSWERS_FILE_PATH) -UPLOAD_FOLDER = '/static/images' -app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER + @app.route('/') @@ -45,10 +43,8 @@ def show_questions(): def add_new_question(): if request.method == 'POST': new_question = dict(request.form) - file = request.files['image'] - # file.save(os.path.join(app.config['UPLOAD_FOLDER'], new_question['image'])) - # final_question = data_manager.fill_out_missing_question(new_question, QUESTIONS_FILE_PATH) - # connection.add_new_data(QUESTIONS_FILE_PATH, final_question, data_manager.QUESTION_HEADERS) + final_question = data_manager.fill_out_missing_question(new_question, QUESTIONS_FILE_PATH) + connection.add_new_data(QUESTIONS_FILE_PATH, final_question, data_manager.QUESTION_HEADERS) return redirect('/') return render_template('add_question_or_answer.html', question=True) diff --git a/static/images/downvote.png b/static/images/downvote.png new file mode 100644 index 0000000000000000000000000000000000000000..4b8a4d542380c217ee97d497c55ed2de5a8dda3c GIT binary patch literal 101102 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

8#1shrFa=)d@&~?QS6#4jui(Ar%g5 z>zv&@k}9&opk!FfuXGug3|CH`tJLrd!xYQ64~`rV7Aq1rsLBAubKi@FB~Y0xb{G9s zepdFH-*PG&>jgo^Rn6s_I*E~#gL{b%*rAMSqO;hF8Tjd4TI-7u>0C%#t2yOijWW1{ zt&<=-6L6cTB*xlmBd8n``zKxSN+9LLQJQS&x=Rtk4ciBUeX!vwXi2RPu9IJhAtBhY zmJd^VMB-lDL~3V?1^+D_YAzwzyMN=N{QIXk6QJAER1lnQijoVBC~kB)!NSoZMoj&WT@0$x8n#N0OQl7TaT)b~Euo86aPw3*g-k#QAaK=n(l0nG)Yr8cw20A$%c6Cg66l> z!&G~s%@lw1(u&X_JD5UZP7gOA4{*AH?Z#@;2WjWWN?q`lUE$6s1 zi?=f6uNhX%icvdBmc)%M{{Y~ing~0#xkJUeOSCl% z^&ROaa%qy_{$uO<;_0X<#A5E3gfAJmEFE$*VnB;yC^TN~N@ZKQ_;CaKo~`<-;D^$H zH}|oCB&#NYN`i;e)Sa;&S-UQxC;QAH;N*|v`kJ!)rXv1MI9MH?XmU%B@5qsD^? zzYe}rH$#v5`C}TrNWZfX#{7OUdERPsEP&&g+i<~wH}pXyTTL8g`BLT8jYyAE8|sc7 zl&}Eo*y|5=f(O$P8kIk+;}Bg0LYpO*%j7Z6$n(1|&evAsuAwGgj~(L-oDpk172h&2 zJ)Y1B^@3)2AU@PCd)^edzBaxJ-j| z9-Rh*N`v!Y34T$JeDL}}6H73|SDOJ4#|`!%zNim^Ro^j)Aj|)>I?)%%OPiyFnPPX# zyXQFq0ju$a8T0?yjsWZ?2-|#Q{qUuqZ85F59N`HG#o0{6oK3#(K|ukeg;1lYhgi|= zpZ->FT@9+zp}_Ym1G&UO{VbJOcTgqCnTuS7UVfdh!zNI^P=&9$Evd;1-~hix?^E{4 z+k^TZS>fNA%0#EvKRr@jf3~FMzDVaKC{;jApVb~ic{vnbZgKzJn7+T_Boj^wpC})Y zPtj9C=} zCi_3?Lwv9Ux7R;XLM6r?SPdVQd!l%ft)@6I zS02SW-&i%ED|({1A`Ii|c!gP-%J>5bAw}Dwu=ZmRjGu>`AOQ z!S1S{%e);M?{-ko_-4;M|M-H!h_<6 z)wuey1$YiLa;#%AnpxfFwpk5Q;eZq`Ujdc71*m8}+))$9IIT>SzOjI+qLEN1jWUiU zbnB2igeSh;XUilm;|A&04yjpo8{)6(ksDZJnOZ~G^eo-?G^l)t;+}P0+Fivhwuy7v zuOtlYp`sN6V~=c8!9%&JOX=O^tgV61^bl4UvJukX5mRgxM5SzNQMov$%oLo=sM~~K zEXRFUY|k6x*XL^o5m_ZRzM3?pZ{z(uhLuiKA;7m0*vv$HwPX zNe0M@(c{b0ozvZ}Psy4fP#ff=?z2EkS-p+KwSqo!3?Z4CFDE765To4~~TjGfhfQSIZPvc}vC&Oxnafx4XYEiZ9p zD?T;uKWZ0k)=$zdP&1>yW}U6@cBa<5O!|{-Pu(1jcYcV;n3we43xi0~`ToVvP>|ja z{V#%Q{!(RS3-QB_r4p~cP~oh+&P=;PZ6sLN7O=QZe&!sJ*}YsbYsndT#qvz9SGH;x z$57GvU^T}%ghPx=g7H=Y*)holMuqwWX4!1j99ShN;;Z??RRqJa!% z^$TdN7+?emLtIHgS$=tu)0Y-kGPJ@#3KGtaTKu}m#8&nxJd{c}P(8vXTu3jRpzt&V z_i`V}1%|slpHza3|Flyy7_AXQEGn75TLi9ft?OVks-6sU1=RBetJ2z|?XR+gRpU2V z<`}o@&etYey_$#0vortnFJ@vWjhQoU>K9$!%4S<#bHECw5oPEG7>rM=PX30lbq%r1 zmu85a)H~@@Usrp6@GHtWj&Y`&$pM~jQ?a@$`UOzaguFl^jeAQ7RYp3yGS9^K&AFO0ML0 z^Dj^+_9tt+M;)>|wDB^!WM0<3UGZ`$TK9pk%{<5vqu+{voaL@s*#DOSG~`9eI)`T% z6GKGHx%_n7rG-Ej5#?;0aoddY{neO8>D=Jap<{I-s9T=T7c4j>MSLWOUFASqYsm3l zSqNygRd+-E1Snf88a+UE^v|admCcF|t7N+*2f^O!VdhhxQofszCP~wxsb$PzXHdoj zf-7Tj=!w>2M_k$a?2sx>_vTShdvMi)O<2AcFbJq3nn`^Tfut?+DLXKQfujU)Xkq7) zb2G-WacTG|*!bz;pA4jFWW@|FusgS|t!nPTQ$6_jBf^rF8PIpZ9YF^P4;PU8W>Ur8 z5`OaW+^1}xq}~2_rqP=*oe!C&csX>Gf6{Hzhtw?k#)~ao0Lji*z7U81iUS9OX8DCS zAcE;u;cg@7>h&Fi!o%bu=^p&OyH^JW8_pCg?dKUa>3O+0e&|KP=J&}8cG@jRr>M!e zTxJnLWyj8U__ai@a6Vd*|K1!tDWR{qP*S+jK-<&}y4f>|-C3mmq3kD#$ZPV;H=_}v zWzwI+RHM-%yiJ=`%5h~dnViuOwjxAJG{KGCdifwp@Xyr~{x`9Yvywq!UvLLoDDdGTgq-vw_a@m1WxyE|X_KGTaq? zqrs;V_(@V(Jmvjj=(S`P5xVs-OjzhWNtL2L4JlB#Xhcn%j%cTi9s~=?#t#E{RUnS(4%DnVq5`w-{!qe32IT&ld4s`A(7!cDIE4LNWU`duw%?*|6Zc`_llP{P{%WYo1*Fo>#9L!I;LACdic0$8-hC;25H=t#*??#0+@0fA#>85nZL8%%PIrQFVzOD2loyrTH z-$IP~g_PqqNH0WFK~IlBs8z08aZ(F!UPoW-@v>ZLWQN%53C#}%GlkR4!q3-PcV}^i z!V^14x!S06=w%ZU8dsL=-potuC8$WDGDk5x{>{4eQZfN2*;*Q9QJMW`p~kuCo0(C{ z576z(_;x=%w=}g>)|paC3MUDnoOi?+DU=Z629_%IEEG1%t5V+{AObwAP{6dFrFAv& zobMJirl{@!0MUioF{PVRxShST{_#ITxVF3x@sIs50@P9wc%qSLstnWInE8C>&ab;a ze+3(w(hJ`QGYgUGqOOn3AR+wyc3u}(vH^($y_F`lNn%%R)FQO<(|Yj0f0b~2@rFu@-+yQy&JFzqS9I`6M9%7||1%b^rDQg_<+ zRxK&ZDFF*PAg{;1miZWeh5p23Q78<=kQ>-$wqR!3eTg<}fptb&83AhgXpzF&y1$uH zr%6}06z-sCEv&xW^$Do>lUs|oJgN5xua-%nzOkAX^GUm@s)1<5>8ogAAE$cK!L&k4gCZ1Gc%VqND(v?S)%5k0xrK6y^!X zK$sk+KwTDveLxatPm1>{$G|>N?!vq20c%(oBdwvF3sRSPuWre3;>oUeQk&5zO?CGs zo$Gt>A;G#Fm*ghUY>IYWC>UyHyBlGU+6nnt?gns?qM2Rn8FbYjzHgMq6M#KrGNxb7 z?vTXy3Qzo{IHlaYIxf)_zuuy0r1k0iaerwV-N%QFo-l4ba>uD>{|6j}TiBX`)yEVK zNp#k^3g_qJ1F=&00Ac6vYSl*z)N9nf-vg%{MrQH79z#{%WoS&f!Ja=0dygS^gQR(6 z-X4sn=5GMb{A3aWY9XKQX#u2RpHwPQ3!%g?*4j69s+bAn!0r-TPrJ@EocDCgdFO7z zkngA4kNPx^1vALDxFmbyO`f?=L7`dN7v!Iwu=uBa7J=gwX~tr8{cljS@hZI_3%{yP zFBdLLmpsB)Fjy4A(Q3q;o-zL23GTL@8q2 z=-k{iy7-*?aHF7#Ycw_hC!Z84Of zrel-mNxG=;7o;te^WM4ZMwhne93`neM>@0AS_c6D4CV`}PSHW-fHtHi*9>MTuhx>1 zFDQIv2Gh41!Sb;zVEwuZlU_g<;rIJepRX#C%y3uNJQ_fOrP)3Rv6wS~U5{`D?AWAS zkDtJB(nVVlHA}MDQ`)4z{%HO3=c4`qEb(|NG>cIsl>lt!KRi2ujh6kvWTvoXi#4wM zp^WD4+4ZGv9~1MaDSRWJO;OS?NIeRI((XK)aVE`3ua-#e0QBW6K`{Qm;ney`t`@a0^jV-gtQS9U!+#0<8L-N)` zq_=PXz8}tbl{dRWvTg9@pRPb6kY6}1W$ z%lOhdQS!@HB)n*v77|4F8R-&HbR29|`tu(F<NMyV?Pfl{m&sL;r}@K$7z2O)!WR zsm?Lx`F0dU`icF+{&dc{K?x%kPzer>R8l0a?2^wz@^@UXuycO{Fo@Y7b~r4PVOtYb z^N8@u*7x3KOLpC6z%r$=$s_>a>v|;6+LNh$qlQ*b1<%6A>30Q@Swb#FWYEtUqlBrK zEBYBkNyoip7GbohrYTX~M8A|Uq|@6SK>|03WqP&YOAPVA?lxh}pj4y|@Di&5MKPPF zEjCvlP8@F2(jhWKL!Pjjc`aD8J zvfk)-*YPfkasR$2l%Q~6Ulwpnd!^deiXf(Nuo+P+yShtqI@^Ng66|!ulLI;Nm=?9~ z-WTe%Wz(o2g{u4j7d8NAo9PXEH^zTG z;{?b}m%WBluD%$FL^;o@t(Q*7$XRl3IopTg~-_M%tk?Hy>~ooeOwh!H9ecpxhd-zO;!5A-0)4_++`V zpLSNo08`gvf^vU~o|cf*XDnN}mfvkm@l{u_1;rmMPs;}ttRT{)&@`VNqV>xFVx7$U zT2_-37Go7|bD5MPZb&#Hs5H&aWV+^~$VfeMg5o54nBSO5lYZ1TdjpNr(j^O8OvV!j z=}Zt^r-of6sCo$g=k+Hchs*?Cl#1Ms)`6g6>`oo9 z7Zx=?>7r!8Oklf!k@Vt0IXln0oLan^NZbgc8iEoj#(CwfDcAMW6pA+9NMcR4fq_oFecF|@y~^mzRMEmkx%gp^Jj zkfj6NKZfFS$V1!y(Rq?)=_i&F8mh%!-BD;Y656`7(D?9-@I)t9N7ymIm_}4dmys3c zT6wR1(L{rSqQ?vBW$Hqd+_hIw7v?hQP25PNjBR?Asp}+b;bhabMtrbvG}aS zU%y|TD&m%3mZt_jyDQvs#P24iZ&a|q-&&0+IShp(RU0ijg&JE>hSnK6R4PIKS!ZasU9Pvp`rr+ZvZ1eCBKq&jmP z4Rs^(A*ZYaFxwq{ix{jRiQf4#CxE;fO~`90TYztun56y01HzN)%G602hndiKNe%x* zAS*0}mqNdc>N!=-7vU68bm+)G|1c0oQLyh1y~~h(r?K^j_L-En>W+{-smp zm)e!ml%IQ4UL2xX2>EjFtLx+);)X6YCI%BhSs zPasCZx*2_b_5SfjRs=qLF>**4D*XTV97*A>Zc1gO{6GS6{N>OWKl`ja6NGUbfl1kX z&DgOvp>rHGtO_rGw*s);4v)sd=dJ|KC4r5P|AB%9@Io`btX6vYWjksGDU!J9*Zv;v zrc2i5D-1nFlXg58HMylrHdeg8%?08EgP2ynbN?xA%M5J>kjNDHK<_6N2_f79B$khD zZgNqSMhUbQt48`n+oKV2j|MnxmN4|{MZ?wHp=f`@tUP#_DoW5irwu5|fvT$E$M7MH zDrxcFD+(~xPF)ZdvHRUOizy1Bh%ZY=Xn*(UP@_{c*3+yw{?%>8Nf$*Ecnw|Ybni_I z$36HASa@Ju*YrE%$4~n~*}k0UG&3LrIWsm#t$Q(|HbD(6!I)Zs+RNXl_vuMV^j+pK z?`W|iSiUY;=;(hFI^-Q(r@ zkIPzgSbAyAPw89~LCd^Q(V7^ONM)csB&=W5R=mp|mTOWaiq{sNm_=Sz{56fLb=OZV z*$>^|-3^7;c`AODuxmdhzK5mt-rXWQAeSCSd|Y4xb<$TKQW?s5C1Pf^cR-01g#7<` z?m97gzBZQd(w1nzN(@2LFw_yiebrH`UeCwQJGzOrINxlP!u96M#k=2!jA!}pMJ)nd z!E)%HQs5md2b8zMgj$zAk zX|aWt3&bt-u;J`O(e3Othp1^rc3VVZBwYNNm!>@)!v|G>HUHyQpkLF8)5g!H2Hzil zKxyO&UgR{IqytgyDC@IO4!>()GlJ=ecL_97Q?UIPxBbV#b3bvyDCZ2uHePGcty1xb z7VDtXiX!N-T2I}MUKal7;~K2scLk#n9N*AO0ZA4sxu3Z~P%bUJjr-|h32){=8Y(D^ zJs&%GI%Q(Eh)!IOoO++Lo$?gtjZ3?5YnWL@5oIZmyMQtC2yT>vJmSa3)Rw`p+H zokrb?BB-)Hwza`J(1oQJjOUgeOy@*OvRTg#a$3b?T2*#j1LcqfV}ZKS|GB#upkFH| zONY13FpWMbFF@<`NU)OMJZGoiL4K`Y(T^#O2S5uA+b*33ZH!#F-zSh?a<_Y5jQ)`D zwa~oWE-(%0voMN8UQ>cKBeq{Wlwx`5Iw=FjDITkbsI#nn4MM>Oe+uaenN(P~JUlm} zi}^IR_c*9lp;RO=1F}BzKGaH-E3PTQAI~>A2`2e|y8Gs@F67daa|c&yBEw40CwJnr zScA{Z+~6Ecs`(a?)RveFtq1=nECLF7(o!%ir`1y`{~2))=0IonHGlfO@Pr<6DIRVZ zexR=S{8kB$LpXb3@92H{V>{bLtremL9sk97mp3mrT|T@8ws3NIDwdQbJR$JTTJ#A~ z+;r4sNr~!frf}zk-(`$O0Pe~f+&AwFE4K+lI4?4Aca6tAO;2dBR;5NHkO-`L3~XPT zT3Kv(Z=WHp66s+JriZ1g@Z`8oA zXPm1zlN;@Ji9fI2yfxf=e}MbHwoa6t_(ItpUN>=>yhqVcM`tn49T;_RPX8+G{PfgQ zFH@`oyzyCq5bqQnlOEZO@np3)Ejjv5rjdVJ+XUCv&k#$>)r#2;)I_!DNCQNr z|3?zGi*tOsF@x#~H`K*i1b>&1xRCz3m_`Xy#8T4@6YBdrUm7)0nYOiOv6<)n{je5W z$##jKEqUb1Y8$i@u)_cNQ&$wBo^*t(!94uhmp7IHZjRqvdO=4gjCFnWCesm683Ze~ zvYs&8n1NaOJ}!B?9@gr^4%fVrZEriG;N#_CXTZzwZ!|Gq=?v_zVu$?_xLqF42XqoZb-DcEwa`^2V6w~aj7Es{N2t%sQ#%7=E2j=lz%j)fM_|E67qyt;i3 zm04g};jzT$o5`SE!z?MX%Q&a+e`ngo;ZV9DlD)v@nip4_4p&1b!{ccV{o*TbnxdYD zJzf@5Q=b~!+)fxEpt+4s?@`@9jl4t2?X_MpAzFSRm^rl!;H#PJjnM^G^j<9K+{mv67M7hMTmUIkZ1Y`)v*>i;HlsHSXkM=m(OYHvSi1>| z?o$D1NogNWI=xNubU2CzBKWkQIhe69fW-i1h0AYZ0La(Pv#=d>@4*lQ~n`^k0Ophz$zhboT66$(c%e^rj-!Z9nDs@+9^%= zcUuYvsmsXAQ(uhbm;D@Dc*?(&r_lvT^fAwnfvZE zK_!^C`^gZiN(ttTHflmg(KGC@O0#auPl>L9V2{oQSKuQ(UjMz6HapZ4;&tSsHXP{; zVtV|TAUcxL5lmFgnrQfJyQyG*Xx#y$QLh_Y!Kc(!rulAQzxDaw=l||0opQ9Lwt*%V z zumK19Y1`8z8?eKe7C`rbl7kaARIq1Qx4{%&&S_f#oztsU^CQ^>r7DTJL}-P0pJG3< zeD$fO+5-9Ab#jCBnB*#&>U+qJ2N{aN6t%Q=QwHf~5qhAdB@HG?<{Lrkmfxc(VW((n zRH1&i;X3f`2>4W#ZVOgYsyqEX^Ta?>uG7C^JDbVEJyg%LD&_3a@Fb!P zycx_yBS_zn71$0l#E?+kbCWc0oUb0HPXaWLT_>AK?`Qt_5}<^E{ja0Cx{~KhIrr=LYuSPA@D$nz-Go<{PRiStg@`fq@QaN+iv^H5Q-FRZH z>m;7jO=1pcU`lu*qgS?solg0g`-u{K8qU7cI zP&08$-I#XD7LJ=v3w9$quZ$`D2vYL3LL9vV%XT$p`DJK8$S7=uEk}j>`#{4rb1L{s z4U66{z9IRI5|>fWwE^#Nnam(=$UCB`ksv!t1Fmje`!ZzoEHdVqjX^n`-wlkH?AfMX ze7+60--oHm$fcg7 z86noN8kglrQ~D!Cte1WVA^u2#5g`~Y1*Sy+r5Zy~Rnel>#T2kazBvVX2l@x)`S&!q7>Spb%2hvRIiAUTaHF z8z!vlf@N-(Z)5#AWpt&W$Xp`D2|E|?{`}G?N)Mgk^Dl6FKYk<-tifg{ot=(<-e0Yp zBP?J)QSsD3@$5TN?SrTc9HXvt_l zq7N!G$fHn`81grgBI!MT<)}v`i_Y!J?=nxT6Jv$ep-Y+rON zBHzBT;goR21F9?4`G-+|Or9 zFFLDex93Rxb->;M!Eg8C&WIDaQz}lzz}^yY_eM+Xe{vS2-O=Hx*)kc`E?rUxaw&q4 zV&=~VL@EHQ2BLRTOIbif6da{-j={HcE^HCj%>m6WlZV!h)1XMYAHF;bi(@`e=GOSK zPE8%uxHoYza$J|3#I@O}ul&y4xVU7k<7U43`I;W$Ahr2KKy!<=SP zxINHH?{hsQ%wR?yz-2!#mljmYPmCS$-Ysk6SISW-`&Px(ec{zRu&=$bi)-@jI!4oJe-xx>XITD~Vkatd7!(2-coY zx)%qA$YPVA-B4xU@AsmgD;zZE0m7wih}YST?z|&Vwx#?q^T)U{nbLWY7QUOHDYb}j zpyOB8sRHf5+iqwDo2~F@TXbQu$nc>$71S8-!xHf2rBa9kh&`nY&>n|czbH~;?CaO*N~wSvz_-# zYmwJJaz4C}a3l(anG7LZe0Yh|Rq)Xv)(A!k9oJK?NgtlsM8u!ibUk_Olr~cSnZ$S1 zjK#&cP_3?j%+;~A^1(Zc-db6MfgA6J$3shg)|Kwe?SwRYN`dcxABhU438*}t^Li{< zu&3;|5F=Z))Rlq6Dsl4brVJmK2rY4Y;?0X8=bZiQDe=aJe!V1jO`NAFhme99c=@R$ z=Nf|gOPa~RGGj~7G44QIa~w82PvyUdY)`si@8^2CVP42)|J0}MCVa15R-)cEC=%l- z`VkU*{-0fd9KyN`&7-nNSAF={dQPq)NB12%KkP?2jvG8q*zXzY!W6HQ(6Q%C2bE%< zEc0j@rAl^TnWU5dh#H_pdCE!%DHm@Y{}K1*nH0U9#Pn$ciL(At_`2cSCDSD$xXqX< zc=!cX_AQ06eNJ??&YM+-2R_`tL2>1GY8er36V z9GzPl!%nHLU2*RBAQ>8$l~~by2f_p7tIo-Lwr`q(=^JL7N2Pf#z`jvHg(Vo%qrvk2 zj*(>i`soc@@iAEXX^&FO@|e!R2|0a8p}|vK%-{eva8~>?R^bD_z0emQo6+63eq$Z; z$=90ms$H*vL2!Cc$gk#-oVi9V#A72x2Ri71#sHuT?Z2EJ5Lpwxs0+hT6BdpF4Og>l zTHQpYQiCajuYHDx_}49rr^ONm3{_U9@U}-D4<5`q25GR?BW3s!E$u0Iw$ceRJkHi6 zhH{7|Na60|Ua58QEW?8?Y}V&)aKx%6TEj5`1wK z9QGd(z%kuI<){fyQXc7`w?i|xHT^n_=1m>G=lSK{oNW92ZTqXBwQ>afTLdH0uFHs8 zeKqr*n=F%IYN%Uu1NkkHS2RDrukWNV;@|zRN)iYJ@Nwvu#+#v-Q9fjlE_s)v4!+!9 zbq&*{<|kZN)kC3nwFgT4Y?CWJ+6O|P=GKa&uE{&HZVv97w@ux*7qYanIGRtSDzVsP zbtKdBxc@?m*4V|KH@f{A+{j4yBZM-i-MD|kEyL=r&!`C-M{lZ$>Ptfew_&R4=SF3O zB-|vAr|dz#u(R{KfK(zYZxAruB|o74`?)e1$ecMw4fM>oIP5BqEhlmfUi8{Q@&;k@ za>6Zx%C~#=9WA(OT;z=l$#h-u&wkv|LM<>3Fk~9aIhI~Z}8-4$MSBfr<+lUTOa76Y;Ro1 zXX-Ku{E1BqOh<$@ot<7v7<=Y7bM04nmEI{3FVOowaRfr>asAXMb1@O7as3rZgu175 z7YPFR-h-OUBIWWnJhBCb)5WBh31hvpYU(OHDl++#QlyFkF)s#{5jvTdyj2LGWg=L$ zBeJrzs1k>t{|dDtyCeOBF#JNuvZUb2euBzj>!Wp5hSQ^@GLfe0!N3|DZI~^hrCZ{w zT@RLJY6ra+I;MO5|Ci~~v!($K#y<$lS;zP6aII<68kpb1T;)O8y+U{2lg3Hr+8g5pN`@A0NVa2hbV#o?t8;CDMq`*_3el!8+$Cp zOd2CEz0NrnJqR$SdwfyRfe(6ffE(~nmPinDPBLCk(>))G2nq_h<4?U{5RjXxf?A*( zU~>3nx|&G-iqvArG*B6H-+u~n?YEF?N1t*cizO^Px%o1eLsS4YjZPR#3=8DaAsdpC zNRsv+HT93`H&#S!_|hva$nTveO|ndFvHRHw!7A|Br#covJGcA34B&1yJ@j~%H3s<0sCH#`e7==sBv-zfggS{OuzDNmk3 z%G^rZzq#PKev{F)a4MR#kszJ;=P~(v@)4w4y#1Tu&d3iw!>?|nxQ%U3ecDj#ZpC?u zb|$+wsJ&$l(n%q@e!Qg%g>L*02=+R^WvDq}^mT@&4ngNjP!or#Khi5*@g1W5{t<0s zq%5_@8h#p+fsl!89B`1T&1ds5w5dC2KK=cedwC6>R0R{)SFk^PMLTz~VW`g>Cn z(PiX_l9%7uAch=(tPn33p^dP)N`eS-TYIA3gyC_!#0c-Y4m*==v-MKFG4L*;YopOS zO2oZ=Sc&Yswg2QyVo2yR2us5_m82-=Hs9gpC;;%1Uq^QXWSbdeLyQm2c5;xAk{({wsgW4Y{ z^WeS3f@9zVaP7Z*jRB-@PsgaRuJil(#(7#Z)S341pLuL%fEi`-LSP~j0&&Zxz7kOc z;r0fZ-QkyBtd(dHF;4!0eHlL9QmaG%6ZbeR-Vus$-54?pNuKocOzAZnDzCxvs){lA zhDpxPIyqql7vKqYSj5#YF0a{tR1$gPn)9LiaiupoWM7pZ!^4As#~|AGJ*Lo!90$VI zS&RmIF?(3XZ|~w9DYns59{qxCzgn&ERc{)1FH?(;*dKTZK52D{wAAc<=_N@WqI>u9 zPyk)9(zjqNw#>~{t7U7snaC=#AA4Tiz>=#-qB(oVQDR^_hqMhoO<*Aj{R$U5uf7}~ zs6Tqr>FCVmjs!9SS*r!W@l?*=AalVacIuhZ$_lPs=CuzXc1 zUM`c-9Y4gcQb4VVk`KsYNhg}EvKkmxho0-P%WV?)x$)o{k=Qg=50v{KbeV7bzODE9 zEg@I}$Czh(xEA2(^$Sn1V z)3r#*F8)8VzQUpD^^2Qrgo=O@K~i*dD_w#yVjv+Q9V&v9prn$sn2N+GX%&!5Bi&5J zAcX7al8Fi;4btKJJmdbn_kG_#VBbC8^PKpcb3W&M^DghW$2Nm?K4S~*?RK3oAnk_S zr@H3NSjwE4&?CZct!7XfRd!&e@H>WUHX3^oP=aYkMZX_=e6x{JEy-kw4j29+xy1MC zw-ukJmNTRWL??RCBr7?eCtnV=&;21eV>CtW?m&Bi2)v0sVE(xHMfF9{MIsQ|tidDs zs-IIbhY+iJwYubU4MqHbOGs02I^^i}uq+g7$L3)N+1gR9QW~%8;)MSFI@_zzJ-9y< z%NXSa=OtZ-5aFpV$N81K4jc3Wpb>^oGcKQ{JCbyY{lIkWEy)>dbJ`(B0p^%;``0&% zY5m$nt>fK?&hc7XK)u#K|9z=WV<}~Tw7?CJ+HL$Eel2XXG6_TK!&jPzM}k9ihbvU} z>=OXD+9`VS9623Cy%W*?LT~E}LyaLmRJivqRzB{1&)Id`fej5P@_5qoZ+v4)tn=bH z&wOuve$1GZ0~;kKl{}|6DEg&)lNcK9#2XZr4elTM$z8B*lr4LyL#T19s>9WSY3<-h z-3fNuqL^R3wSC=IeHkst2lX=o?{xv`I2q!=O6ifh(nXV_Gbr$-UK_=YV#(qvV}x$s z1V)`*%zrvwmY>Eiu{Js<|f10MpX4_G6T28LG*Rhd`)Vp3*JPqLGerd z;h1~U8T30(T!$5?w*tt?!255#1F6hYSLfyk(nZo^(i>uA+%LROn=9a)AeldirZ84t zAh-G!GaSVjpc-RL6d1iCv+_bmXU0Jz9P~QJ92KL#*{WLIV=0l7O?mw%tRB@__`c>r zvLnq9Lyo%i(q8sE1Q61a#oUvB zB#_=1Da-%=3AN)m(m}m+NK)PGJq3M&6LfS+POTp!8br$l^SW_f38mai1(SJ+0<%0f zAI_R*B(Qz^?f)d{vGBj1>h#D(T1Q3CRH4Z_;tTzg0oZd$1%@Iqqefn@imV#r;>+E) z(&-JvjB07T@L8O!A63x-LT@c3rORs#+d+5-`u2|~%H)*#K9jBx$8}D6Ve66ZSihdD z>1_DlvA=e@r#QaCaa>{v2y3e_$yW$b;&aYFfvg_F}8(*NA9 z!k!JZRz!PXQPv&SYv*Z>VshV7`kB>Jmyq*} zIKCej^S~2;+h~6={wKXX@GD>TQu*T#m0(TNjlT(NswFaBp7=!`Zh_c={FBm0>mFaa2u7b@VcTx<&8yV_FU%5$qH(V2rPIW)2 z{MN5dBDWW)Qyt^lT-NgFaqZ^|gm!gD2J7)O{sjc3kC<>y{`Zp#8&s5c2n|iEUczK**N1LMx^N&4pc83^%&iTq8Dr=U zx(V@kI|jCVa>Qd5yJ%FAt9l!G0KFE0#e^dy#mOT__b6$S^XS42dU&Z(@;}cioK8a5 zz}iXb{?wuDZ)^@G4t@@1APGO)fv^#BnZPV1qS1$uiR>b2Olw>v=40y_k%VFz>xno6 zmQ-n%m&iBlla(T`hvfdNas{JAf31i`I?8wE;t>w?gcd;N*Lh10c^P*Eu!db0P>R|`b_pGD!(Lvs; zHz%JAn&Uf>8j{C(AHhL)LuyEVne1)Cn&^OhQVK$wMiDVVlT)6{RLXoW;}FL!R!TLfDzT!S z&rjFthZP!koOERxMXEE@N1LcH0j6Mn*7{)mEY$5=rjs{dzQ@D^j@#>5aUTu5G{|RI z(Sh2{`_M1JuAZJ}3LjJsh1fX!@DPx+@jI#Pwv8CLNW58@SZ>@}qh0ug)`8RE5`OV* z82`{#4NSIfwOf4Qgi)7@W414}Arcy{(j8Qd9bG>z=~bPT#kXh`jvK#stScJC;CFG} zQC4q8d^Bi$%A@qG+}bl>?rwQ9Z}=~0e%wmHTna{A=OX@k&ZaZHk0-^X7U311)pJn# z;^ER6fe{HB8-ADBX74Da2JB3f;77Heqa&akae?LE3t)2OKv*6{qwA2`6LC`ewyekx zhov4q4OyVsP&wXM?=XWT845JyF3;umeuW~+HCtDv=51co%Vcur zSQxyEt}~fVc;F%G_xbFnoAz`HLZNldXGl!M5aG$QdnZ^xm-6N9DEGZ;B9p76`wtSR z6@lDcXbmJZRfSiTeLj7!D`Tq^G_?Hpc{o6kgk??Q&-24%i% ztq(IG_hU&-mcd#bAeL*4O2^ijv zJA@WSq@aq&}fqEXEFb1SgkG z1&M!gX;Blxe@@0=VPM}TCI+g1A5`deh$bqic@tdjwI@e0%nW{lp{mVeq)tJ>%|Z)t z_kLQXFwu*z4Ee|EGFy%Bp{Y`$A}Tp})uTGe_Y1O{BJg`*jkJn%kc9U6J*Fn<^&*Q6 z98aQzcYOrKM;9XPl62Qw8_PpqKxacct?(l2#|-yPcvHI=`l^zkd|60x&1>1RipIYU z6@O;zC5e;tNN3RtRgU5kPkTg5s?{+>C%rcJq?m{sNYIqo+X^DG|L2Nww#6g| z(32SYjz+u`@k-0O;+F1Q;E8COU91h8%So5R6w&u09=an2!lqLn)n@HO|5s4dcY)zv zIV@kG@H5GVro8fgP=tG(mav|#)yw-ep0pPjc5I&p8RF_**qwa@|CB5q_+x3$zuv~w z-?^D!8P+B^)Bkr679`)=KSJ`GkH~)v7BAtNcf>F9=~xxtzmm0&fA^oMuMA7F+uf!d zhyi_84WdtZme!yd{}{UT)bp;&2l@h%7G1-kv=``hl1x-2y%Mqn4@$oRz}soE;pLb& zlpN|kjF%>?Lvrs1;|ugavLobX`>cj;rpeThCPd0*BYC_rMIt&tF2{$R;)-h%Nc{}$ z>Xv8jS}L?k3iTRYOTnwlhgl0W6hCOejLA?Q@!HuXPdhzYcTL{xBn^_d`usyUfy|JZt$`{DL2?-VFOAHbEey z17PL;-tpA^*y67g=-@uVN1S~_eS@CkW6mV~2jjoFK=Djmm_xc#inMIoTY7k280Xe^ zeDxElhwi5nZAbjC7FzEYKO(7a>5!Q!#Nz+Bd(-810-qLG3rSBZ+uOTfN3p^Qci&9F zV(TG7yJOo5I*htx7GQ((9B9NecE^wD!{ANB*mAwR^+4)@MDzT#sF;fylnl*O`0Z$~ zp$LRWcs6`EYk?-okJLb{G&pW&jb1oZqB7r?N*=-6>n1CI8D2%G8cj1chFuom{rgQ^ z*Yf=I9-xj+VOg9XI#zS3woP^88fIYLC6drL_}jY5OoCzS#HZwOq(QuoQ|nQOatH~L z^P8#UC}bZlZzH9|&pU(Oo$j2(+J|SvMq9rlIMLgCpp}%NmwwF`{Ck0UrTSmfUxpq) zN70BQ`j+dTi>f1rC0t(Jz1%2-Ne3mAqE=DcyoyLo){bq)(iu$gp&&l$hL-pn_n&fKa<4e?J4(Le7WgrMPy)6^GB7z%gaTaXbtGeL*Ti%r9c3tAKmjsa)< z`Z~UkxnfITzA%+M0BWd(NnW$|C^w|x;UGsw%GPc3XSD#*NEBM$3h0FpWLI6m+h$IA zF7l7{5c(gwr@Up2zp&gy%d_7`#AO8w-dM&SqiRz+WeFQr4o}ZHOwX>0-oud$8Mb=Ymyd8t&Y~bP6#L7B0Q(Acu`^f^mfe6Quz1G-fFxlTwRzdeox3nooE#oMo^vbkxtXKrp zP)lm{*%W5p+i^ZA?<@*ExXr6}T=IR*2E$uIzBX|mH|Z#0B=U;X*iIe&(A|hCpey*4 z?W97HzyZK0YkZCi9m>n5BVj{{IVrF$i&62AhPB|ba;oXP1u`kf$aC)!>E=9dimgA0 z?$c~;ByEN<_3owXTZK7vzl&U@}L}(HUe1 z`iB8a2|o5^_%~)qZ1EI+Q4`-a#B+6h1=|M8jFwL0N78-&z(d0p&n}&8U-maYNtfwb zH7l=tc~2w;QyvjQwVHGAZ^Ib8TbqO@+xAX`#1)(!i$Q)*LB5Y%FIzt-`4*}+6%rc3 z($= zOc@4vn569QvcOyZ^(W{(31YJ?@9?x>QmUo!Pa*nnx7@~jw~q8To|;SqCBZNCt29&5 zp&@jR44yl>WMmd2Ka`9F#C89OnZ8!`5*FrOBY2On#C>X|0`u0mM*?>5Cr`yZ{lZ9$ zjL8ChSLUF&OU_pd_6=*Zw`Ng&R0Op8e-3iP2^(|#DLeW)SBcvEd*t^el%kH6`hv^~ zsz}7Big7@n8}}J-lIR_xZh!Bhk9l$#SL`5Q-=MZ>TwLrv($03_VV1#S7S;pXEH2pTlp zu}xP{4!)EqB6EzK+wB@@26g+AAQoKsvWj!tBq{U3yH;2vdDqbES7+BTMy+MrhV!+;<9FLr7qck$=4pc zcP%g_kcFQ902KzyM5Li%3+Vb8YynbY-xgukzBdOYMf?S%Fv=3d^Tgt*4aiG82EL{` zBc@PMzhn#!0}-?bIf3Nu7=&EXXZtu$T)+xF%_ zxR;bfR40E;1=ZhIBx|tLT^hx*BI86wUwPZ@Jk+doHzedPzRL4(zMI7>FeC0Fiu-xp z)^~t)&EMeT7O98$`SX+``lTX3Vc{S}K~3PSBwy8cYBv}2j~O{M*u8%Poy6aP98fa5 zS)V=dscRV>dvF;HA^U^4*G_sp%3=$&u?953NT&O+!_97Rd_oVsfTKJ`ewRfh;;d@>Zfc8q_qeD+m7z9fcO{Nf;SUQ`?Y_2e z3rCh>8_zYv+U%_dTuHrwdPm-aZ34+lZX`=OU1wB?;N-UGxL{pH=3(k1pygAgu9w$A z;G?PX{VQXyk`|ec_}TPg;~+$>?4&~5)^Yl4SJT2{#v~$U@EV8zN{Iz-)no6t5BPbn zDlGk+rQ%LK;*cEX(!qJrTF=1#18ZNOrU|0a(x8ML9qi#u*9y2er_421Xnx?107*0NqZKh@>9d^kD9Rl{;o)?ba!TH3rL5$4}(^ z`U;x1d0P#S)8`CNeJT{^qwR?9ZtH|4yz-~O*n3$3zIH4#gJC!KLSCIbm*BPuD zT>*+`fBoRIX(o~&@j~8le;{!B(tM4j0>j?I`TIvERPS9|2Q^)f+(7{7Sjs`u!GF+m<_T;YxCwe_h=f~% zwh(@m=KbG0B^_vSl(}wlLwHR(qLS`8g zbWET8d@|t)4_X`b2zl6F#F|d&NWeL=Ah9wbZmh~MUbFcu`XzUX(#W0LEU2bgL7fMn zahb`O0MdhFE-#5)5bs*fQR6l>kxeWelH2F28Nr5T(Qc-9?7OP|>6yEV!%2!MMUgmO zAY-nJzOIp0l^kJluv&{eeDYic-`k>1+9!{v+aKQ4jhKVLez%wR&*S(C#O}eEE8&2q zWTld`@m&m#Q|}BJyMe+QkcaZl9RMqXtx>U{;-KMm@c}c@F0=#Y)$Krn3U{fc4>>ZG zWTJ|xy%WLmY|oDalF-OsisWM)V!}D^S`pyg4QR+(GnjhM=-${x+H%T`}_V z-&5iCP)DGtYd3%n$Zgbxfe zR`P1=^z)&DKNYhr!l-qW&s1&)FV*Kg29-K?w6tdPVZ0%Yw7+ODqu1>$6T$4Y;}*J8 zM?3h#{E-ZQZznvy5>_S{zeD0g$Aaae40>vnOxZc`UhEPD(eg>G*u00M&uNd~e zBoLIiE!YCoa(vtX$!w|TWhAK41z~x#{0b*7+v;kZd08ej_;EqRQutja9UpoiK4T;# zVfPBDh;Y{|M=M>x{Z-M3NAm?pFl`x-iN1w`hS*_x3C67ky@4FT;QX;Q78*CyZ?Uxx z#*U};g`q|EszRpKKbCD@m@h7aia!BD$DC{s&>m*w`>f;2Po}Tsy{VJTY5*5rO02?HZ5jp z19E~cgLcoiAgr)56^qUE3K}owSprFY#V98nKD;g++NuQawlGbn@W&^AW&O zk{WG+j$g&qI&1BfpNrMNpOk&hs=ZLVFqQkUz4rWyWp8_dB~j>n{k`9lgePSk%RU&F zV2UuwnlWw^QE(W2b7WtOj@9h~x6^d3zmWw8(D8NWz?hUfZGHIkotbs?b+^Qg!y=*T z9|-1{*L>+8-ECs!gx`89{dCGCR3Cq(`gF2>+qat2z`B`})N+LKQ`yWaV6>QAc z?t=~C1(Fjogt5;+T$F^_c9w&?4*7OMB8f;2&BZY)@-%5sQ{&BIv?YU&$o6q=-&M)jtv9V5KqO4&)l7xt%!cH za%Uy;MMW`1f>Tlf&p}EOHYG44o%`WfY(v2m+To;w@hj~MwAbQ&?q_Kl7Yn}%ErwV2 zGn^*sJM5ntL06;!IFI9qNaQSEoDl|dO?Xr0_bT!`>j&l}wZ>je1p4}6FXIQ=FA$Zq zk$+uOZt&3zgRt>*?QW|1&m%@&oVaB7;_g9Jy`Rf%*9~{w1@-^B zssEc^A*a8Fo&NPQ{Qs{NSC0BxZ*V%^fpx zHKs47Jzoc-8! zy$7JHJxA~NY;!q-L1!=%zdTGQ!8mL)_EHg*BUroA1xrS^Ccy9RL(bq-xG6xofaQA3 zrI+iSlmtddtNA)8Img=SHc7jr(DyE3-6YN90^E-{%+Ypj(&z!Rp*r4OP4EQ;0W4jx0x!*6^H8xoMTy;$Uk8PlZ%+Uh#dNX3<(L%FR>mv}zV9v4)7bUE#z z$^ZKdk)fCK9EGwhn6Y$%#o_)v0mmn5{1J+}gN0iMV^xp=FWaWdqJ57^SgoGHjImQn z4@R}`vypJw+}E}1XTd!F|AbkZhMv%FHnl&;KX#^6l9K@;?R(Sj7DWU%@yl&UYwAGD z_KntY+M>8$Mf3?iPAwaINee{gMAPw!`%o=zQR%$85Qg!!-bYteZGt8D%9utic3qnc z*>~>&7hmH1jadQA*i{EX3i7B*TmxIRE_uk+uEP>6PfZ_UP%v`Mk`{Q-;u@~pJ7!QX(sfNi{ANy zUNwTp?#sesP$~Fm^z;JTJ3h$7*(C%*@1Y;a|GgL8Pnw9^OImH{W33Z+6q~goX zTI2;-(f&w2)a(zV(*5&~llzW?B{Fn=1@mjAr1P3Da*wZEg$RloBcU0|dvpL++Drt8 zB*p;r3IGL9f!C`xOWM>z?_i?M=X@aAO_1D%Mpw z#=_lGiP!1#gRP?&Oa~o1f_ctJ=CIe}ESBCAp^E5*GuUYs8*=va3?NAwhZ^xVM1r+! z{9t#ji({1s4-dLdt2tQn{*UW>A!e%A8)<>n9c~Wl5wEE76H_@q8NiC(CQ_BW6LD7& zVXkLYTO|K&O=7^0V8G5`kQWHbCeB!QR~g}e((PilOCRY14FQ|?_H;utAZ<vo^~t*}@Rl2+COniZCKPgApNF!HZg0L#p^=fUEi(CA|&0 zd|p0@M3*oyq5n*f4btz+K0~db{(y_$#mQmgV3Zm+TDqqq-48Q{rD*forNbt{PbMjs z<|Cv@TRZ!M{dvzS4#9sYP=tcI3SF=e(>M0V3e2?WQ}ct|VUGk0M<}-l1R4OtW{p?$ zab5D|S=6H4@;hgsKz~zx2Uou&7x;=otk2vTkau0_3b)c~764Og8_a@Bs0{aOnp6tI z?x4m$f6`u&PB+aQbgv^^q=VK*U~=T65hk;9S6{OHT|Mo)F_19+*GnZRf4~2`(FSm z{V4`F~&nO#_+)pe4=mic?AHb$0YS4miX@yW<_paZjRuZkCw&2PV3g#vh9s?q8 zQy3Gz0gv<0O<*vH?fwzyiX8?3`O|F4$D83ZR4LaF;$v=1}3(mOoUSZ#=!W&u>uS6YV?ApHIBdF8xYHb93Gz_}}=*7CW* zwfd}Lg?bPvbSWiLf_%tpiQT{SxxoqBZ~f=6#hb^Gc2imw%++-t+w5bz1Hx&&4tVJ$ z_BkUA63au+P9cCaof_bsoo$2eEcYD8iM;`NMfZM*VRo1cXl#bYzc&cl9&=fy?~~oz z|8QkOJ7Pr=7p@2x%&^Vdun4((|Gb>K=}AsBYCC0t5I}Fipp^Ns%?;R5tr@wO_`=iS zBnwU5VUZDS(3F2s7^r`e>&NfkPEJhJnhn)}vSiZGs2a`71%v>$wL@M(;Y2~a2|irV zqnC8cfKE!(s8-UeGK5S#up?Lk!l)A6%CQ$i77efon=L=LE+aQ0{7E7Z=gM;>~qGVg}- zEV?NAbKxe{$f+HD>OUEGrlE=If|KWPiaIK`VEc}MlyelMrQQeFX%E|OIT zZKGvLkPA#Hd#kg=AWiZyHCfwLb+FG@Kwo+iLy@DfIx1QQ9aLfmC4}q5&rjU50dYSR za3j4z1lp5|nT)1S00q(d+ZA(kMMOFC$5WzhFi+ndPolm?x1MveI!Rl#y8~M(`9%uH zZE9(uTj-`xMJx5g*zai;znh(QG#!5v=p6*&?FIMyLf2EEnEU1qr@->YXLqNByU-08 zOFL_|8&i_15QlX)lCl)zpNQ8Gp6qeow*@*cc0`4|o4nGZk%bSY7eNSOaJL^@uff~vsN~A~+hd&! zDJ0-RkfW{+ys-e4fEp3zSqGP6Xy}!ljBE%M-j&tvcGgZ&BbjIy+k&xp&=Xy(&FO{F z*(h*L_p+3A)e}vzLA?FUA{i^D4`t(}R!T(XPDbIQAqFs9iT(HY^=XGpCw84br1jKQy6s?|q>g z{R_I$7r$=UHM;@cc?s`)EOAL1%dS&ku~?G@N;Rd{r*~w>v;F_xc7LD}v^U`CsS#!X z76MOrKnK16R&oCC8HZ|^GNXIr<5h_sud17xGd+<-#9u9@Zn@7ZMjUTa<}TX}YLUMX zxz-EKuxcFWIib4KU+dz!Gp)F#csTW|11?9fy0NsBuqHeouOO|@B7vJyF~Qlp zJ4jZ|H>Gi1{)mvPv4y?q$IjGt2gIWC+2@>TNn2Nh2?Pz4IMP0||L}kzLJ@b%e4xhI zh1d0_AB=Z%I)nN6?_kjAVTW`-T(LMTGKgC*v8{9V@)7PmI%#X#cL8F9n26K45X4YLFLU`QWA#Sg?4ZdCVB9Ny>S5hpWME15>tdo zppgt(8|r%LzA3UL`Xnt{1=1G~jzv42fq-ZXJh8MK9irM`1Ld`JM}Z2YAu z;zE_8Np#g%@)`N!uR0DcgQG@^87dRkV0`*Y%@%fbNi{s;Ol+?NYXIU=@cKMED6*xH8_!+}q1>kLJ%GNB8TkE15?_pD=sqb;y)Ei6 z0lcjXs<=wJBzy$kMG@M#B7 zf@xw4Xohguj2c&xp)-5E<;WnNa6XXZ(+!dNAbjl=K-!SBTDqmOuI?2a-q-l~+Zirc z=X@vo#{^i}MJ+W%F%M~JPd*}S;;-N}*hMnUn$RQ@6bR4dTel?QGWcZk|Pbh;L|#;1&@B^8irh$}AF%skd% zf#4@Kv7;){ml?sSO|X*&3qbB5>6p*&GxdpCH7S-o-B$Q!6;c_m?h6ESqK}VvzHSHg zeg9~%tDpSiVJ+dB=~K95j!P?| zL}g3S!U0;EbF3Snk__SF@!GXrjp{AKl06W-qS0i?P7n=!$08XXndM)=!BgB>X?y1CiW2-8B0j=8K&m6fZ&cxRA zkx!lwf4}?JbNX^Wgw?SS#^JtfM2y}b4E|7087rQ?nJe+!CfQIE;$9o`9-0-Tz(F>Li!e9_0dk%3eq5P7pcpE^>j=VhPJ|Y9U zIgu4 z{ri;)&$e77cEroso4AR!z??6DIzfC3n#DCwam(LVr}TWJa4C8!U{p^~(&nNE4s0(4 z?Kl5#akF}UVc#T{i@{NT)2TD@3_bgH+0mSM&F;-F=yxwX2DKOWA20~l#?M3qlwfD< zz{-XZe4qd?ze_D~3AE7+Y4Q<@-{Y>)3=2%A`4+oi9sLCB{L0fT!^#ALb8_X`sAet> z&HNXXhKGPY&A8NhKT6P5JM_uH62^h`{c{q^&Ii#8`%Bo~!6Dd1~0aEFu?2!YMyHV_U8ba&(PnL2Bq1=FCZK&Y$+nxK-SjV%@pe}HYCBuRjY#aYra zsgAdGl~yWF&g7GC-qm|TX_cD$`*q0UOclQx3Dvx77*>YUfjS%USzxS%>eZFgfx0%r zQ1sJOEZeunJ$42P{BIW4{I&t0Bw<2D=$!(CX=w?mABv4U&@{SV@@NSKmR^ zHt6JnJE2=YLzW=@qT>^9(9et|D4~^d^&W)rAr$pCbbc)FsLV9@I_L$Dlg$+bI$5H-iNf~W4jY;C*wSW;Fj`i?vJeuDN#W70{YLQ!t` zgYp*#F3?>2asF0Z)_1O}E^6rO0wtLF_NN*w@Dj5 z>VMxLL6{sFYr5*04Tm>AbW~Osf-^Z<3#fm_8s4d>td%(DCqL=oGbao2h=TD=@W739 z=nnNh9lzv*jVQ`y1;aLbgE#{ewAXt{kBP0cV)rzgxg8aQ)cUhQ5WIoYWT7jRz}Q6* zz~-(2f>QOXY&bTk^BrjKuChsKhDH}(5xZ1EsAjU@s+QAUHwIy>(Z;BQ+-o}W;tLRpdltliyQ0p%%5lE$Ci?3GLJsBoGOAps=G9n3SWM4K)% zOxZMmxeaMQQEOU&EjtB!wm<$fS_0<$*wlA)9(u(4sqlr`w&&&@{$ zNI;3rB5Jm44-I3?_I#7~$dCeN%pHX0sgt_G3@b+&b%o-~1Qy||^T&hV?#hq3?EKc0 z-dCU-n$7nd&D~dOcf55eih#hNZsctkO2dxo$X<zHff?XPZA>-{;6N~qXSKUu+2$3iYywYp=(t)n|@;+h<)HcGJi8h zH)S71up2tS#foM@wjrX%MKbnVWPXm6flD-GygZ`F=Sh~Jaod!i9&8GW#ael_!u&#s zrmM@(oSbZ_ZlJ)bq_OYVb#-dS}u|h&WP5=GRilNhzE`{`iT+@z}mr@zh^q^Mwv-bfeuRvbN^01Rr z?2$iiqD3c}Zq4z5cKEVmvjh6N+Pn+J)3%j1Rbuk&N1u3o9h$lo5$hvLCgg8S<+MGo z3I0T1z{j8bU(>WlF37V!K=U3!QpJqJ}A5jCf z&Y4w`VOL;*`45%%m8$EW%`Iwv`Mx^cEjQOAY6e*Wa8!F%btaeq-?q8Li|F9 z(4nY~AM*>&VJ2KEN;jTngd)UIof9IzMZn0DBx@zy+f$G##O${MjD|@R-YS`p0@mdv6=D93kM~ImBt~BK-z z3naxT^C_E>-w7r_fKzrOs3K<<5+>*lyb*ua2^k{+JZq=JqjKmv63bn@c@ZW2UQUrJ zF(aifjbE**Qvd8vBsS&I`gH&;jGFLU3)ol6x7K&HB;z_5I*eCt%@L?e@L53W?Yf75 zf01Wnri=l665g;rl^_MWd1qXkT+cad1f2q%)`Um~8dN62Z!~@et%sy|aCavjXO%ji zOiD6?MH1s&nOWsauR))RrNl6iI0>2;lHEpn*ybgYopRd*=w-@zM-IBQ`NM$9{V915 zKMABe?$iJUj{41?*2^lfbAkq}jl$pGKmcB%dB>n8UgO(e`8WP@Nyh<+G#*0F(Ol-X zfXd0l2{rBE8$zm8m8H9u!sFvbX9vPtDzS2lk1tJa5#|svOEJCz!F65X#21-^y=ggO zYHomS5k$yNT81D2{`NLzjK+b9lFclbf!GnqjVbN{pXnVDRuJ;BNSqN^y5K%B`LHu3 zN&hD}ZJv9MtZY7PLuSiJfJJK=vE{zDbH!p9Dd6T*c>AmAOFX@KUkcCrbqr48zp4gZ zkdJ_IX z30^RwgOH=a-vSl&tP#gQG&v@f2bLr>l(32Wo znOTN?)pl${f8WG7uv3OXk+R|;p$}gXHsP%PLS}W{JmZo<>$xOJ!H(55L)rN z%*kncES|m>N@({gb>oje2QRc*wO+=F*ApzX{#u)jZ8jt2k=l55dy&i@C5b3TwbJAB zOgL|3+XV|aM8_F%&4CHTgMn!1H*@#*wGdeGCp>n7TtN*>wY%C+6n$N?L@lifxApW@ z<0`{W@u}@%{7CM~++m;rP9MPs?m<{R1~HB?X96gJZ!xYNocBqI5=MoHPdeZ#Y^ANV zuxh7P#ZQ6^%n217LAN3{{~?GJ$(9J~I8?9T4Q{nS2A3HoDqjD*w^$Q>U3{LCQp+q@ z7oGO@xLI0ooEI`J=b(`A)Vc}Nuj@iyhN!9iFh%(DYl(YeCTJtDd>BlTD1*%pCCq}{ zG=L~s@n+(&o4%k=O5~Fx)fVJ%w^{xVm3DHl7r?ny^^d2f-of!{s&h~T+q**gpMm1E z5ROsqlc53l+Wg$&dOaATR6p;`3TjPW9%*j-VRweA1`|*X_H~&BHGYEURvLH}F(ZK- z7Mql1s_Z_GjX*UTu5OM`05Xi}ca@K7$;pw_bAz96KrE_vaqwZMq6|Qj*l9+do-bdO z!Gdw6qcTy1YV;ar{%T_BK$x3Aq0wc&D#S$J^3G}ScS*3QH3elRaStaIadiOi&W%;= zf}N0MFQtAN%q${gAk&?mQkr}=?j-)Yd?O$H)#-_;G!vNI?kdZfp5vEv8rdtDorVvt z>4g(p!ff$%!1^DTO>W=W=qBAHDimbmd*d^OyBB6pe=b}+&{pq z<&aQM3jxn9-iWXn&7Nj;oY0x>t9|FAgKfU*;7v(7lARgWB^aFZ;)37PCHY*@h{A;t zfIo<#JzF7vbWYUtB&pPk8TCO)=rywz|EY5Mn!_b;Wq z!#O&O3=6xweK^GmVt;<@_NkGNGL9w(A6>951N}RBOvs)faqabDL0+S?Ea3CgZXgkU zPTG%NSRh!iDHV)Oodh90fm&gJy}yLlMxYJ82L<>%@xOW=o&+RSq&@u($Ryx41aWiQ zvgci43^%%Gj!k}3seFQM?k5C1mA93l+<#aMwLYPyVSE)v;`@+Dtanl5H9?zxd)bsU zKx{n!5)gkx!Juo+k!;zRdq=I!;1M|(rs?ZbGK0KJQxu%?s>ErI6s=Jaz?GlsCN01r zDL7I!5$w7US*rLky?19c6JYT{6XWa<%vc5~G3@u$d6j)i=gFM{xvj}pG@CU^IbkW@ zam84_@weeWXYy`5p@6Vb*8Uy{4;+eHhN@uCor;K-(opXS<-hcL{m-A#0&s#su6l>}~8ihpTE4S3Pq2tKPi# zrqMJ1DPsMVuGHnWtaqH}J{t>Pu}p9afN%a?UAc7vaV@(1mj28d4B>Jwiq^OPbukBW%$NM@r<6zxeoGPiL^v*!;IOAYbq~Fy8w8v|;~1&Hkkvi@LuE9E?GS z2|V9TXx`%nG1s}x-rTK<^?~R&AACCHj~Tr-O65eH!VWXJYi;s1vJlHHCX0mZrVfE? zvYS4?aRLx2GtO1`fzmL)mlj?-GPd0HHGAGUt@`eLrtP~fazlups&&k=+Z=$A|lES0HT zO5poxdrMtnV)u1-GNndeohh}JOgAWROtRFN2Wu&Nt9IY4R{wGdVNJY5i8Ujsgx$-n zRaU@iY6dmklj(kgvL7d&WmA_(2spgPK0kzvDm*qBxHn-H2-wn>T2q2;V`DH)Z5kY+ zhCZQ!Q9wk3VwNFlRY%2=EPSxYpJt}BfWzIDg2d@%St&;K>K|1_hO-4sJK*^8tIL5Z zm;Hp}D9cpC1#S<}6Qc~6U6-6qXi`wCxIug4JV{Iw!td#3e6lP8%vBtJn@qR8r&`K+ zrW{a-^MYcn{8HY@vh~WzPAO7R@UAY&M{o#=uJ?i6o*I-DWCWfXYMnPn z7|brN?<0*01dG1Cguc#GVjES;CK#;o_Le5LS(YU9t;x^ZAJ>*>Q#7skcX51B2VmyG zt7?Q&%G34zd{z>~;CgnnHF6a3&POB#?f@Bl(5uF^c0H<;U%(^nQUeAvCPwK~ZWHDo zDmvl)AR7h;GxOCXv~SbsZc=%{EbsWGWbB+vzWmGio0ON#f+na5-NECZZZUk?9yCO} z*WJj@5;ZBXB!!Sr%5D>=NYR(~se=BwvwF7h_pH3^6b!0n@&&^D^p6O2Egfg7LB;$K zX);%c-3lzC{+x{^8HTAQ*I(hsyowMB9o1eQfv}bMf;7LaF&}Kpe}ge|FsxNPIVV;y#WN|kOg%xC1ot!+uB>5R;d39v;l zd*Ry0IjHp1;C!Jcb?>M=X9*YR+?%mBRuvLB^!$3hFW9z*2u!XL#ey3m2#4{W#5wM^ zdtttL1?Hp$k~iJYP|T$FNmqEC+2>asn-A%Guz+1m(coh8U1zyIE3?ig3Kca*5UvCJ z_0mZ!okI!>?h&{~&-}qMq$Gy^jVvG4j7iVS|-}tH>maN-9y36NsYQYXOHSVB51^pTwS;jPMpK3 zU_M#(#n3THe-p81P*QkX>#-4l=ofTe|4O=5D0zfcj9aVTWKkL9F3`NG2NKsON1V#@ zU@b;Se=iu(Cl5e}<7bV&zIUEY#gnh!j{NLFZ!NdQkpLC#^(ujx#7iRz!Kr(;UTP22 zkcjB(f#IEPM;s=>D$rhGL$SzwQIfoK4JD>*w>df~f~yFYWkdUe4q>N{$a+kcJ%|h^K;>Z^u}QbQKg$Ke_F#svw7RmgfR-V`}E132Md=ES*~5ThqcBUqB;=H-doj-YbU%^ zN_4Q(2hq|KL9ohe$@M4l$~^AP3qUnNRb7xcch2CcF24*a$_!fpm`%(nw0G z)CPirl2VdR8l-a;lV%_t3KK*+1eBVJ0#Z7Wj)?+N(ug4PJHzMmJm1&v{)>M&JNLP- zbLIPbUm3)G?popK&83%nwVwxy2z~@@0QSSxdlx>>hqh6HT;eTP(xPfZ8Q@um)u46M z?bb}l4RPu3niP;LnXlm)>Nw9Js^C5_-GBBUMTyPSRN1P=eu;J{F=$=xB~fxCk&8t7e_)WZVKEI zOS}r)i+YG^YT2}*8Sibr_$-LOilPi+5h(WS3EmbQpwj4ypy;gFv_26X;APSM3izI` zXmT*{*9JX}$k9`S`JPw{czL)MT8MvZ81%3zNg1%D#Hpq6NTNHzJJE*6Et|*LDG93S zJMNrv&mfVLZ^R>lk0XN^D|p0h;^!dmU=xEwgIHF|w4o+9B3|%>UjOQ4zfAlJO9d;e z=0vrA;)V=G*Pjm9F2msO+Rtw1K2jhG+QAzekaT-MOBd4 zuL?XbbLGzy4%bv^<)E7M6L9pytM2pU8i6DOP)vVa7uM4vLUyGaJ~})M%b%Y(GXlL`^#i#-+6yP=ab@sSJ`_GYa+g%*^t*fbY)vi*fir-^WBT9yqo?E&%FJ3ZEMp zIICzt$aFcNf{&3Vk;3lB+OI!2MpVG|4V_%0z)ZK22l13w05s6I8ZXlJW1q}^^`HA{ zW&+q<%TO=7mLa(lvzwfNO~fwN?U^;x#0}f% zP2s*=#}#R^Qv1IzXC^8n?)ec^K_I(IKIb!POQYoxE2%dp8CzSXREMuOGYVg$jKW3R1*n=pTKTkaGC*Q<_diuxc#|W=?~Eg9uZICs7Mk|wDiMu) z|A$7)TdNbYAFvy&0UA6%30p6nujN(%_q$ENClzme9c5OR{?AhX`srqJ9wI^j6+2F_ zzEzM+F+$a3O;j%p%Y0N&0O<_c-R%K%GWskP+f>y&K5mH{rO`!*ywj!22yM|i;1ZE@ zYYF7a++RV6#V?fpQA8{_le3M`a;Ds&qOB7ID6TDa@p3m~+X)`(mhrhd;pk@5JQo0r zf=ECt=EJ|`0Ad5phmHs7wb#kvZtuI{AJg2WM`iFM!!?v_zeILLPIwrzL2k*j_|St4 z(Cp2{*;ecbpXFUi0Z!%f-Sp0GR=<_rda{#~+%!JM{rYS)UJvVyKR>_r_hbC4!(7Z- zQP7*&@f;_!RxnWiv?xB6*8bxUu)zv&C86zqM90fN;=Ulk6xN3oS zN)Dd0yOLRo3`HB=1sD3SN_1gZ>c+l;JA%nbXAS0sP6*#*g$*a?S;>95O9ha|X1Mpp z?DTeSHaZ@LZL%~D$5HO)HVwe5A$#qvEE@oE^7jH*oqmnAK62siM0=w7Dd-zw@M!Mu z^E?injQmlUWrv<$EEUg10quT%_nm38iAob;9deL7y8G|9e5lxcQIGzH?eiDMC!@aG z-dX;Qwe}vpvF(rW364o(C&zl{3ZExZn?v$JaKaCg-P{N%JI7M-)FaBhcf%c&>13A; zNmennA}@~Gyr|mF|KtzPK&XB2t)a0V<7}#aDp^|5|CuMTO7mF{Y zlf2?`=7>xUe8lj_gW!}#lgU{am%d~YZ-VD1a0R3V)Fx`K39Jj&)^X#gC~ZSIX+18^ zM}u0D@1PTM&Kcdz?)in!KyCcD)Y?8vDR<7`Lq|6u_hPPyIq zu((p6J6%qOVH=h_0I%vz0*F^~jzB^}mqQK#B0K9Cq}Rot(ASzLct+333{bd3sshBU z=$kGOdyfyRXL?-tw!$+D1Z2KxuYOr6!MEZxOkRG!p!hZLfzRY*JtQZZ-x~l5MdP(Z z19IQ(m6x>4*9`aUpsj%Cc;rdOC1{3$!TLa?LmwF34V9S}o5uCidNGQraemo^_x6em z4G!y(<@PIC+N?mn;TS3FRKnHIs)K(1FTJf)Y>0FWTYksaN~DE*AnYYAk@W%9v+P~$ z$Yp_rXz7BCy!bUX5ZFIBDln5B1c|am@A-l_Y;jxn;%Rulzx zcFs#s%$KP5z~Ow54dbX~!39T@|MOqv%g$t5TKC`=P?CS+sB*xR%z}D}6oVU6w;9c! za||S%LGf3;cz7cE4yN(tV0e~eqspU6Orr;H*6)D6*w^9&;`lL$h9Z9f$~7}mZrU|r)e-8Z(w_Mo zh$w;{(JwSEPQ-g1=Jx#$enNJST($$q%!c}(!VEx@R%Z5oFs&u03Po_E_Gmhx`*@>= z2Tg9)ciRwhB_k*E-{8M?Pm^5MD~jgd5*s%l<}3b`69FJSO~ZL9@|Zu=v)|m6*kCER z5?oE|>%(WOJ$24dcR&V6jz9h?p?l98pcgIH6)(}Z7!s9me7IZr_&ni0+t!|2@R?%{ z^L#E^8TBY2b_|k6^Pb#*=KCTHSwE!4w@bBlA@*m$wP$lbLFFL!Ukf8qbo1o8t4_KB5cB&9=rSf0Tp_FV!^is- ze5Y@{H2&P{fgnQywkxi0CbVT4nVNciw5;fxmxt(6G#Xgf&RBQrbPQnZ15al$tJo8> z8MZbUM-%wTcZ?m>Zpt5|tMhT>eYag911>xq|Me5!BRTb2K0Wb5lh{x><~B0m>*h&{ zEjYUZDx(-=cI}*9e(`?&J8@7d)O_er;f7(t?|W9{Pn+|np6I2 z_@C1AQ4xkoW2MnogjZxxtiwhw`lP$k1t&%xc+`G%QvB(MSUZ<7z)k^bZXut6)=L=r z#mP^(Bj_1@R8MU6dK_^?+2czNjp6|;Nrqu>NelXOF4)z(_6}!BWm6zH7(!6A){dAh zGf0kKRovO&tM*Q+MR!#m*oc43b`qL#bDocA$)Cw13&#@v!NO6v`;MG(IP>g2Oor*V z?$Yv|1lmI@b};!|9Gw`uWWfge8r_H43`>)y`rR}a*iZSR+oUn-y{^zqIB63<+CaW; z<*g#GkNvAeI8TcTVX?H)Z=((U)c37w{Sj=>MzmdE>(W-|{6dn5t-=wN?=&I1;**W; z6ydr=>j%SaNy{gRhvpGxw*x_-l|q(UnZLWr=UgY=1zcBveLb7dh_MJ&KZMo#pG+?u z(RZonP7J^-y-Z7h^j{3F({0wwhopnKswSb&@DYdzl`msVINKiUS#DQyX=CL`L6Lhy zC4@$m5RulRv}XJ>tARWnR`%=Y_dbUi%R7JIb0Aj%r475v$x_>s)|1 ztWny<9ojrNp-(~kO>)|n`0{v$7G{IiI?-?>2Bg-|@c7IYj3V$!$W@p3AT`#KTmp2S zU=EJV@$rrDion2NQ#5L(6Hf!07neZ3l ziUCH9=UC2Pb*NTcccI!OWJ&gGKaz%@9_Zr8HiCBbPaP$Bu3+xx?37 z4{)}()iMF{Q|CsdW&NN0b{WFs4K?RRpFfMmMx}a=e!pcoe+vL&*eYsbqEd{|-$vQ$ zp5QB3B*<(vBt-JfA05q79F(1*jyB%0&vOJ(7b*(gF6sk59JV(665bu*j36j~{x2 zSqrR9h5a88a6W+(h?jg^V}5t>16OS}KH~;}xXHT@knd~;S>_{<@!j7S}T~)3Eh|Z+Y?Fmq-&l z0a`SFPA`nJ_UnlW!>6d*C?~*4eI*3o<|;~K+^jVKn(3B5s)sfFK>vM!i>oUyS!wSb zUFo8W9KKgJq(x4`Rw=n5?4UGH3z$*Ni9^qolrY%fJU|0^xMbQOYbCJ$I6Jh7#*$~3 zaxFBbwi}?+4)ll~XYE^W#s2B-U5@zgUcbK!Qx;tGk2jd~2&TZ+X-4sSjpLf2 zm-)9X@k_IMjkvaJZsfE4 zNWh#m(9&l^UNpPH52Z9FuXXW!AjKS%(75!yv$vP)xDZ)r63FOV-G_iu5jCZI9#*3U zNWpI=nNqg9@7-sJ#*VP42MB2b*bjT-_cooKDRkD^< zd$>c>=v2&!OpB{G;n$!Rb5Hk6@n@HA!r}SUZIJj%cLsU+p11#syNL@(9U!N4QLuGy zP>ODPo({Z{f+9$qC|GW#NY}CJ~opm?-x_p*65au|6?t6#wqO zg>*%Q-cia7e?(fr))_$-IgV#m4Ki;aE)N6j1T8e6=eb#bp^%V8@W-(|EzO&TG7WG2 zc=b*Rz$HfUUH`4~iM{;LTZg`Rx=F{CiPXIHM`YREIYzJFHp&fvFYkNgbVT`stZ1$@ z`aRcPF#CwccG!4uGuh6F=>DHWsdPA~9xVjj$2{6>N?R{GBTfTRyY_k73;>i6YREGK zyqg8IiO))tHlx)RgMX5{s(Z)6?(8+zlI`g~k^)SYr6D^osrJ#V(et5c{Se?68=&|r z+U2p>983Tv$S=)X3f-J-{p^@&2ZJ@!y6dQ0_vI594)E+rg zEb&YRM8|;t31bF~t7dHmKH#RuLIlj0x!OOG$O)R0q|CLMVkq~EBW1`3@v>AcKC|%1 zttBVaSv*av^=I%JMnbqo4n-lwcQgVGfQyk1DvdUa1auw9yIA2-n&jpa4YTL)qgX&$t6+ z957L3_j!o_b@Tgm3)0}-s$TzlrCI*~bIGW=@~7`ag%A;J!KXk6{xsnCHWjjOx7OPA z)?YoSKLL$;sNl9@ivY~KOiCZFBm=^6uf&aeT@4<+=}j>;1lR*R9(<7}NCDuoLfCD^m$6v?=+D5VON*p$vLoJR*xKR)97h&& zV)kjvmwU398&htcA-8c@x&5~vaX;4%K*)OYwxU|zTY=hz=osM$`B$p8K=v@K-&>zJ zoF~zs_}w3s1Vsm6Ks`K)rm67$IXE?_>&P!HCuC2r{wHu<&N{d^5(_+f^nZR|M3o@3 z0Y59yZmooQj6M)zLnXnQ;JkzS&`_u)OOvwxuQSdu*8Kq7d@tUKxfucoeXjqXeF1Xh z+#7vp{~=Er0Kt8sv(&%}OM=={crBUiQG!gP;qd6CvXYO4o8QKjYED@R$QicU&hA`r z?|DEr%^+j?&oRXUg3nNf8=|^;yX*pLIvW(IBIXLM6l^dI^spHw5v{r-*Qyi+(A!%) zfJM<6)S!|lYd>}c;5CBd0HP}B|7__DXUd}T>d#Z<1@t4(rWgJG-0&Hr+8oW$ZDpa+ zFDYe%pL-tV=To#@Z1ZF?1dP9CUZcqM@%j>$mN$SJ^vGW(--;e1qVu=uGn5Oj0a?u| zG)iW7;t1xQ^EBx}J!A3&M{u1!;BtJ68>%eJIIp2`vB9NixR0Nr0Dc1TehP`3k?k#E zK3ejqw0R^}nV4moxR&DNt0852&XMdeLy7`wuhVP0^@LSnTf_p?ENtP!v^K%`tU(E+ zKc)UWZv;IXXi5XP1PKJCC8VkNn-)LWtKU9~&W~gsdq&v|p@EPCL_KQie*UqOLp5wZ z1$f0PJMvGfoG_dIX^CLOUA@`SQpzc|`@f76H!eXMQP%aOGpD^~$tk3vynp2teqTL4 z`lqO{F*O@)rS#f&+UPh$gjT>MscV!L-=60101_Ien~Pt8a-gmjOrCFurS9q{{3!mzp1H15F-_6|aLp0gk@Vl7 zM~)H~X?x|8axyP{h(Y4UfiUk?eSQEdKMlwqdPGG}cti@74s!~Uxn#;Cy@&t5jp?<$ zdVu{J&3l>+xh%erIV2@mx*wteZxFB-STB0Hm-(oqC|Uzx&Ex?9@=8!?sVXO^+%NKJ zDaq#y0zmeEPJO?E2jjkc0|73JAzK8}p9pJdiboS>SBVLcB1YN|62~Im*io1wmb2^}81Rn!v|4 zThtW!j#ei9q~`kt0ZHdy~>dVQY}8~oD%VE9ltSk6;Nl1}ncpx2u`+fZwsCJUl#=|0Ec07q@~w;#8Y`f1}0KD?GV zJ_YLF%twCp`{cu92iMdz)XkiCcgaA?`-DuMS$>i6S~&}&)(H;SxNZlL!1OY$p8`+? zB;kt7N;8zB1ES}bf}@zo)^Vd$K7MV0%5_L3>Wf?*{5^nJncKUO8_t)sHa(auk2Mu0 z$|FR+FNlR+67fI=zIByqCHE!&3214iC137egPeL#-v#AlJy$G`M9S7(uj*xBdgDsA z@HVvN7u(*jXrYW6JuW)5^CM4Sk^ablv9Okn`*N-^RtkbQEh;&)|p71VF=Eccs0Vfo!09jv5nK$#SMM zeGhh7C3(b__)KxfkEPn8e0tWkego@=vvFIrJ45<6d{;Kn42WGo3DY+9$&@QaWMDd zqQ)QtfEkbj%nfmQR?1WYD6g0cthJHSzA`e6p{NLsg|G+HZmvTEMze-IWDpAdvvZAT zO<-}R6`7(@msn6MjUo(40G78Lny$Kg=Kz3(8Wcm4ZY_TGB$b_N9(80Pokwwt{+N{} zy-r(2Ol#Q#xBlPb+IS`mc6ee<)M4#mmOn*j@+4bIIJXWT%$ISk6_QlWVDouzA2r%p z2BJMM7A*&=VoTJ;xf+l3%P_Z{IMU1Hr1g>n_|%eBwX{k*W5uAib&Ro~f&#=s{n|AF zLhwZD9qF~MT7dbQGoI*-12rUdleLe}K`(a%!UW(zGw{I{abT4?9_vHKT;Herpjbf8 z8q7XF*F7KV`NSl#`s$Bv+Kv2ShodZp%Kmn@3~;zEoL9W;og!MQiZVgb2muKisOvhY8yXEeuqA zI#5olU%R~0*w}XTqxWDT1KO6%DvZ00_(^U?;Ya{DICntC3cNK{f`NvFGKkEn@LPek z<4Q_~AKttn?BQP=e*3EKL2ramSR_g9Hzc_4iy{`MpXFp9PWkA@Z2%j0c z+X}p@5E5N2x5h>`GZ@wLnxI*+q}{Uv+*eNwOHW%783b&l84v>~hJHtaLPGEvM`i)E z8Ob#EP*#Pdnq}=NzDPJiA;ez^CwY0}#qi4r4ww^W#jqvlJV5m=r7b>tWL~h8GP#p7 zED0RF$g{pOOn|vy8Q>Ii6g#x}$+w#DAz>N<3tyeJ@O;{V2QylTh?*%S&tsBT zH(nGrYErBg3{+oxpwCYIBe~uyDNqhlxN_r8+h0SAa#rfW*y*rb2ilpd8kMaLsA5B37YN@dzsckR+V4Az+HDRG*M z!sFP)RCXnDbRdOb00uwt19*oG(FFH?!m0iI12>v9hL^p)dTD?sd31Pu@YSn3WCfWX z*NCRq#?8^(|70E$glSKqW@1XY$5bG)|F|S4sB7o5mR|a|puK?`q=!RMcJ4DLFG%PS zQ3N(&zRAbiP`}ZD5`po^YO`*O7TR2$z@}Lzm;LX$L}kpU?#QPyGkHV)?X*8GZnsCE zHYwbo1rqDKvxGg}{;A}xOYdXoq7t#*>ET1Y9vvxL8l<4(_8|^B%UNp?uC6as;yLbH zkMmS=FKXWJQmKueVI@)4N*Kv(R`6>Z68laazS?nh_=V-ja5!jRxNy58)ov&mHa&}5ziBn zm|MN-uqsj?n|pixHkA^-plcp`IUF<6Q*zbPT4NLRNnk%W5oTp`xc)0#%=uS0}!P|>{#SiDfF4z9LY#}N&7EmhZJor zuto&BT$eaU;D5@t+jczn*fKjz#%y`s!uhZ~_It>D3;tg8vujVmKWmwX1Ah}cxaZQl zO(-#FBU74Rew_}^+@C|P7y0tGpVMdaB#Nm*e@nUR)h4@##^S^1=U!GLY$I`?qihNi z$pPzBni$ptMGbXfdziDuryp#vD#WscE~tU>RD0^!Tz<@+a-iXr8q|l)l;{j=geHoQ zTlCNh%`C*Of_beqh(79x3opuWRS&QaKLt9Ioh|Hj9bzKky7pv@q8I%d{hGqs)ttlq zQ)?G>(m0=AGA7m&cAUqB=MXtMFDOS8;Xn8b^NVSXsfS9}vfaADUzY-g?%}1nin&ca z9;kr?%d-!0U0y3Apf5Td=IfUjl+P4i;cBWGGw89@1SM?p`Gd1b2`X%YG5>^z&a%lH)q`k30=*I5-&RLqf8WJ*Xdd&-KEQ;ul*e!zV^rVQOyC58(BMkjEoil&PW;pB2@g?1=W={6>*Rj^1_*&7 zvhl4*{dF#1U7h7@CskKh#U+aXNJJJs0L4T#U8Tyt^s()stu0O=*PHFMrjz4pToqDZ z`sMF%VxeBcLDYsJh&(!;hoAgpD40@0 zQ3;e_c+V2){nBActL=x7n!@7Sdc21k%)1bdbXyk9Ad?R3yfD2qM9yKjV0HNC7n$3F zAyG*^&qqCU08WsX6zDK#Y`1f)8eMh@eg^7i`R4GEqP%5mG!>`s#S3<)q`2rt5z;&{`vmnYjDR+b*FFViB}1435jPVl>>C* z-(TmIuhY~gmPCiGT1s%8SEi0z-ou-PUbj-Ti5Ei-ec3f|SbF9!S2uCMq>?bGu&D)G zKVNhLl?~e!M8ABex6-!7v9SB@6Cne?`M3z_rai71b8F%{ohh`sQqy~G=?X+XIT0s$ zUQ6ACxX6Ck`7NCD3@7a`u%7T(c4=-VEJf~s@Fj2 zEKAADK^>x{s*KI8-LE11Z=P4a;7Acdxl`O(Xpv|G0nnRP36T7{{^@F7v=!3_rd{*E z&j|OyQL7q9F?9W}4=ByUL5*rIuytd^iq6eNB^MwnS=$ueW_i(BR!nonQLb+@nKR{^ zZ;GH*QcsC}e{|#HtE7mjjIirX94SzgC`G45o<6h+WN*Bf7&JBl6b1Z z{jE7asbLGnHm~3!HARHciTJYluGlyj1FoI}ZSl&~Y@YaN9bX)Fk4*^fcxHpD|dl zmElfdueB%lC}+S8VaC~49-v|J?|Yb2QGRl<2ujfEG}nneEH4S8O-N6kZB|blum{I)t!@mcHH}67HY7@uy6ej9 zn+HT!=Q_s^N3LEBXAf5;*7e`Yv*C^K+;EKKERP9g0^=6jo^I3dfBLQyxHHQ^av-MM zpYjqR(V?bgUY5F)#bVd-S+BKK!$8{`O80?ov~JzfKED6Ol-YIjoObgg3H(V{TGTd; zSkU-EqZEs+F%vZ{TMj|HnpQRb${hLW`6sa8l7&&AIp!=T595Ec^_7~Cs=&fww0rd1 zvi>KKVZDx|XU2skDGC}aaV#gGb!XNyk^5!JtCezPpT%M8mY-2T+MRJfsFa?nGWC2O zC#(?e;B8OxDl+ld89EWn1<@fBqR(W`3c`)cx8F+Z)u(QAshm=|mp_?XYsIbGk!L3Q zk=x~~!+5r5;H^Gj!Q{0?`S-uhV7|c>GJ$e%A+#5X&Y=RQ-A<=YEr}f4({k!wSKCmkcGjV8Jw1?%dhIs5NGf|Ml|Aewm8MG&K>hzVH*)YSxhV~rUg(y%^j5{jf zL{B}xPo#7Eaa=Lw4pk&w?-f7k)KCtNQ?Me5{x@{E6{=@Xs^ubhGq^de-0nj&C}~{} ztbm$9;Q}GjZzD*(<%%umLa#Iz7wJT_fi71uVoiMQv|ywnylwm=JHqI^I5HRc{Luf! z8F*l+Y}>XhuDH0N@GU)|5tZOIRyn%Xtk(Lf1n>2J6|(9)oI{YB@^o=c*Fr5(ic<7g zBG!9{ z0q5%Kc-?U)&_e%E=97xO9;Q9mhT07=OiaXDc^c>XXtgxsuu{NtW2qR;0 zWWCJg-s}U*efM+C18yDqdN!E0vzqc`P7lj=H99&v*UiXTO$-yg2XYaK(aHO=>y*TZ2 zvfBFX!nZHBqyS=8I~Y$iP3^J#G2FGUr=fReK1VmUzmijJcUAmdX&dElS-57IKm#Zy zo5(~iZ3+aN~POxHHv|}juRsB-hOeoJ&yR^%5}mZK_N9sYQakRF! zLN9;qbv^xl{uJ35Qcx(t&g(laQl_8L9z-3WK<;+VGzj*HItq>eG14 z;VW_3pC$e_J>^a!HYeK(u@qLLRn3&(nc}5;D8h=E=;|-e0BNDTNm%xSpb1cn ziz~0v4SE|_TIc@ESaWV$k@fc{Pcxx~mrWl6BWynV#^mb|0||<0YEL}rt5G_?pM0dY zehDtPF3Fp<#8++YD|T15idxvna8bhd*xF>vP{oG>LTE%Q7upp(=1i#VQ(DDNGhJ(m zmFC}HeKdCtu1Z~sAVsuyr|_e=p?6T;@P{ty)e$;2)4g!1Yw^kTN(=1I-+w$O12JUV zPR{ex8qd6S*J&H>nD(6sR^v^!Tj1H&wGuk$r(^XT_E^yz+FVmjuZ*K#rCinR_@Evs zZO)Baf-0xRn!D`zf|zU>E@ctl^|Fnh?l&Z}aOM_;F>Rvwo^2G$FeTg8OZ$acg*xvk zn41~-nt~@lI_%0VSD<5yMK!{p*VU3I@BSEKcOtB917*jk%BY1SQUW*Y6&T@1ZJx`;+TdzJE4z1qpM+>!NxeJ4U;G>4fKL_Sj&o!dc&|QztU4u?T@ z>5)sX7b0PnL*Z~eb{G<5^5h6?X=;WIc9$SvwrZG}s3TcMT!&atV|-1x4O(7xrgAP= z0eemG>9^SO!}Hf*j_I$Vfu5(mn?AwlCd#;H%13$}>ENKFZhh;~1hCfT zh=g{V)5G_gcc_44AQN)QCwa@sA;RIhgW$$wi0u8V%S~Xe9sJ#F%~QM;ip5}u*0sy2 zkB1(bo`lUH>l^Y@&Wg&WS4rBU@gIE$y{6wmI&*uLylDX+u4*&s6GL;lBsZAvHO^PH zS{$3Wz%a?<%jd;S$;RjmiHHr>NTL?*JNBDO<=Cz{pS#k67Qs(f@!UW1Tw1F{3ldRg zX|Mmle7&q*WlIBLJg$;H_{i_QI_}v=7Q!Pehq+^KRSLp^7s&IS+;j#KjMM}YzF=7+ zhGjj~*EJ4c*)PTpsaOtsU%n%`aFsewR3IdL`)OlUP}LwQ7&X^yTD&4!%pX+)A^EN?4(M~ z>)n5r)+W*uCa+$>9wQNIPryEa2_4`Xl8)YUFJ6E=P}f2A#55UoU#A(*n><)>Zdgk@NqY;FSv z;a+rHwBm`Lr*clw?Q*{1^YVnA5aqgZi@-TIGY2OyN>$BB@+aMz?ApmSpZvGSQ9Y1m z3N?uQ+;cBw5M9FbG*Yq9wA&zZyxr}55c*3$>#LC3cpJ;s7 z#m{mBO$`3vE;RE=#2@e?a9Rq+w7m2`TOIaI(QSzQJH6%9DC-AXBEK)P-aVwURIXC4 z$@z?ygL99DC|BEH*6pbRe=M_W1G>)!ylb*MV^6kzfrH zEObrxu4Xnhezc{<71MeZvlv6cl;H0i9GyyymEL+g~0D-0s$NR;`RvdVl^;` z6h2JVx6b=^LfeJ<&hVP`FyM-5%%Ma5mHaq+`#V+9?#L)vzH-G9IMOOh?qlk>~Q5k=s~ z%t@LK4{kfQF)nk#k`(H&_$PBEf>0UJS-sK4}c)XBYkf#mkOrVYpJr5V`&4#t?Qgbyma8(WLmR#RKlc0^zMzfkHy2N-wKH(4H_gSg^lcm6; zo1vz-w&wWOR%ap#FR6Frl zH9E^M2O%7@6I_A7QcNuwt0n!PZ^Ka((hnDTW*ya*e7j4U3|muMND)mM*rsNO6N)Y zRoY^&GhRWE5h1v=gi7MytLarczf^~89xwA@uLhkPPsJjQ#$sXZG_f~$b`jOrB|J}b z)17Lj+=oneqetcNF?-|4&a+eR(Ua1sY&uIiOPC4`$A=C-ZPeR`&CyHE;un$DsayVi zWf{6|@1SZr9Rbvxf5p!|8y|@;y|3Hy(LQbo!z<)?QFq-PAjXN#aV-bjma6bJafg*+ zm(R}vFwp32R6AQpNcvWFq{P}lXtu7B0r44LE7<>A^+XXN5Vr2czMd|`DwBOWdeBj_ z^jVPmtAFH=$f9tcWxTz<&&ctQ<#d z(>6c?Aw!SWZ9y|QEk+H~PC200@g3zTrNc$77IjDNrXs{r3(hC~zc15=U=Yxlm$ERS z6V>ZD&id9XGdd(%Il9}=ZeP*i3n)l#zI>9Rpj;|e!&ZH!+99#09g<6HW8%Eo;{kcc z2)y({Bk7;QX!Rvd*m__yhd<@dx$4NE`;>R!GY@WmJ@Q4f0wltw_TEJb3G8xg%j(^7%^ak19blr-K`*Q$d-* ziQb3K$8S6YfvST9rE=Y5LvvJv`G?j%|6ERElr>I);?Z}fC0@=;i%h;K>Kgx#=J8^S zPv5x{OkEONB~$S(s0fh;sH>OXi=gN?LNk|)M28qqaTFGmJqj-dwee{7RhOlHiiz`F zXRYyH@O;eocmw`1;PH42!RXu}-RmSlqu!>r+aoW~5_*6j)BJLL81k!z8ZWCA6YA#k zVjf&El@feKb%Y|b@WCt}6(e9W+32c}#}!jci}Ie&dh+0jCS~9QY;$cu2_+45NioMs zSr2lp;jQA4ijla3&qH+%=Y;%lA3R2^f5msmGiV;43E90p*YG1~mXQeESxS%=06LHH zt|HRSDZj6>9TL>=p2rMTM=_2Qu`Z{(I7K+)gfYbAV1Q_c3vv6tWUdx2ZR}WPkYoYH zCm2jlbAR&|C3+Z{qL-?dJZ1C01B72<9dzWV_Vq?DRy7#W;HD_&#ASzWkZ4GQ*x;Ic z?z%kMHw(XC{ShJ=kZ{=GC#919Y1<|vnOAcy8(+ETK`&7c%r707#qXg`B0p|7YSXBipU`$y_$`#g>fvGUulr0`U}@OE!lS>f)z8}{+R zJeH5~P3Lb81?x3d^&%H(Z6M1?PbZ`ng*2ox9&5q!~SlaIZ-P zKGiMMh(e7~swC_M_EIf;@3`wKZdEie9({JBZ;jhGiWvr2tp5337_f1PREdR6=`@p^ z7qd;RzJGfwUN56JLE&NM_gfydichNAra_&c0D%yN{9y2S89qfKiiR&1o3bsEt&Ezc zP88XGb;EU-ph7Y>y*?we{o5K;gl^&0gJ|YT*BeZLh23>;4ww_(X8d(N|5pGh8LLu9 z;y60up*WN^KNzX|wD8nBTw+VXhnrBI4PqOIue#3#>a!E)R2$@;<>!F;J|34Ay{nyh z8xw)$c)`>p3jbquX`;pDKsKG)e4z4S^a8id4`V7qT!hZkrX+foUmR8w znWAVL{_`{*|A$Zzy}jA*$*dKJy>cS)?>BC}IHbS&lOWCdWR1>;!3V9=VqwDg1ROj7 z+|?AS|Dp2$!OT#YQ(*X4Yp&_f>k6f`Zx})n_&xP@Hb>J2k$xX(GD2u9+n(k#%Ra_# zsF}(=l@9~dZmAQ>XVLn-e{^Tl&z^-RN~rvE+RV7fb7KK^ONndh&yB>?Up@@wXDf|Z zz1N-!x^J$VkydeRRX^XAM^|gCNtg<~36+BWh6URaO-66@zbBK}H9feMd)mhd5AI zl4F@WA)7-X`X(h0>r;YaFMHc8u$v25vBnyIEpMq1G0=sPT;8zD; zhX$IA(0haSGj^t%Ju+NGRj63;>D5t@6g3)L*nHhLW&u;#k`kiLtQM)IjQT zGn5|70rjqlPy|9m7=`i|aj-VvdJmTWX6pMPJR`D6kc_`d!vkjwO?)b_r4`KppDChqY>a1&gR!)U9mH>W z1(=M_yRWmN<0490X}KN-7*6tzz%rlrk9VdNM^Dg902Ie;uH7U;>il9#wI8(ckg18T zsrK1oE=YfgmR3D7tzt*9b_JdIM;l5R5Gjbe{k#&#qWG&rKwj+payrpP4ss5FJ7tg& zbkCRx(lB2$Se)DHd+&?l7t8gXnBK@xHo6V7nDKt?YT#O-=eekwZCWM3YE>zapvIf- z6gr8!CGKn{HJ-}<_UJ_>r8p-O>piWvP4PSy@DbO5`M$b{I+1+Gq&fJ)8)?-cBAP!?s~ z{rqdteMpaDQ?Cy&VJ+BT&8mq-!395u3>t5KN`Udnn9VSmN30yrW!jQZ8NA^TgKerI zfl1QfF$YAvkRa3F{Y#1QkU;Um!|UE3e8`{26i@dl{DsS4t3HZB%3extjtZAf%ZOkV z<%*d9Q-#+{z0;%qIwdb*Nu{9dnzKVTR4^||7G^;BPYR>$%( zJ?a44T7l1X&kRSovN_Om)7)uE@YaRMQOKoY)k4i{%^Wia5XD#<>fpm8JVqGrvN{N(YMKWI?(nn7`bQ(D4-!#ed5 z4W5?|uHL!)wkYsVI2{dSR%mP1t@f?5fQUu>an)PC=oFVn2;j*nhu{T8id*if7B+Co!-QN5!_$3s|EGa zH2$=CXE{>_|N~Crj#~9vuVjsx=p)9cwE;EMPl84$uxj<}L_`?a>O8xEmYCFHW zrf{q+hT)G(sZ1}mMVeH`fmQ|F8qO*P-x2!&XcR@p3gnbQ#u4*!7`Yne6n#Ir^cL_N zKTCH7cuP!eTjxOT{>R6gHjbZy?QOc}z-LoS7!+Q}15{{Rd2@A#!?iG%3=6ORM`c5Q z;?CJ5PStibL*t@wtZO){j;(Jm4Fov`wTBmQ@cB`IIC0t*Q&@(~&r=>;fbeYp(qw97 zP!|%O9h7cKGj)2Dwb3`O<`=5I15UoHtlqJMp6b_IT)o${wcY^p{1bRMQa7x=7eS8k zme;8Bn-04J@bJP`Vl?xqQwrpX=qO>b1eg=fDKX(w2TY-hX+G&B4#^P;g7! zOv^nZ?fIO0xNz5HZ!-6!GmY(r>@Y9yi7XsY_DkL`tw1)0v0yG`sCebP~lb{tof9hm>~Nj@Z+EI1p2)1<#{XR3Bw*q z1F{#~2HbPLM&_Qf-WoJy_pSjy2cn#VujDUKKc0}_U!7w3X1`dyXv+N0BwP*j;!!S3 z%rlJ2B}G&C+P~{Y>{@1OFi-@R{A%>7g>JlFmvkhHT;nrSU>IiJE0G_x4Fi$m3&1~% z3-ZPg({*MS`Tz&aOK`#P*Imyn;SD0@e1(sJPMmc=j5*^%>b*zbWQEqWZMGjpGm5F) zZL9e3YXjEu*PY7?A}DaqyZt`{-sSYOZ(|!dtX93$L(WPyt{X-dfU*Ma{%(3XG?9yM zT@4XzC@Y`U#Nx}h=2d!A!=Ul;8B72M?!zzAe{2+Y6!Ni}Kac7LTL>)~4 zyh>NHwO|8kb$Bt{WyG#6n?{wzXCdn_<|KJ!rZefk7~8Q{6f{dvq3U0S=7BAz?TB6L zPf2^mvR6}XWU4fGvgE$PDfnaxM06Z~F#C*Xef22kj`4*nh3ts4kMdoI$b7!34CU|W z3PAaCen>D9dTS6`MPH~N!;d*LTetbLQv*jK( zSNScjadJa(RPNhwrDbW0UmMxHbC{;eu1YEpdU3O^TLJIW^gHRyM+Ti1O`Vg|Qn85N zFQ&MG2?xg>);ss3Q9Z)ZSHLZe*8K65Mmx{==a~_W%1v;wqsBchRG%@a*5Juu#_|8L zTE}f7h!i!ieu<-8siGgL1!})Vra==KWbq8m96FJAMdel|xQckVaNTlY+O%1WmQNp2 z*ZD+OA}Cf(!$%+RSN}~xFcC;f#xjQt`CJ@jN`hBx|H8v@oT+wVVzPk4yVZc`*m9|H zp@GKlZ5O&gL!Tg{d%QlH^a2SXU83kTZgWwg-JeDgI1kgYKxB1 zVcCx3J;l}YG4Gtq(~maxlG zmi%$~O`XBzcJ>7URO8U>$?%Z!mPPcFlZecEH%JYnCKVf5;8Gb#%z9E1Uz8xl>#$IZ z(zpH-iojl4HVcIYZERUWAXR`unIFZ9v7<%SME$331q?_WzG(|GlB77 z-PE2hy3ejL+`7>5jOv+G3Bsd!!}EL{bDiS;w(hN>Ygw%g#3I%VPDm{5m?pO|Gv`k$ zX^O}^)4D&2m@{n*yO|Ks_jx~iJu6B~tyn2R? zV7G1Dy?=PyTwZx7OfNB*(L}$-=j_-Azioo=73)(bzeu{Ul+9GD*ZEUd=^M%idM1vO z(P3mv%?FlO8a*?h8-2HElsa9wpEE@_#o}=9@UdPPnj52pQQ5iFXd=>{sj@vSFeUiw zI)95U`1aG&uZ(DsU!Yvju^jH7<%r!ctc!o*I1YUqy?K3`d&hR+ymhG(Gp`>CxC67` zbG8k$lTBRPnzs``qMF-Az z4spPqX&WjUL*2^Y@B&{)25Dk_+*Z zpWU>N-h#bLp^iw!Rwg@W-{uye*rW`gFdxB(cqZs&(y>Ld+frtMK|lY|>?$Y0`F=3U zB4LDIHCp<_fc%o#?W^(wT(bi8n3{Z^R6nx%*>NHtWjs^Mk5PJUx(Yw~o!T=oR+$Vi zb(#3SwL>jVVG-$kr$$zR3Z%Fr&ReWFG<;ar72nTp1$%jdRLN+KQJu@7bEq?oQf?^p zim`wwBL&q}H^HPYNS`U=Z1&+l#zlzOa}oqa*J$R*6$&5{?ThY*S50z=KtwGlLBh-h zm8*#BLj*@AD2juMS)KHb2vyoMRwZ}z%aLk6k;Y=?y?Kh^QW?}wEt3oo(i)$5{F{-C7^$|f*fOGWlf61b1H z%ASO@(kggBwritu>-Z`FlS(2B_XD}XB^gaf!!N1})mwX0?_H*En$P6G=|HI- z-ME*lHx1(!GQtk%h`vZ1snGc^-zmNS}0pkB`3p!2U8y*ie(Xjn$?7MZ3S9eM3ng zil>#gRkPOZT*eAil`@vme5}`O8`}H`gu&P^FE1X!Vyqb<5-TI%Uc8moSd7rAVbR{Xzl*;tL(?D?euX%0MH5@%H)eWlFY!6kh z^EaISD_nS@Ro4+PE{uJLo@Y+zpQkPHy-wb&hCZUzaBy@w>2tJN7+MA+gb5Q6(HG-4 zS(h5Iy}V$6+5kD`#@+n%)F&q*b+$>@1!158?D3V9KOsU_VX0%hS%L+bZ9(t?V|>pm zOML#A4>{tVpsJxnOQU|b#48~eFFGG`Y4}UFaVki5a0Xy1BI8fuzZ9Hkm^op`=RDOk z=Xg{()j8G6KPq_;@!4kau2&e2m@1ri=FI*hlvVl($)>bIR@!66DdBCZBfC^xSMVOt zNDb*0sdI!12~dFIN(;S12TR5Z^@KQwq$&jcDl{oFVIzTFWZ|iJXda!qfI4e#Rc21A z1piDFPt?P4i-ROA_pJG5v=^hzusDb3$BT68lh3*W`KR?YZ;p;XUh_(I0I;fTrUIeJpZ@*6;?Zt#W+((rY zI|rfKxv70?)*%0go#L6w36m)nPy(yVn>?9rX)_!Pt`&I8a#E9qBf7J|k_oCbIVEw7 z$A{fN)-*A*>71{9ur!x&AT%2zR2=zz2+L%u$)KKkT;SYo@L4E*U@55qv;-(~hAE-i zK}rP?MG?gSs>rhe!jG%t^&pMoJKxJqi{gV)vDT@5RXL?6rv0kzesA;2U4<7uW_bJo zM$Aw7@14rl#Q|7yU3=}@d#UQ#xM7}E4?~HDwsw0c{c`7?bLm|?uSTsi4{{8~3wM4J zeZ_nZcQGilOkbNpn;lX6DeoO0?iQ|Wy!qYgRnP>4Z^(DO@;PrjwH2Ero5@4T5b|k? z{3K10wcDW1AVxMl&!M2|>k9bQ8=_cD4;m3-sWJbr1k3}>{Y1>565y~h4h?^lr)^QD|uN1cdg-%1-7 zJIJP57^dR8lz#(s_2D6+I)`|^+=^Znm9_9&Xw^tnL&nfd$qT#roj(o3 zxq%DcIx(K=m-IS`(>a#J76 z2q$xkqGSoZSWVM>hF|9}u;2U8sJqJfy90$2{^vmRGZSnA);)=1^)!tUs)3&hAQm@L z^eA^kMqdsZwMVT<&fCq?&6BX)lb32EY zswk?mT?cIDN|S_2Uy&?uI{W5*Pn0!wJZ-F!i5<6on>eQELF1}hAT|bak6;JsbI*%N z4DcZ#6_U)&d@NZkZB0g-am%=Ij`Go`KBgx^V8#Sd`4CKgeB_aEGm7n3C5fJR^JR`j z-_&8Zq3LCbF>eFUWMH6g^@1MY)`s8-!QEJr?mW{FLMn?viptKO$f;Y<|8lyHnto zwRJy*lXXPa;wmm;+&!z6b4pM6;l#O6fq8b6iQkd<2`$+7T8QO#^GPdOR*~%zr*7uH zRV_ubg{GHjnlpBqZD;(&WT^@b{h}SMI1W5V0}}_<&(Y@hx+IKC6i>u* z2Bjw(J^sX2{^(a@MzpES)Bb3cUl8?+!ZkAg0-2|mM$K_3)F6m~-d2{LvRK&{VP8{m ziG-Z55Ujw~UA8pSr3=WIyq~xk^>(0C-_X8WH1&U-bgg>Zv9zzBD08iS8!#rSc&E1L zB0q~+PpYXQ$1);xj!XNT`_hxed)_Zjnv61(ifC4X*oR+$D&m4?RR#Io9A=}PIQJV{ zN$2dJoL0|n7vr-I-*>R;U1^=|$vUzXG+C=tQ>0EfLozn!KX0Rv zu?L?Y4m&IJwCz5>AKlRm)PElgHi;lBVUL$um%iZIZ|NwY7h~i~etOc@!oL{fuinB3 zWtAErJGj=jq()XKM|bacv?nPkfkH=)VdO(NX!qV=Tv7JjltSt#G{5)k;$fsz1tIVM zQGC+G;~V+Y91JBT^(XLuKRjsI*OfC~G9N{NY(c87x|N?~U9jP??BiZh3-~5Hz>24q zSfmJ6<6Xu1TZ1D@J8bN-fYgM9kqfS=%)Sd`lEw5Bi^N;3tw4OYan zc?>?k3E{{1`g934tdtHY*8g5*FRD^wZ53?Q77h#$u5Hfsfgh`?kDRD5nA>R+dpy?*q*Kz}lr~U@h^6%nf!)JA$ zjhBB7L19LI+-tD8i_5|_udrfNYQF)K7&OzDdY6Ci9#MkNe6c9d6WP3oWP0O6jRE=y8a5! zo1;uJc%rhGo3QGy@PCY?-Mvlq?cd{*Q(flU5NQ*cF>c5Z%|`*%7xr<&GXG!^eRiM+k~xk?TUa2k&G zm3s0HYEQRB!t1VrF-qUAp!aD8GM7IG*HP8+r0)B1TdeQhMqu38j}zs-%miz%(U^$1 zQP#j}(y(XYte(*}@<}t_qD}hXrTkp3oaz9)Q;!Bd?M!xb{VnLLHtcQ00TvQ~G?FT@ zspZRu?QfB@-4qkAq7R?#n*;iiw^vUi@(XB2X7Az9h+QMgjd0|s7w&s0Kb!N&)Vp0? zudA}c3tPtxM`cyR?~uyfS7A0*N&fL0A`6R_3o@7dUbQjS=}T;E3L;ij^Y52hAbYDS zcw9>?&qVjTqniGO`4efSZ3!I-+x7r`8>jc-^~ktbsg2wEBGL>J2VHsZ`@tt+Ul_z* z6O~Dz#K9&WYwp>Y+7CYfBbY6mo$oxw=DkqW;@RiSKJMoZr4@Q*D#RN2!89uraTh^L zc?qqlQ$f=^uXf|fmt#@$SYT!TCER!4=b=^tC=tA1Ta2#;0}Vi`pAGb4=}etiS`$eU zO5^L{s2S|9Aj^$U=A&UaOVBOo!6>K1-pZq{CF}-@9!R7UNLo3(PV&|jzo4km) zDow-&(J5HtKQD)6r;#^ZX}Z?ahXm zY*FMhupRCreaD zkpC)@^0pw;`nNfSAHvI_de%bvHvbG^IWIO=#1~)-CfU2GCPELiSgY-?M0DRYS)l1> zz9JW@rs&rYw%AYdvXIOXN@lBsgyuM`1kYcJ>?yyuFCk2)tS1qx%GGhCwybpe{Pn7E zS{or73}!#0wyW)!OvGZbrtX>i2RckswEzOoD|u9XlOoM7!4=n*uch2jR4TZin^JFF zEM@}x(t6~bG$9RE)IjVgn;{dWEI~e^G z{q$BIk-_jRopL=*CHrq2niL!JA1QvNg0v|q*Oec^MYFKxumftRBJ7^q1>>fqs`J4r zb(U|v&uBImZ~in;ZPZAxXs9hNN!C4oq2Ipa=xRkMZ$Tc&=rhYWgd~~7i%g#kg*nF9 z+kHD{zUpbT5rWupjy$XS+A0kGblf5~BNW#1KbMCf6c=JlE7{U#EyxLUe*f0w5UVAv zP|CWe9XY-e4q8gi@sd{p7>--#muuN53oB<%e&Z{kXF5G<5Oum=)*rkB#gg^UOtYud z8!E)Xl9X|d61Hu)mVZ?y`CG*j-~aT-8k4rbX6{Q{u}{lha*v=J?&1w_!n8SEnKuG{ z+rCxF{1|x1C6@N8it@N>o>iXhL19np(LmDJJA$})UyguzTYY{>yb`vE^?4cLW{OOI zB{Fil9P1yyWqX+mh~b*c&%6Va$9E?!3)MS(4wEx;zTv{7k$}>}2IFKac&4b!Pg)Pw zwZGE){(u2l&_$NJGdg~cyQB%__+XP=aFQOE#Yk`CHSXQ<%V)D(}{cQ%##LGxvhYl zm6|9t8exk{Ez-QVha?w%eEU#sX?Q5kA@cd!Pl{7+lo@LDzF8bi)jG*a!lls;98Xp+ z_};m6=zLUoJ^F!p;gzwjJrQt$2fL)>61@6%$*1X1EB_Y0JZf zB*3{QAk^&YIX528T0RpaQO*W{uhUY&Jz|hcT){UVePETRv&hGR*>SVGK9Oq9VN zRsDQ7ZxG4=iyc{a=~LvMI={SXp5AaR<=bV#CKpHxGbCm6F>WrC%0-=OgV8@jQM|

|rRxnmYVHqc2B!r)Cgn?_b!dLVIVJk8>C#LukZQ#V60}MM0uHI_ zs@7f&_ zlOhFdkd2lSFT};X@p*N-Qu2)pvB8yWh&6070$d;+q?u+U{~Q z>Jeacq2)^tu`#-URz+YgDAeJX1tDCp)fei4C^S9WgS6s)HC@Vx@B?YKr8-dz+u$=F zaB}@gYvY?-vdw#~*mx5w(qr*+d41?FkFeEh@Y+(Ptv$gM_9c=aWB_6%<`x||f4I5Q zr6eD@v)w21?64;Q&6P*AVq3LM>UfMf;E&HVbI}#SoZo5BoAE~T<~pu@Z0XRu%pTe; z8?~m4<3LB;Y+fu;j*O#mfc=Vm8cvr_(W>abDGJDsmgEsFakrW#V?IgXk}nvVc8m>S z-Ef3%=4mRK{HV2ogh4I8Fi-SVL{HS@_QGLMLS+Km=V~q^)j(gy{|Q?EBc*h4UuB+q zzM;WHov@i`2=#&N{J5LbLoKsNs?AB#v13wV>kn9Y*=!|Gcy3!kxGq$HN&tGwr2UoT zE;i6`x9ZK(D_l^*iz_m_R2UgdFwwe@DECMY+QHGeCySDbjO#F;u3tFI`b9Li_b$5o z5a!={6vNoZPR0iW!cX|=KkM3kyL^goHoE}njKpL_m#M1J0uO2sZx*yoS`9};UYMsq zY2iX@H0adnfsN9ue&)f0Zl(d1L%H6TFI^M?^CWp&Y!4HLXND`X?(2ItPB1|Ik4KV2H&bE|zxC!Ow)Ajz ze%GXQo&xUX=E<6BUw0QB$=F7S=!Nb}C^R}IB_TEtS9!ma@V~jEus2@)Qk(aU6m-*` z32W$PHG@k-rQ!5X&QiaHFARr>VIoZ!FLz+I5Z2QgG`Xz>IYC<_u4UJbN4eC{p7P%s zM0W&ZjzHkQ|3eNTz+j#(|Lo3q-er92!2xh1rjEdbgrHRg>bNlMigxv{xZ=eg1;UlU z9r^J1!T4VKK0c_nMd1UjcQXZiM#R4Zs#dPxnX&{qTlZ{>FNLLd#JQcH)i#t*;%JW| zLP^g`(=+m_p)QolF?UwXiqG$wz61N33=K82R04Xk)zQ;Tq{xGDiwz^5at}kn>*xX2 zekyVEx@jGJ_F=kMs3WU7i$gVVR9Jqhep{W4CwKEK7+oM$t~;ZD zvE2i?4@1~`4_S(77$M7Vu&|rLF5uDGSk<3PqyVayk(53CW@Z>!|0Hh^cFZ}I z;MYaxCVrZ70B!jceD7Ie-k`bp!W1;O8_#MG|1PP7ucSRmrLv>vs<5#fT2%<6S{LrB zs0mUc#T|Mh7#A{XDj!#X;Sx{z$rZwR1DN5o7G zC*8$o{`au=gdyr?-*5qdffyg{aj~r-0ZJ$#1Srniq1Gt|Qemo?176mueRty6ul;z} zm))73%DbyN#F_1id}l{T!TUw=j0s43w^;tVmX4mM+VwC(0K|IU_xtgZkKyHo3M$WJ zV0#5U(FLp~!cJSPs8zeI9S+~S$%q(-35DJ0c`n*)UMO(Hk>U;;S`8x1X5Q{*a6Rg( zr4V^m*Ys^lfrx|a$PAhD1#j!c>W@50u$(mELr)h{v-KwN&YaBAj!NSR*&@lT{#OH9-Y9sq^mE{6dtm>61sCt3spP93o3Sgn--g45+)wW-)X!8>C_T;R|{Ih)g}pbyIZiU7i&e zcXZh#&Dps~gR2HK>O52Q+&y?!H5N8Y-7EPHTn&r5kuW{q3*x~p-kM$4!TL>84q3k; zof@`y_;gIzqaQ53S;>g+dV~PRc_-8Yph6?FOscgVe#NcC`&>PuL8(rAIdHu{Do>pi zb31wZ`^83gcp{65b#majW9}*H*0PFNZnP>KL+yL`cqv>GleLkP3%qa^3jGM)@}%tV z+vnb4V;xdS0UW+u7mVLW<~r&XYh3>n8XCk#nUrl2_deRJ3RcCm2QQOu8{Yy|niJ9~ zvUsoE8=c8^tCq0}dZ!1s><+sZFP(6EI_BCT!`bt^nCDRj?!`mui%~pNb2Hn1fBgO) z2HmU#K$6=dnpSV$R~7X&z0lGSHE5=-3&?-?M#l9-+kNutQsfj0T%Uw+ zO4g^ajj4n79SXVd1FK9i;)8(kwePrY937?n8TT)G>)fc;ni&eTs#JX=`nBf7_S+Bm zsj#c8Cy!bt4#<{ zMJdgrK61G}WU<}XQ|a{dIFDgfFiIM5r?jMyt0+PG*eSPhPl@h-o@s?onZ}5c!K#R3 zPz`;8g>!CS7q0!VQ@GgUe%L!g_WAas*xCgfE9gMWqP&~Zks^jOxUi(EHX$@2bNZx+ z!Z&;X>~-a_J8fEG6@-+tWE$vNWpkg!tnb_|{>M{llGG=S%dh@s3*=6CYk*KDoF*hc z`BqtuvN`-9U6ydU^yW)$p_z*yHY*>x3fOiX#Q`z^(ROQj#1L>UBm-BR^+i^ZF6zGI zJVV66YKGVpRH*>sz~?|cMUz{BzX)oWhzD7vjPip4t{yptdHj6dF%(r(d&=bC)z=DO zZ3XV!o(H~s%cR66g>KU?){6QeijD4|@wMyA&J2zxoR8U5O3SZKa-`t8QSqc2| z*ev@LQjpXb^4c=e^aBA5sncv;{{8CE1m{MI zHEO_XUPouLSZGqS42nuz!2H(1QISp^-`?rAQXbyS@f+lO$TIl1K;R$IYob*;VpK#_ z+m>i0!Z+HEs%4YqM<=eOJkcj?t{PtU=u0+prDVVyjC^YJ%g&Q!-b7As=By=RcewK^?DC{IFD*E(YvRTn0NlVnULW~d)h!RAFq89GvoE79g3~ub`N!M&i z%O&oCqMqE+ZO>SQy3En4bVXl6KJg)r^4jy!j7f!s3jF+^0M?Y=n>j78xNVqck>~Oz zY$A;&T@FaZi(KMk>|J~zM~)_b=JAy$HUqgtb3FIJa{LR)*>67_i#vXZS+I*Yh_H3A zc4(Ci-Xi)KdJZMVYt5WgBx}fA+Dp&v`lv~nLZKRQaG9}}4ftD5g~nL?>MNvE)>|4> zOk__RcvCb3he&DDrucCnYBt&ICdfxfm{u%jHOCs{lT;uhs!>^(#a+A;hFCCnz@{w!w6%NJHVZodL}Z`FvbNX z&F~w=P!uv1u8{<}Qo6)2athazT8%X7$~&HqUXlTN1S(fIFYlG`^cYE{z*I+r|4R1& z5+~Xqd!_~*uy825Y3hkRg0jT85H}%jOK4s z$_pB^qfVDd@?6+9VGRFZc$e-!Gmrfxvw?{l#}TMtKGuP69qB~kEoM&IIeWR*>H#4y zLI5l982fYsois8d_}%+<3Q8h$s$XCme|5Hvnt?sn=Og1}f}`is`AdFLjueK5qmbXX z-MASGnfaDTXCKZ5#iA4x{C5M)G)8BbZ~h@B>V@ur$CZUYz{)4QR?&AUjARjGIO&{}xdLqn|^)PBx0Le$53{t~LaFeirU zm`PoFczB$E7CL2;`Ac>9u4TwU3{SEc5C+;@Vyxj@h23u!hfg!l1Ftg)>*RwSNiIK? zPhhA=bOXn;Gt6dL!$-Ij;#pg5$Mal|nJmJl8oqUqF(E0`O*OyugWeGDDKn8!cE0Sv zrp2jsnH3EFBZX3>Q7Yjwj_yUK%!+n#y>|wT>vkE?eVSJU$(n(kQPyETm8GJaWiVWGU5>GtH=3flJ9=!zjQt!HeFRVy zoBqD2X1*L$r^jqHD!w;EG0<=|AZzK zOviXVbqN2^cVB=y;K`4SoCJfJlh20@hwkWR9is|5RrhHM|S3vg!HE2Z{7*t+;OlyTPt73aVV;HY-Y=&LFndY`62?c)EY79F;Jr?LgbA@`oQ1=}cafQ{ z&HHJVdBkGe)3CTOPnTL~Ih4z`=om!svL<_7?{6VfWorb(P-vQR&R#~Rk}{w-C+%uv-h{18xc2Z1akl4Y>9U`v+tBNTKgUQ=; zVCLznHc3_!0Nl<=JoKFm8|pJJOzUeMBf$od6(=3;O45Ijb=Sh8MY=HThCySZK=u7et> zCd%d7tYH4uAqfnFMjix#DixV;9%v=R1MDqcrV~X)v5g=QYp2%(q;#{FkS$Kfn#tK2 zrd;>B!#zW{aww13gppr_yB8lCf3%_P zoVQP!;#Ys-VWMbkQzPZa!3^Jiyl)Bk>%M7gIcM;2uI@c-yTJH!mb5^--LTFW`dZp{<6>f9M zpYXIMPMuR|ts#vOHAe3x%zQiD#>*Oxjie?Cu#bI8zbf$z0xYM*pZw-pFd-mfLCMhm zxzhR$q%N%^ZURtWiwD%R2?3t-A*jx~IcZeQp$GJ1KA*Zav2UDk-B}ybihYUr!7WwN zsde&n^2Ns8gx3jO@nRt^-(mG*i^7p-CXBxc@Ir>F>D~c1SnL`}q)|d{@}B^E5?8`g zCr5Ku5H$D@ttW5$o=UE~!2944WIkJx`8+^ICpoR-2_PkKjF;lb*vC!fa3h?WUS900 z#5s{puQcGVyyr15RQln9P57chH!9MBjn_iNx%yqd;$PvqlXy48AntZ={ zrzrW9zC6zz9mzVt^0UgTkjqr$DizF7sQAX?>I=p!CQ-cpA#%dMfpxz*Oh^+7)O-|z zGKtia2)^>d+eDC)dSbX6E!PU_t{ga9(rL&7IcnB}PrxTAIb|?wCb$Y5CF#`d?VVWi z)YIEDl5Sh?%p~9HYiH;xjIA_zF4ZdDcIIUF59V(YQ*!2Rh3A&Nse2Cf?>KVj1vLvw zz+;`ec}398YYR5i5fKNCtmW4nBkrTz=UGr0tY+HOE|i5Eq%&lmvjAF^T9Gx(K3OIC zPF~c-5ZRq49gi)a3>@Pn|9Ooq;uVC3b{wrPb_RwQKQ|ywGL! z<={{*(F+%Wo5clC%Ex7Y^E)vvb`gihQr!7U5)AvEZ-%!{b0DRAuau?13>jg$V0Sw3g8c?|+7t9Fi!f}~$m0=A9OP=w| zSLAj%G29s6Z!H~FN+!sP6lP5VKX|C~T67{I;9@^NyZo~(m1OnCXr#d|@Yzlu z33kH9uhm}jBId18;gM%epgvE)hTS&2fHnk>u8CTp zddEZsl6ijvl})DuNL`?x&}~8}cWYf@-G*(f7MWj1-}XNHp*UY59%<*LMyO=z&3Ta| zLSuBtkUgk|nq;amQmjSXO`U@sr3Z;hg0wV!0&o5=h3n|6a5bpe1i!xwkG#0Ba94I- zwb@=%e%+h892PAW6S4$fuu;^HE)8&5aZk7GH>A^>qxg2<6nui!WH3Z~{KSyK)&0zG=FMMLE_kS2xoRmM zaaTFE&=@EPr~oLAELK*0u!Ts#j$V7ZD`p@5$ zn~1vGn%-6R!5E2Fg@AHT1Ah4cQV>2dUk`prQ1M}CC&^7KTL>o?K1@BFmR(32;O2U)Dfs2igSelM+%a^Rs*YFI5-=N-y<4W%!5g1E&q7m4YUsQ(G>@YKH( zeJqs#kk(&zcV0=ifK=mo49o7Z@wWg2@A|BhX*OLPT4%5Nq=Uc zB~se2)c73E3>nLES+H4P+|oKz^ja0Dm2RDFany~2QhhpE`a)oEpqip{Nc89s>lQi; znx>luRWos`IylktJ~945ygN9V8X6HwWSK|J>jUWCH?4Yp=$WOBeM)c&RV*`Kg(ok- zU722)Lqo9Un+lsOD4ocj4zlFJL40nn&^X7^&-`(yUYBd?`t;rVpb{Szog$K0M$eWB zse~3lD&ab3o;TY@x07Vb6PvZt(*v1)}RPcGp5flz%9l*qJ$4YaI3hz*4u6lpmeC@!qU*v_$9 zsP(gp>zdc0%Nr_0PLkf@udr|X#c*;I#MhwH=`uKn0(doQ2y2{ z6=9xBJV+|nmA>X$8Sj(uV)|s@PdaDG15FQWfxO-iSqCkzB9UjW$gEWYR3{Z1ixS49 zWr8o%^-r0oHW)wlhv`9Aps`O+l#EKs>gn0yf)5_ERS_$y5K9k%@w=lT-%-F_upf3a z$-5zz)gRhn-7N{-p}{EDJ1;z<`)zJ&{`tmt?aeN{>iE}x9XY5kQMp+B_N@0Vq}=?x zIyDg3OzU<(#8(VRoUIc5OzM=J7-L;0_Sf z7o{HT^;I-7u4%!^^`m&krqT4C)%4(i30rT5$odTdBB&{Kh$tGr?g*}Qz4hc*UaZ^2 z#}?RPV`8_c(FrB@lUK}S=xI&7y|atcWqinQY_8c+23S6-@Gsrncz>)Lt#=m;bejZa zVfEC`+;bi7`&o@|Q>H~6+?K8ykyR>yPUW@kZU<)IZxrA9R6&ZhFS?bQ9%CghGB=(& z1XfPCHY=6`+`rkB`%0h5Xc|^kD?(PHrhqGxFYq*^vOBOndnKRrSrGoOeIf*SfLj(hTN@l>WrjrU{+(o8%A(G^8|c>ZegLMI0=WjrL7_z;Y!*fTf4T8wQS? zLx$Xu8Ixu2638WR$9Y-To{{diMg3Y8 zyDarW?l(>k*#<8%lL9A^5dljuRAWYca(>RXZ0y*T|mkXk&0fBrkyx`xfuPE^U6C$lVp5)X|ft+krysofpS! znjg#!f5k*S84m2~$owtg@=4>#+RTIWC+MaGqrvCQZ|9x(xb z+wrPM)pO`X#gE2hY?B(0?con)Les{tU!Bp+d(B5yM4F}y5YS?DY`lo88p*#3qZ;E> zkHAXQM^d+erMiZbGjvZ{13819groQ#SlrFx%eHosQ}MYh4HUioA+ZcDOfE}c9*E7K zdOj>a@69Pyoqirt9(-<3ualf1ie`U>&1KxraMBWc`p>+C^mrg z_p91-_HRxxP2D909c%qRnyx#Z>hJ&GVT8;}S%qtFy7o-2y;4>YH*zBs*~+*r_sSOT zMSMb(lvTntZgn$qC6o~&yXeZuRl@JwzK`EO{o&EW@jl}wDbz{kG7mSe7(6ex+ z(B$BNy)C`3Kg7TV;ZT#i^Hus0T{JoQf;-P3D%>jQx(;|hG#}#Lw6k-c3ZyGIiLGZF zn_KM!WxN9=LAi4C*ckkF2Siz0aNQG=7;X9(Y|LOM^Vap!qGXC$T(kv8Urnmp)w+Rx zEWf5w#5IgX)s@G8l|xNJpOSf>636dR*V5XO9s^v0dMI0H89AdW+uR%5C>ScD;rYrg z8PR2$zN+Ak+R+Z>`g!x6P1LG%X)-mOn<~Jc<^38ITE9G52vI2iV~+3MKdE`*j~2=> zH6X$x7Y^`Ctt>%8zF1Sa0-MX+v{PZtQs~(#RFz4HZo^}o1HLoe0(-B+PU}|de}wRI ztPZ!PRXjl;-_+rHZQP5Sk&BY)@IF`7H(n;pLe}iR1&_X`9g>#A-kbD4^Kk=>T29mk z4?hmVJabe7D(Sv}$~?305q0AQCkiB8uJ}^wS;5sb4ITLc-C~}Jvyqi2bb2l{tSrle zdc^(tP_;TwPs&g)9^Q<_oiQ)69k`Y`$OvA|2iG4_|c zxSKtuY+L%6GXSZYqkT~}%0{IS*`;>fPRrG}jil0DSzw+!l58>;&_uT&JTBYA|4H2 zLzgFmHtGfOF~M8OJyZSvDVO0uhq{0z=#$d8Nd1wpTYgfQzc=g-vR{V0uQ}GJtbE`p zG5#rf1aYEhG%fV-z{>iosxli;{i0pS^vCr8f|oVMJ36tg@K+RzBUH{l*H0d}*r`wA z<^XP(3R3etE65XSAjrYrY=#8uq!Mh!OFP>!~q}8Ox$4 z1f;*nlS(Js=WF$>8XOsYn!XB9C(k8NhQfN;abm6}Jb#OcEe{!o`4#QK(vHNjddiQv z)x#fhuOzv~&5T+A+;r1<`ceg1*$2W7yGY(yLN`})7O~RuX6I`JbiW>M-pLePGwi-- zRQgks9xzIth@USCqB#aX*o~dp?2HtteNlXt0D#V8kG^x^**PNP4tr1l4op8Czv(;s z!T_2THBV>20hU6wsz9)5jCSbz(taSefixC~-6|!uoyT4zo!JjgK4I6q(}9yEB=A^N z<(~!sIj4d#0m9YhG-21cxb*yfi%o3I2+gstz)EhOUN#wj(f4)tXt6?Vrx?YT;;IgvXZcp~r2zYA)Y@@1kQc3H=Npn17VD?hF zG%_9(myr6zF)3GFwXG`l1GF;kvqc!x*Zp_?_}GtiN3B33A>pDb33Jyo=Y1hz zh}~XLgJh}pd691!wTU^6al-6@9~`V6c^_|7&vEo(Rz=qLCNTfpao~ar8eQOzZGhCA z-fKYfX9zfChD(?U^7oj73szK*z3mPYYc$BO`+Ik(B-G5%cwV=G6CLcoN7kC?K!E>qh;F3Cqm9RbL4A#K%tIZ(FRZ>acXfi7pmMrnnf>^r{)U*Ynq z4irJ2Vi%G|b80jYl3r0bnOJUfAm8d&e3OU3QWGs0i|jB+4}x501Ib^;@bh*&UIv2|gDpZM9mfsw_3|`Z zJB5)Tl*QjW4*Z|+fpRm4|bG%)qBB5x^amo}m&bw`%Ce_ZS6V4F3lq!Wp%3iRt$YA4n zq)7|Kj6|8VC?MMa?j0%XuiKcBnJ8*`^e%a4$^icfs4fC^rLz(U1ftkB*Xxq(j+9HW zk}r0OUG2e6880vVB4ngx2Y;;YR8RVWHgubxsg!6L{fWFU0A5Im!4p^qxE`xrL3ABE zTBCXAe=$Qj3{}Y6R2abuNYgHuPXD7BYFrmSFBP5G5Kt}1jDvMBDFx=n+`%jKnqhG(G`c182eOr) zSlOw;3lR&rP>BbFmJej5)LWinKuqnQ&q?}D%t!CdYN4dl533yb%efu7)lV<*NJC!s zU8P-(7bB|d6o_v}EAPkvGypELq2}$k_OEkI-tvEpy_V=cf~m&bwI;P3wOYT^-?YMw z?!^PRzq+8^OCu07{XCo^^zhv_=P0ip`CMmL3Vu^|>{+++~d#qhh@spIQQUH#T7bs^dk!7U&m%Xvt*d8alz$Q5+&VZE?keh2wQ zfYETL@~6+fi-71hknpSXag<|}ZGH9l{O$Hho{1myl0#|dz<@Oiafz|#@AXKPIPS^a zUu?bv`~eJh2iE0W?c?Iibl=*~)RBX-;LQm1T)wc%w%|}Z5dfO1KCY5`G1Q^mvd4QL z|AtSCPTz8yx>YcC7X4uUFsquFr54P1c+yl!Bsvb`j)_h&&K2eUE2K9uDWQNcR7Z&& zUpb&SXjh(^fe#dOVxB~~6RN=mA1DI9#1r|Le8oBZAb*w`h+(obNe)&F9yp`C&+2enpf-?8#L z<4G0>72WIrrAR-5Q3YJ*U3*@6jKm$yb|{ZjdZ^Jned?Z9v{DVZX0?R2%mS1M`Bd}7zf-*>S)SV$VHr>5guGA5uatMo2i=Hi~r#i_IeAQ)+1f@%H=SWpS>pKjBF zy)ogXzt3k)vL1=$YAVvZ_9vsNSt$3%fzczQhlzmUy9%{}F1mh`EdKG)Uw9QGKSr<#()5{GZF!Qp5k9jwRk|N2zx-z zctm`IM&m9@tUGAOa*U2oUa1jynd8MKFr>5Y2v?jHkDhwa2^>P4HflU~Dad7!dJv4C zm2-{qNWp((22=&4F$;9bO+Z?6i)64Pp0X#A9BfmcPY8HqU6M$>Bfu@B&T=$hUD#?^ z-Y*ez7&8dVZ|4%{E%JOJZ|OESmc8Vx>5y)BSw2NT-IXwIb~Fg)4$XP!6|KTU`%1sU zG~CuT{@55S%zWhk+5+%8P{_p+S1-B` z+Ihwofb1__2Ar`}D&v~u+s5_;Yx|BSNi!Z4K(n1b4(Jn0jL;_Xe&wZ=x~m>Qtz_o( z@%2Bvp-JQtpP@gXG;KRPwdjR;!uEQSHP|Jp;2z$3(j}EI(0U7c0TOyh!{+V0C7-7n zyQ^b07j{bwH2XN-#vMxy(pr14bYi-qLhdSYjF+&-;R#0wHfCjdlt>ayx)`Yl%4t(^}n)7n7F>%awY2;8*bW4`MHm$+{kl13vLA@Djh+7|ST z%g=+dKq%|HRY>}pYVA|9kC*Y2XC#oV6i{=DTot1HOrKrB7w&rEKs9{z9Y@p~+Ja;! zjz=<4;`Rf|Dk1E@H_DwQ0^4v+s7!zVZY0JBbg6BbGz3VKsE5wmxckDKEA#ZlkHY4F zRrM~N|H}z2<7Yz$FqMLaf6?gg%s0-(jH1#myYj4j1-X%ja{kKpt2@-R_!M5(e#C8p zC$8huZ^14Q%thG-+wYZ9Jpq*~(zVixIEDm00NJbFS52Mo#gy6t9>O-IjyjiRaAcOw zJ_4fl@-B@A33xOl{FC^l10Mh)vj)Vm)&k&ZJ;#&I*=}O3zw$+!Dh-@%CXE$QSqMM#^EM}~ri6c~S`P@`29aY5-Pe+2 z5vsAJ{;n)cc9bm29 z>@Wr-!K%HkN*ezKVFfy%7PD!HYnr9gryufKN3+2}()dBt4xV%_MOWU+PP{eZUDv|uBQzVAp^OZjiUEs?Oe?1tFuRrH7Mdu_{o_aFIgyeDPa^>iwuPep0Q4>dGFTN2dH&vrhdKXajb?= z`BAYy?+avQfxar^)o={3?>z1;eX2Fm%q_DIo8k5~p#E3dC7tpvDptjMt_4~fqnocc zF#8n(s_vNT$9T>EmSG(amXFBxLo4C#f@vtX)Gdbp zNgv0>V^U`cj6?DG!&yg}v6GH3){bv+`*Z^FcgpDC)aZ6UC_o+qVU#U3BK-`f+S+Et;nV}nxM*) zKxHRucPDDWrfsG_RP`O%&}iUD@=S6Cn;VFUjoxoP(JF$oN&+e;-_j@*{uLeB@kB2ru+Xb#f84X^-b)4X2wWbNTMZzl!qrIh#Jwj%qjL2H6R8zyEgm;9Q_!i{#H*QlF317j|@3 z1^LLK-3E{4!m(Sdeg{FX`n_VlztpleAFv{au#HE5vh)ceP1xPsq)wpY#C`yq4IV9< z#sP&0bJCj^)SQhh!pPG!l1Qyet?_`B)as+>?1Wi}`pCV{#3KS?h%){Bie==g_4Ju( z#nPVn4xBFT;`*LZy^X{Zek)zK2g`~o53lCVIbdVPZk1z-B?eMYB;IcMV_Cs}1;A?_*}6g?vN0*zYqB-y}5<#P%mFI8b8N zT3@Tfb<+^6Iro=~QURCBb@wJ~?mG~Hc?&kkKK%XC`dOoWrjw+z>F-|3z* z-VK@nz7Y!jedX^y7-42KNSRB6QcAwXjhwjHj=cPSKQo#$h2&tf;yZf(85jE-CM~+D zwTE~n5orD}G(<*bDF*bt%YERWK~*p}Nm+q$t?g0HM0^R`46tU*!jf?k;0#a1L~GB~ zrTR_o{znbcc}I(aIJIkMsFp;x~FdgM)>Nw>Tea{U?>|lA1?97OI z_@UppaQ!OkcT}m%nhq0CaW-6>Kg+BBNI){5;Yz{Mizqx<;?r^PGbTR2Jh{7(R$}qz z2K7BX0Xw5D25L~SamZbSgNppS*l&j^e$;1#uB5Js-8a-`RkO_&4_;#F^t?LcN%PJ) z>r9$es?{W`$Md`S#Y^;^LmtuI(^1pOu{Da{%uAie!?nABSI#EwCV|$?Dfm}QCWX}> zluwTcg}(ZKEC7EX7w}b^lG;Kt?X1I>e8sT{@Pa{9aI6;o4`e>G&n1|Vz2sq)H*%Kh zoOPSa%OHDH^!hDwhqJ~43#V#(why{*&%BzvFUSRooT4gxk|&0D{T!yXjBUP<#!wr@ z;Rz*+u_Z=rx(!-*fa}4ofQU`yUtd&f6pcj~Ls7{g5 zKY9enl8b+%`^)jPUbA6ZFnR zv1)o7{!*k4#EN+IPx@2`8UxVG1K@%VU%+}ocdZTQrw>G%YMpOwJdYiMCku?orZ~#Q zvThp=Y=_6(C|ZzoY~FnLd+8#WA*C3*bB=gMqEy7cYftnFjO(SrE9tu^{!l4R>+-Ov_~i6 z-7yK%*Gt{e-Wz-l=n_;zn!w!V9dZp%Fw`h_cHl9==170xnbo2oZ@3CqD@&@;ye2TX z@AamjVhBIeCtCWUr`?(W%KCGK_S0Fa&5JKeXn^;s$l*txBa%YwHxUYd8WUYW2WtxP z_L3)7#{>*7QVkQ2ehoYCjr{W8BOuUnt%#iMt19IM0F@uj~?fgSyBTiprkFkbZwPY1?Btywi}3C@v|*_f-`Iky3!h5#h9^|pr_kjhX9l7rW?bCQC0_Xg3--SF zzyn=A3DVv{;Kn4TNw+u0h!7|M1F$K-!r zoY}PelEeN6kKjrk348mBc1TJt1Ss+QKV#RSjklggvm_AJA~dA`+_!A4+r-J58x)R7_86d&ZNjA{`&H|4svs{X;z;Ysy>uRzTL z#08f-X>L+FH*<7|of@UDW>Npdpt&eP^x~^9>kwM-shK~W>0l_xiB=8(0N%IB?A@eX zLJz%o5%}X0^}w|CbZylXKn+qU`V=`KwGEz7$l-C{`rn4ekEh|i)Ol)rJ{YRUT-4@-;&Pw%)C2$Zdb~LW%!-p zyfwPKl9|jDf+_+*84(%Dq3$a@aPKE_+5jL(zFxoDqcfol@kB`L%U@a>Xh@oTmk$3S zQ$ixV|EZk*wK7ezrP-(C>JQDi=ZYUPF4gd;uF@H9!anF01=No5&qQst-^V}}+;L{M z0DKbwNFgVQBnJ*Jj_Olp+qy|48{JczhQ2EE4=HKqLT;6j`dGwSR*nZ_@gVDHYtSX!;tTdJQWA*PL7KQ?DpF={k#DF985ybqCbXbFB+u+gaW-VG0bp1r63vxdEqA z*Am!1bdOGV%0JVQb6pPl9XkjNltB~!N`~!{bVe3O8 z9hhg!uGwIilq+yY99q3d*G)a&x0a-h&w&Nyv`16iDLGW@p^eGi9O{}KAZ)?d;f1i- zg_wu~1D-Pqpb>q6ClQh^>$B0wPt{JpIl24e*m6epUH;P=Jn~aDR^E#c^7rp|toyUI zL)%GzIQf&CcfM*rl|>FdW$yn?;@B&Sk3jOS=yn>}^vml%IRcfkI!I2$GXHS z(238E@^bY#0)UjIwy`-TY#Usiah0KKTiqcXD&p4x=1tY$c9Tw@-is?3dq>sIcB#Y~ zY-rVHkvmR(6-5rp(Sj{XP5T73RT#!$qBE(Y!vg%@@<5FB&8+@T-Y!m7AbC&NqjS=y zH>(#-xj})IU9WJsH`IX6>9m`Ok0~WSB#o(17ZR?m-xmN=d2k0izFJH>?fqziTvnOESit>tP(~ zCk#m>Ml;yCo*9ccAN;LaEBw1K4b;T+nku{hl+7JG3RJfxDDOJO(pK?d6))WcebA!W zyZ5)$r=zu1e=BNgmVGGc0JKwSVC3TzP~!r6xzF8Yiy>|i3^NYD^c7Ss-v{{}6&K_L zgSwegX?UHjX~*4vLj`I0^e4OTu^y*zlZ3<0_Y@|o2WSB9I8FknL8bj;m@NuOuTfZ;MTg*r;3Er8*s z30WE|M?eM6MC&|l-xu2eUlxd$cPsx}H*qEDNfK9*;i=SNnsT95ok;DG+TizH66||C zUarqIGIz`N_VL)V*a`NPVcY)9LsyB2rh=yS)3?u4D(DH3fK*m4hi&8;xbQN4kB{%| z79iEVDHsOo8(Yl7|5`7-bCFN%tBaaEeJC%%&qQZTErf5 z3f^&1(}_CqfhoWGLlW_%rJOLc0pCng$Z_%5V(rDU41qE~b-*saTYdkjsUl!|+YAW% zX^I1-7xgC!?RXa&tr59bWUXHnXMb5bu3ziw4WP$C21zU$qR}vko9&)5#Y8wpF-&Dr zJ{?1OW)es13~CSl?mUxz=|HIA!2R90=>7k$-}y}(YeM&@J|tLXC__RO|>n^UWSLFhl8&^>yCONCuZOUKJ_y&QhqvI?@gMo&oiqHS0m&-qFFp%^q6 zC||gMTPW}(z~~q8uh4e5VH)8O|2Ic)0$Jd&dl6!zE@><;L*m}#hdjyvD&Ldi&vo%W zl}~WjzBgqLilCNR#ovyKHMQ9b%D#_esB=DhaWrfO=~UK-z!~5D`{%;j@=BckhRHaR zJt~X=l+o3Z1mc(}t}W>7Wrf-ta*5{@V-}%n8^PzpK$%RZXQ^75OCRU1HG+$$q9MN z3`m)7cs%sqZ@SO!LDX}u6|PkXbiCPWr}eY-V9cZUuWyl_9v4Jo1HM-BBGU~^Jj%!X zhmX_MDZ#2H>yTQ@FLgB_>I_xU+~%%0H1RDAeg2~TviAbL@Q~L<3*Ya(6Bfl+aPW?B#*h-&Yt>^7 z1pH$Y!>nhI*GDJVH^Ue>?WZ7lo&~WTzy@Ivh#?s_J3hJrX1C&x^4xiB18fHZSg$e% zej^7ytW~kpbt)MCuG0_I({R6=@r!*clyTVhS(|oPn&0bzzxSrdJBqA+PWIOwu0dxH z^@gT?G-uXSbqvE^1O>;3o@ya3U2%zlW#aL30Cj{|Z-jTTV80 zMedzKXQT@nJ6O(BKz?e;T4!s@^Mm|%0R%G7gd-koE6LW)ai8-Zyf>GC5_OCiTs<{ahCD|i9XYNg{A~Gb=gFDX(hcSj zqb)(sg?~D5+{r`$}QV3~NXYziHnK`1qm5`F$FoDqF`PRHO3Z)Qi< z{?V-izSM=JmGGBPi<8~Vc%=T_Em2>c1VOW|0w z)|+7FCDQt&Q`-W4K@jB3)&NJv9V$OiTbpV|xpS^rQWK=wcZ8obM-Vi4Cb+%OUSGFW zEH2;gG5A_Pi6T`H|nzP)(h*JFiu1l`JuvViUN_vCcD zfXBm5|0%ZNtBl1mmeH8^YvqWhNZwvo;rOS|nY`y1jpky{im`&LPT3YXx6?{hD z&)Ssot(m0-rQo{*Kp=v=eIe}#X#CmpJ@eG&Lp40aaT9U`?w+Ej?P7cjdMu77MoYMv zypiyi-b`Q*h6}bCtQ{G+x1kWdujYISl(=h>JaHs}OUifDeD(CDLc zU3Pczn`q{~fvYR#oJrI+YuX^_elSN+FNpzSpL3>1LDQi+77eRcp*8Rw@{SN;a7TSi zZ|DW#3y(4!F@JDP4y-iM%B_C7=S$-j`+|-5XWZn(?!G{m&^OKc(~*_%wjl36D!#$1 zKMO{L__H(t3Jqt?Zu{EmQtXW5swao<3ov)q_Z`&-_Zx&qoV8Wtj{8P+&KGut(`ENP z+}SU~99i~ewfAoO0kww_&v#p^OQ3g@;K5u*7G-$*QpK0l9*vo}PtDpjfCZ?^^p)8f z0QOXF%rIhdp>a@|zg^tIG5}q zk}4~c0AlZk{K%kUS3k-SBBjQJ(k*b>_5G(PO{yk)#?FGD`zKAG$h=A=?TU`VMvJbW zR=ESshwfL+vH(~dhq#B?QUZGR6TcAk(6?+_FlvTj`9-eDzm2n+POlkh1wu-K%+qq| zq+#U>P94%82GVjAobhk&=cGRC;EHINT)&@=~vu{q7Y^W$IJItp!XHNcqY34l?|fz!jat_ z=qy-AwbsUIfA3y#A8kRpV%OevWAG*4?Gf9(2|oU;OU(D0+xzAF6!dTDg-7J1UjU2M z?*^zsI8#_6q~h||EPgbi88NY&o)Rv`tH+{;AFj!Z*i;Nv3aeTOi{3Xn9|sB#RG}=J z)19(%@2Y*=Z#rg0Wt~$7b5>)u!uxtl*n?|wY(PGm0Z!-?fFl+I5AJ^KV>mjz{+-p? zC{`d15*F#Fes+q*$S!rf^}ly%4J1|Q3ar{9s87#o(P27lI?7kHYlP#fXOY5tdv~2- z1vb7MjP0Vrpb&Aak&Rbw%b{=w2!4FN4^L8fycukD0Z6+2El@`hCl z3ROtlZflB#_hvwVOU)7W@I<2pn9k}_?m2b9`FwQYQ4QYk^=|LQPw^MT_Fv$Y#oGcx zW=+LG0R1}5=k~X>>v!V}=CA2ow@V#1YO#M~fGT8b;_;}sU{V$bTbifC5nV!oUQxg3 zY?v&zJPFR=Z}fcK+D3rdVP1ic?`ais^bvKpV;@5?^3kjACQs;~$H5Hi^DM+9++l<*a$7*QTwUF!CcbVcS>$~$%&zq{-jT?A3-|e z%?yS+Nn@)?ISM*#S6zS>J9+2gzcm26F0MiSDdS2^lAeC3zpLLSPS4%B@(zQ;H_DFnuD~jPpR`j=saY8*jcbKN9BS`%Y$6%`hBmbB zIHl3R3ee#_whJEy1}G(7iN9?R1Gygo1nQlRxZ3v+jB9k_!v{<(+6ks19S8qCNep*J z;Lh%WCKdpGm9PDiMaz>Y8$KdWkc-D-1JZ(y?InPg>bQV#AD2+G+2t?=GOUu&Jc z28r4eH^ePlghwl?*d8GLNn>cVW~lmLk%#h(5b)Yj=F4~S)^C~n)|j1^Ns{TP93(snqRiU*|(Q z_usULu8-`H_>U2;pB|)+5c^L6 zSb?i_dV@DQ(KyU;7V-o#4ij^3*Z6s?_69leugS*TqIYe=-JgqLaP{H1dW1?o~uj#RdW&rrhn^OjR6nrWD zDnm+WP8(IrUW=IjlUlSyCog(LU!9(!9FiSgS(5$_2s0Le6Ti%qV^aI@PF2^4S5wp-62mcX#tWjzDGDF2)Zb9}(&&XhS zqb0JyE>+TkLrS{~ONnlli5O!cBv3s*%G{$~4FDcX^C|AT@~It?4tES?m^sJ~u>gUe zT6rKj zJ9l1ek9tx3u#F`o*Fj$Dq(l@WEvW<{&tnO{jN1n;ZK;cSWYy+|6 zz~+KP`k&1O@6nrT`fU97y?nSjf1kPp&7?n?Q49fUH=#x!bQjAcAnu?Y0j2N7f1jwr zVv}LXvYfgHMn@-izz!K_lG50VxPw1MsDWB_3v+{j94c}Ul-d4(GCb8`G5d`>^;UY; zTf()LAcQ^2Geb{yZ3vdp!3N3+@IkDrF=|{;FZsIPNvn%`KMkWzQD!RN&I4td(!iAh zhs7J5{NU!`n7?wKGXG~Cy6f-4OWb}RhKmF}Hm+jJc=6)6mkSo}?K zDtLcekAHwn7CH-_5m37Uzf-f}6aM8-S0`lCy{4PS++nQe=Q6@!b{F=^)vu^?nT1Is zggbXun|FS))QO$P&cX{37G<}&Zp8@b9cubGnf#FU6sX0DgylYpF3rpkh?n_dFX+_5 zkMa}*$hGV(1=<$-pNRa|Rd{?kfT`dk3_$`nQ2C$JZ7>*Hf_hY0u_SpVS{#S$o-d;^T@a$}}Foh$$aJ3VAafQ6mjPp4^$Ta6QO>>wqI`Z!5n zU~z+`PQT;bq^Z3)`4o0oOpoMiEPDr$_6NXJta9Y?K$FkW{xeb1xjPZw;qKR4+(SDg zXUXpF8lgIK2{ZKUYOXB+bThNkh-+s`ZoEm_#f2%KT`LfJ;L~!Pu~M}T?sR$NZ$Oo0 za+$d+2M6XUSAMlA0Cp8~=Qf3bTF<~alV5?ivP{?;0cmjEg!oI)gU>^1M}^luU!g_{ z2u8C%uJMuEpZG+z5fR(Z)OmFWKE~V?iWwiUs|vl z0QX(Qtlt^>wj?mqPf^pp1C)~gecGl1GYR6VjbQHJ;pw0CZDRGxa?)G~JIKZJT~q>{?z1@ zgJ8oc0M_&MrCee?+93o~U`lKYUG>Kpv)Yst!U>auKwPp!Hbp)JNzPj{3bbUejNqw_ zcMmECnPVR_+=(k+5v33)N?>Y_>d?q!zul3Kv^+>7blBw5DYgH{0>H2j{{|BHsexH2 zya`uG;)vmnwq6SHWOmnq8E(21eJ^UA3JQE2_#mx9InLiIwP)Rfe3i;ThYeYft2Pp$ zR;C9ZZ9Y7ye&#Rl~3(!|^w*`{-*#PIb#6g_F4xZ>wJ4^z`WF}}^TO;IE zri4Hn`%%e)tL-1(7al~7ClRsPFL}H9re&tD{1}`-1qH+%tOYN+2KuCh8AjN^>+2}V zu$}A#nb0$pki>vRQ)zJTk#+?1E%4Ut*x|!^+(eD@qll!of)=OyA;T|Wdn~jw$dBw)#alz; zb!Mfcr%n+Y>c?VdL#FwrZ$vdQE(3|s5uKFls%4@FKuVe+kC)Z%cI**{id*k!S4GV9 zH_R3~f=Aq<1MDH%GOI1k=w{Pa=DS2Zvdb61y>5BX1OJW)anf(SQ zK05)>qs0~CvCn^C`96$KvTHFFYa%2-5Q|T>*s9p|9u&{N@-~gBz!TxH48&#IfMLZ} zb^oFU3`LP#G!bEEeRWfGH&|leqi=z`wyCxNu3{~yCE`Y?G=8aS)TJZT9#;&~s z7%7wiW;v^6gX#%`S%9_Xs^8gR>VIOC+29@QY5=F8{ggmTg9mf0nAy)N%&JZUF!URD z|8P4gvD+=`n(=%dgun*4Wgp!VF1Yr{>Qno=ZW5bmV7!!kbUe*+^gSan!+%DhnhtN54g`4HXb zZx(b771s`9#8RA;w}nUhCeeA>v;9umy@fk;*M)3EEd;c6Si7f07?#DK08V~B=bx^n8V&3`BAdeY|4W2 z1H?QxHaUCSpZO(u%f6m~iMuQ=*`o{v^;DdjcmYW04S2;|v=xo%4;352;NU@1YUrPr zqyy+^Igui7v`RiUoZS1J(h= zXncYQ*S!Pb+@S&I+DrsGT=#iK2PW0Q3+|LOoV==3Yd+MR+6h2^bd#okPV%35DrZ3z zW{sXyp9)oi|6cn@eHvL*paJGSr~+d04cRwsj(-ijofkQ7rq?Hkj0=qDrlb!>fZ=Q! z(TOImm&{ySstA0+vhtEp{SpdHh0kJ#3qN1Vd z&*)M`UqfN25$6QN>j%Bxt?fUOD)$N}m>uhKY@(3jiY`fI|9+JJ5;jMm&1~!8wp=31 zfHYuaC8C@!0Z~;S#Fd7-hfZ2XB5Iq-ytaZ)+vn|na#OM$7LSQ0x9k8K2;lA*12rTh zv-k6dqW^JZqTaPepm662F1c!Aq7bOMxF)~Fy-kwEFXUTX3%Y)ME?zd&y^q`IA|xHs zSQfK4#TO3+LUUgqUlq$G^;s6B{Pr)+REM-p?tVhA#c81mZ|XH`IRRVftHNXD(i-el6sI(kh~j`Ro4`nq@1$_aToQ-*_Gq8B0m;6KV3G z7oAXALOm<{+Q??}LX4J!+dgR0ocR0loRo8SKj8~>-$t;;imAamBsavo^=#0>rk$t% zZvFqv6~TW<$C0)1G9Zm@i#HYPX%9?Ic0BcSMimN;<_J6K2fos{0?&sY9{J?=n&t-G z<52O^0JstsOh;A9ai$!#nr624?NuE3v|HfQ1X0TtMc-{c4M{)L#YIl+HvhYe#Wu{l zm_i)$Mw?T@3f@0ty-DEDb%*K#K`K}E04A;rV(5HXsp}2!tnW5K4IO#)#SpVAICJQfcUC_8ZtdRpk~3943lNRr3aun3o-=sm%oIgcB(%@%YbPA?D1EoA31F?E{2DgE zdGlG^%SXIjcB@~VLg1#f@AoR0u)k*mzzwGYM@uxC<=@xeCOJ41X?f^7cdO&xPVVL& z8u@ZyRKO#B<~AWCi3;@0!5(TV^9ZHZlSQw^>6sl+ugrk zHvpH1;OkKZL~#)#_LrRmYdpI}@!mYugCIx|=A!pHI(FDv?Cy$j8t za^3(ZWA*O^Rxtzt3Eu3}E)bN(PS>C{A1>kh(u*bIV!ev%vo5?sXhri(7(BCrme2SzgBaoo2w@Wcn&rLrV1`EUVgu$Ar5O z1fLPNYubR5WFa5H?0iXnnPAuoZ^d9rs%loBqfnkVm$-6Dee7%upE1;||fbN=0rUT~m3`KyVPqj%dje}+sj^W1cJUc~Cs39|u&q4)_bL%93 z-Xk3${Tfp!=zV;q`kK|oX%i(;vO;u+fCtC6o^!WI5;#xi(wGo=a>9n>4_ADQ;Pwkn zX5Rm43DiNX#k!vbPdF5;-DU7wEp%A(Eq4&dZlS|FT^ss+1J)k|(Z^tQ(f2@)0GLUZp0`g1Dw*~Z}J(FU3_04XCIzihej6Zp<0@BAl z>i92LU~M)I9n?Okmpgio*Z!V&W&N_46--&?fG$f+D)G`fp%wLpGl{a)(YRtZkPbQvZ;Z8TW`V41_mubj4|^g zp0ft>WO&Tw1JJG%mENnz0F7NgTuznV*gzKP7cxaa@z41PEr{Od$ty>D|42L890YP# zh{cn5(r%WpL%}-;1|Geya-MdUG$xUhQ}A9IRTNMZ+eA+M-^KR-ceN~O!LZW689*nx zo~$Re=35%$mz$Qc!X?f^bJn0q&Nys#T+*AYGx=%d`#kWSx2+T6Hpy;scjs1^vOks` zqFCe6dcsRAP9H2o9P6aWKDWwvTA0+f{I^X7)G(QxOr}79D(4DYHM>1Ya!wL+ExH3~ zR-NZR%j+&{dHFp%%|=VVh@aT{R$~gDfw(ft4q>=O`T}JR79FS#JkM76k9Mg-*k$+T zdJGmYu4NAX7O8yzWS=##59^Qe>%tK_Men$%f(4$U@6FL@8O47~x(usawVT1mq^#ZT zg73UAZvZpGgqIwG|897F6E*{wtHVGSsWPQAAK(#c6SmIeXWOo6J*i@9T$pkoloXBmie6U{U%8jt#$8y=_@TuK8tGe@vn?(kQ4mxz5v}#fhHcJ znpu+}LHA=w*p$(7VXaUoi$>5ZjT+GFyV$%F1Ok*ET7@*H{4)GW=AOfEjnb2AJkFSA zk*2B1WPmj|j2h1*9?kj;dV4?Il0kNtOe%N)ucroth`_&+OQ7(aBRZfE8rbQR43;`1X>3te}aE#pNTUu{lZs5Oz9SPP#rwQpb&hdVb-=ZduB( zh$>3#a15!*JLhvQRSSPb84uvm4(9e2HnB*VnsA(H%Z@wuf+RRSedboSfF_OTwtU!& z2P-eq`f+KW1GWAmi41J6^S!&W4ulk-l_0y7^@~*6S*_CytM?P3RCy#T)Ps2Oc<{ZF zXHWFbV?AM&&>R=OJ$_K{PV_Ka0UGPb(hnbRIVGK&*sZ!V3^e8+|MN2E>>D}0p9+TI$3^E7&=c$pTZZ@*`R3~U--VTX4D3GowU~t zG+ZjK2HVeh=l3TiC$Ts5zfqLW0E#PU_1n#--_ovg2QScd<Z52 zGH+Fw1Gp@W|9qD&2HPS3WhLDcNo%0Axc>66?xSHrB|PeZm-A}^2XErDt2Zp%h)eM5 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 RGZ6xQSYsU6}v? literal 0 HcmV?d00001 diff --git a/static/images/upvote.png b/static/images/upvote.png new file mode 100644 index 0000000000000000000000000000000000000000..e96eafad43e8c5dccb078adb3d356d91ad04841d GIT binary patch literal 101638 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 XjCh-)m5px^;D=;sN2oa9bN>GTv=4QX literal 0 HcmV?d00001 diff --git a/templates/question-child.html b/templates/question-child.html index 5d3d2c87c..5328ddd02 100644 --- a/templates/question-child.html +++ b/templates/question-child.html @@ -24,9 +24,9 @@

No image
Username
Posted:
-
+
{{ answer["vote_number"] }}
-
+
{{ answer["message"] }}
diff --git a/templates/question.html b/templates/question.html index 0719970a8..983782802 100644 --- a/templates/question.html +++ b/templates/question.html @@ -13,9 +13,11 @@

{{ question['title'] }}

{% endif %}

{{ question["submission_time"] }}

Viewed {{ question["view_number"] }} times.

-

Voted {{ question["vote_number"] }} times.

-

-

+
From 883cf9a969f56a73846601cb126fa975aa24bc0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Wed, 13 Nov 2019 13:10:59 +0100 Subject: [PATCH 080/290] Add return to question page upon delete answer --- server.py | 6 +++--- templates/question-child.html | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/server.py b/server.py index dfad2f254..f35d79fe4 100644 --- a/server.py +++ b/server.py @@ -133,10 +133,10 @@ def vote_answers(vote_method, answer_id, question_id): return redirect(url_for("manage_questions", question_id=question_id)) -@app.route('/answer//delete') -def delete_answer(answer_id): +@app.route('/answer///delete') +def delete_answer(question_id, answer_id): data_manager.delete_answer(ANSWERS_FILE_PATH, answer_id) - return redirect('/') + return redirect(url_for("manage_questions", question_id=question_id)) @app.route('/question//delete') diff --git a/templates/question-child.html b/templates/question-child.html index 5d3d2c87c..82da0e4e6 100644 --- a/templates/question-child.html +++ b/templates/question-child.html @@ -30,7 +30,7 @@
{{ answer["message"] }}
- +
From b8c3f141b894096b01568152ca6aee859303ee6d Mon Sep 17 00:00:00 2001 From: Rhyvan Date: Wed, 13 Nov 2019 15:13:19 +0100 Subject: [PATCH 081/290] add child template block to question.html, with css --- static/images/basic.png | Bin 0 -> 5281 bytes templates/question-child.html | 29 +++++++++++++++++++++++++++-- templates/question.html | 11 ++--------- 3 files changed, 29 insertions(+), 11 deletions(-) create mode 100644 static/images/basic.png diff --git a/static/images/basic.png b/static/images/basic.png new file mode 100644 index 0000000000000000000000000000000000000000..daee7e9875bef3589b90f2e2999f62924ec7d978 GIT binary patch literal 5281 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%0A*c^xN%CX7H4!)By#>(^a}|DX zr2m9J!;l|^j;ZID)+6)hp$W-g>)~Ifq(-k}FukAZG!0S4>zA(Qc#j9vbuPgg0l%~b z>D~PJq2-<==16^zh99Nj+2p^9WP)RBbFU8IYYCK_8AA~3WWUA5v-o%II@n)3!9D{= zWBP0flQtsrw;*&c{vmLDi2M8)j;PAwHawl4M9lgd;Sx)^QyMHY6S@MI-Ugndx3$kSrq~!NX8;}Krp9WwUG9RnG@14r$aX1`rYnX*duXsG-iN7~81vmiN z;JyuWI#5lo5kJzvVVGuN^C^aB3ST~f%oV&|@N`Ufwn1noKr=k@4I|pB+AlqYe}g&! zvuB@4^!>fDz&cC)3xTf?P8HT2`BB;qQOzTIyp_S2nwt&S!|E1>-pIB?JN6g42=S#C zN4NM9%$Hs3sHo9i&uepb1OA$oD=hci5#hPoFr&wJAlprGHmY|+MiyP(V}##(?24TF ztG#~*;o>*v#{S4TS=&oo4}6ElcmAJI<^EgcbH841bER&*n$x{j7i8Gg4R|~L$2_|r z;TUw87l(YNpIYvn81h~(x*-i%mwS20`zKrO{Xv5=rOKIj_dItK&Ymp{7pk%sVsA9I zA=IX_tEO5Nn{LbtLdew*bHTHfV9S<~n7ZsKA?gc5cg*wC8wvK}@G;E)&(jptbgL^e zIku^y-bR$)NzxB*({o#|SG!-;2m7(ht(ZMrZEyIikg}bn$_>+SA5izqC)zpYAO>U3 zErT>MJu$a{!dQ%FPA|ls%+>&=(D?G-i~Bw5wDo!#+b}%SBQKS5P6#R2cU8G}1?1lo zb58rkkaa~t&rw$ryg&G2268n-Pt5sPwdYAYq{69|dOHZWbz*D0_a`KmwurejApbX1 zejOnyDSBg`nGV|Lyh-Jss59iL3TZ*+b;qjD-$L}DVTY`^Jb~=L)$%;D^;6Xadtv)- zM?!LG%Nwt4qAEH9)WZqMq1l3|InwV=qhjx;%+#m$4*bO#&(fEOz&B)ZGN^ks!;LV7JrAiOd9fF6b>-7QowJhs& zhCCXeUbWqxgA9$}_kxpn`TC^}^vSyenZDE#*J33MT9>^jAitKq5DifOih{NoiiY1% zo5V1@T3!1&Is!S5Tg&GYkiiRGwys;FWnZN;9QocQR~qo#I+XR3haB37HG8KH7Zc_<`j((VEEyy~!k{Hu^NGPPVwvc?E|ApT}*xdYjQ z^r9!G@xkH*Wr|Hu4>%s_g_dG=`9=7CqU9Mpb)6B3YmW6v%#gG}J!e?DWA58-AUK$! z%^d3~3Sf>E)BualPw;MlH#bmjqXwz^+;azFXxqqqup8o6P?!6UA@8>tq)uu;o?K1~qsxCJo=eu*E>24b) zd$e!B->d5nfY%$WqiWQ9GxfUSsBA$z>z{%}jTRBxCbWL`Ovt+j$~er}hxbE46R z<$09&b?cC!TB}XtQYhy{c{hL}r1RAOBn$U!{eg3kmGul{p7{aNFjpcLNjD>N!Kml1 zW4mYT)LzRAL<{f|vY}k%Wn{Zz-%1);`MV!t@iLiW1eUHIUOxpn9`HuZ-!~9D&*{`V zfx4eg>ae`X98Po>y?2t2QE`fy8#)9ENprr zCQ!9z{YkPL64&l}OgAL6k+VJ1kQ0t8kSI#MERs4g$RiK`Kt!X&i} zdm!%eyn5$H0_q!#9O-n6-X@|I@32`Nz`ICqbv*GFD!q^`nS1bdTT3(;k~*4_{`iMFi@I7)3}=$xIao)uA@z2W n^Lg!X0QPXHUh1{X79al)`Vt~v6Pvs600000NkvXXu0mjffyh_s literal 0 HcmV?d00001 diff --git a/templates/question-child.html b/templates/question-child.html index e5fa25faa..ad7c3e1e6 100644 --- a/templates/question-child.html +++ b/templates/question-child.html @@ -1,8 +1,14 @@ {% extends "question.html" %} {% block head %} + + + +
-

AskMate

- +
+
+

AskMate

+
+
-
- - - - -
+
- +
{% for header in question_header %} @@ -52,6 +59,6 @@

AskMate

-
+
\ No newline at end of file From 0575c0b10f306b27ff3c437beb3f0570d91c8787 Mon Sep 17 00:00:00 2001 From: Bogi Kiss Date: Wed, 13 Nov 2019 21:06:40 +0100 Subject: [PATCH 084/290] view counter fine-tuning (WIP) --- data_manager.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/data_manager.py b/data_manager.py index be461c68a..2ef9c2c31 100644 --- a/data_manager.py +++ b/data_manager.py @@ -85,19 +85,20 @@ def modify_vote_story(filename, vote_method, story_id): return vote_to_modify -def modify_view_number(filename, story_id): - all_stories = connection.read_file(filename) +def modify_view_number(filename, story_id, viewed=False): + if viewed: + all_stories = connection.read_file(filename) - for story in all_stories: - if story["id"] == story_id: - view_to_modify = story + for story in all_stories: + if story["id"] == story_id: + view_to_modify = story - view_number = int(view_to_modify["view_number"]) - view_number += 1 + view_number = int(view_to_modify["view_number"]) + view_number += 1 - view_to_modify["view_number"] = str(view_number) + view_to_modify["view_number"] = str(view_number) - return view_to_modify + return view_to_modify def fill_out_missing_question(new_data, filename): From e25b39400b7c2e21ad4664e3c3a2e4a448beaa29 Mon Sep 17 00:00:00 2001 From: Bogi Kiss Date: Wed, 13 Nov 2019 21:30:26 +0100 Subject: [PATCH 085/290] change redirection upon vote --- server.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/server.py b/server.py index 764168552..49f713921 100644 --- a/server.py +++ b/server.py @@ -55,6 +55,7 @@ def add_new_answer(question_id): final_answer = data_manager.fill_out_missing_answer(new_answer, question_id, ANSWERS_FILE_PATH) connection.add_new_data(ANSWERS_FILE_PATH, final_answer, data_manager.ANSWER_HEADERS) return redirect(f'/questions/{question_id}') + return render_template('add_question_or_answer.html') @@ -65,7 +66,7 @@ def manage_questions(question_id): if request.method == "GET": '''add to view count''' - story_with_mod_view = data_manager.modify_view_number(QUESTIONS_FILE_PATH, question_id) + story_with_mod_view = data_manager.modify_view_number(QUESTIONS_FILE_PATH, question_id, viewed=True) connection.update_file(QUESTIONS_FILE_PATH, story_with_mod_view, adding=False) return render_template("question-child.html", url_action=url_for("edit_question", question_id=question_id), @@ -113,22 +114,22 @@ def manage_answer(answer_id): pass -@app.route('/question//', methods=['GET', 'POST']) +@app.route('/question//') def vote_questions(vote_method, question_id): filename = QUESTIONS_FILE_PATH modified_story = data_manager.modify_vote_story(filename, vote_method, question_id) connection.update_file(filename, new_dataset=modified_story, adding=False) - return redirect(url_for("manage_questions", question_id=question_id)) + return redirect('/') -@app.route('/answer///', methods=['GET', 'POST']) +@app.route('/answer///') def vote_answers(vote_method, answer_id, question_id): filename = ANSWERS_FILE_PATH modified_story = data_manager.modify_vote_story(filename, vote_method, answer_id) connection.update_file(filename, new_dataset=modified_story, adding=False) - return redirect(url_for("manage_questions", question_id=question_id)) + return redirect('/') @app.route('/answer///delete') From 6cb82d43a850674efb31f5234c9d91a08c64a362 Mon Sep 17 00:00:00 2001 From: Bogi Kiss Date: Wed, 13 Nov 2019 23:50:49 +0100 Subject: [PATCH 086/290] reverse fine-tuning view back to original --- data_manager.py | 20 ++++++++++---------- server.py | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/data_manager.py b/data_manager.py index 2ef9c2c31..85c741ab7 100644 --- a/data_manager.py +++ b/data_manager.py @@ -85,20 +85,20 @@ def modify_vote_story(filename, vote_method, story_id): return vote_to_modify -def modify_view_number(filename, story_id, viewed=False): - if viewed: - all_stories = connection.read_file(filename) +def modify_view_number(filename, story_id): - for story in all_stories: - if story["id"] == story_id: - view_to_modify = story + all_stories = connection.read_file(filename) + + for story in all_stories: + if story["id"] == story_id: + view_to_modify = story - view_number = int(view_to_modify["view_number"]) - view_number += 1 + view_number = int(view_to_modify["view_number"]) + view_number += 1 - view_to_modify["view_number"] = str(view_number) + view_to_modify["view_number"] = str(view_number) - return view_to_modify + return view_to_modify def fill_out_missing_question(new_data, filename): diff --git a/server.py b/server.py index 49f713921..cbf80ac75 100644 --- a/server.py +++ b/server.py @@ -66,7 +66,7 @@ def manage_questions(question_id): if request.method == "GET": '''add to view count''' - story_with_mod_view = data_manager.modify_view_number(QUESTIONS_FILE_PATH, question_id, viewed=True) + story_with_mod_view = data_manager.modify_view_number(QUESTIONS_FILE_PATH, question_id) connection.update_file(QUESTIONS_FILE_PATH, story_with_mod_view, adding=False) return render_template("question-child.html", url_action=url_for("edit_question", question_id=question_id), From 438104477ce4a0858ea3236ae05e26350a0af32d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Wed, 13 Nov 2019 23:58:25 +0100 Subject: [PATCH 087/290] Voting on answer redirects back to the question detail page --- server.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server.py b/server.py index cbf80ac75..38608ab73 100644 --- a/server.py +++ b/server.py @@ -129,7 +129,7 @@ def vote_answers(vote_method, answer_id, question_id): modified_story = data_manager.modify_vote_story(filename, vote_method, answer_id) connection.update_file(filename, new_dataset=modified_story, adding=False) - return redirect('/') + return redirect(url_for("manage_questions", question_id=question_id)) @app.route('/answer///delete') From 2a9b4cd784c1be9a63a8d208437d4ab973375a45 Mon Sep 17 00:00:00 2001 From: Rhyvan Date: Thu, 14 Nov 2019 00:14:30 +0100 Subject: [PATCH 088/290] fix css scaling --- static/index.css | 13 +++++++++---- templates/list.html | 31 +++++++++++++++++-------------- 2 files changed, 26 insertions(+), 18 deletions(-) diff --git a/static/index.css b/static/index.css index 990eb90ca..65862a166 100644 --- a/static/index.css +++ b/static/index.css @@ -31,17 +31,17 @@ body{ } .navigator-container{ - display: flex; + overflow: auto; background-color: #0B2329; padding-top: 10px; - padding-bottom: 7px; + padding-bottom: 5px; border-bottom: silver 4px solid; } .navigator-container nav a{ text-align: left; - margin-right: 900px; - margin-left: 250px; + margin-right: 10px; + margin-left: 10px; color: white; text-decoration: none; font-weight: bold; @@ -58,3 +58,8 @@ body{ background-clip: content-box; opacity: 0.7; } +.navigator-float { + float: right; + margin-top: auto; + margin-right: 10px; +} \ No newline at end of file diff --git a/templates/list.html b/templates/list.html index abd18ba81..6ba1e291f 100644 --- a/templates/list.html +++ b/templates/list.html @@ -19,21 +19,24 @@

AskMate

From f61e1a74283748b912e9fed6a4e15ecf057ed978 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Thu, 14 Nov 2019 10:22:44 +0100 Subject: [PATCH 089/290] refactor get single line by id --- data_manager.py | 12 +++++++++--- server.py | 4 ++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/data_manager.py b/data_manager.py index 85c741ab7..adb79e337 100644 --- a/data_manager.py +++ b/data_manager.py @@ -5,13 +5,19 @@ ANSWER_HEADERS = ["id", "submission_time", "vote_number", "question_id", "message", "image"] -def get_single_line_by_id(story_id, filename): +def get_single_line_by_id_and_convert_time(story_id, filename): """Reads single answer or question from file by the given ID. Returns dictionary.""" + story = get_single_line_by_key(story_id, filename, "id") + story["submission_time"] = util.convert_unix_time_to_readable(story["submission_time"]) + return story + + +def get_single_line_by_key(value_to_find, filename, key): + """Reads single answer or question from file by the given ID and cell name. Returns dictionary.""" all_stories = connection.read_file(filename) for story in all_stories: - if story["id"] == story_id: - story["submission_time"] = util.convert_unix_time_to_readable(story["submission_time"]) + if story[key] == value_to_find: return story diff --git a/server.py b/server.py index 38608ab73..90b054ad5 100644 --- a/server.py +++ b/server.py @@ -61,7 +61,7 @@ def add_new_answer(question_id): @app.route('/questions/', methods=['GET', 'POST']) def manage_questions(question_id): - actual_question = data_manager.get_single_line_by_id(question_id, QUESTIONS_FILE_PATH) + actual_question = data_manager.get_single_line_by_id_and_convert_time(question_id, QUESTIONS_FILE_PATH) answers_to_question = data_manager.get_answers_to_question(question_id, ANSWERS_FILE_PATH) if request.method == "GET": @@ -80,7 +80,7 @@ def manage_questions(question_id): @app.route('/question//edit', methods=['GET', 'POST']) def edit_question(question_id): - question = data_manager.get_single_line_by_id(question_id, QUESTIONS_FILE_PATH) + question = data_manager.get_single_line_by_id_and_convert_time(question_id, QUESTIONS_FILE_PATH) if request.method == "POST": edited_question = {"id": question["id"], "submission_time": util.get_unix_time(), From 4b521f2b17f46341ff1a36e06d8f168f5ddd0ca3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Thu, 14 Nov 2019 10:45:59 +0100 Subject: [PATCH 090/290] Refactor vote function --- data_manager.py | 9 ++------- server.py | 35 ++++++++++++++--------------------- 2 files changed, 16 insertions(+), 28 deletions(-) diff --git a/data_manager.py b/data_manager.py index adb79e337..df7bd8193 100644 --- a/data_manager.py +++ b/data_manager.py @@ -71,12 +71,7 @@ def get_answers_to_question(question_id, answers_file): def modify_vote_story(filename, vote_method, story_id): - all_stories = connection.read_file(filename) - - for story in all_stories: - if story["id"] == story_id: - vote_to_modify = story - + vote_to_modify = get_single_line_by_key(story_id, filename, "id") vote_number = int(vote_to_modify["vote_number"]) if vote_number == 0 and vote_method != "vote_up": @@ -88,7 +83,7 @@ def modify_vote_story(filename, vote_method, story_id): vote_to_modify["vote_number"] = str(vote_number) - return vote_to_modify + connection.update_file(filename, new_dataset=vote_to_modify, adding=False) def modify_view_number(filename, story_id): diff --git a/server.py b/server.py index 90b054ad5..33ea8101b 100644 --- a/server.py +++ b/server.py @@ -59,23 +59,22 @@ def add_new_answer(question_id): return render_template('add_question_or_answer.html') -@app.route('/questions/', methods=['GET', 'POST']) +@app.route('/questions/') def manage_questions(question_id): actual_question = data_manager.get_single_line_by_id_and_convert_time(question_id, QUESTIONS_FILE_PATH) answers_to_question = data_manager.get_answers_to_question(question_id, ANSWERS_FILE_PATH) - if request.method == "GET": - '''add to view count''' - story_with_mod_view = data_manager.modify_view_number(QUESTIONS_FILE_PATH, question_id) - connection.update_file(QUESTIONS_FILE_PATH, story_with_mod_view, adding=False) - return render_template("question-child.html", - url_action=url_for("edit_question", question_id=question_id), - page_title=f"Answers to question ID {question_id}", - question=actual_question, - answers=answers_to_question, - question_headers=QUESTION_HEADERS, - answer_headers=ANSWERS_HEADERS) - pass + '''add to view count''' + story_with_mod_view = data_manager.modify_view_number(QUESTIONS_FILE_PATH, question_id) + connection.update_file(QUESTIONS_FILE_PATH, story_with_mod_view, adding=False) + return render_template("question-child.html", + url_action=url_for("edit_question", question_id=question_id), + page_title=f"Answers to question ID {question_id}", + question=actual_question, + answers=answers_to_question, + question_headers=QUESTION_HEADERS, + answer_headers=ANSWERS_HEADERS) + @app.route('/question//edit', methods=['GET', 'POST']) @@ -116,19 +115,13 @@ def manage_answer(answer_id): @app.route('/question//') def vote_questions(vote_method, question_id): - filename = QUESTIONS_FILE_PATH - modified_story = data_manager.modify_vote_story(filename, vote_method, question_id) - connection.update_file(filename, new_dataset=modified_story, adding=False) - + data_manager.modify_vote_story(QUESTIONS_FILE_PATH, vote_method, question_id) return redirect('/') @app.route('/answer///') def vote_answers(vote_method, answer_id, question_id): - filename = ANSWERS_FILE_PATH - modified_story = data_manager.modify_vote_story(filename, vote_method, answer_id) - connection.update_file(filename, new_dataset=modified_story, adding=False) - + data_manager.modify_vote_story(ANSWERS_FILE_PATH, vote_method, answer_id) return redirect(url_for("manage_questions", question_id=question_id)) From 33dcd58b1fbdc4cfddd5c33bb982d9478216170d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Thu, 14 Nov 2019 11:07:22 +0100 Subject: [PATCH 091/290] Corrects view number display in viewing question details --- data_manager.py | 10 ++-------- server.py | 5 ++--- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/data_manager.py b/data_manager.py index df7bd8193..38913b9b6 100644 --- a/data_manager.py +++ b/data_manager.py @@ -87,19 +87,13 @@ def modify_vote_story(filename, vote_method, story_id): def modify_view_number(filename, story_id): - - all_stories = connection.read_file(filename) - - for story in all_stories: - if story["id"] == story_id: - view_to_modify = story - + view_to_modify = get_single_line_by_key(story_id, filename, "id") view_number = int(view_to_modify["view_number"]) view_number += 1 view_to_modify["view_number"] = str(view_number) - return view_to_modify + connection.update_file(filename, view_to_modify, adding=False) def fill_out_missing_question(new_data, filename): diff --git a/server.py b/server.py index 33ea8101b..aba2d603b 100644 --- a/server.py +++ b/server.py @@ -61,12 +61,11 @@ def add_new_answer(question_id): @app.route('/questions/') def manage_questions(question_id): + data_manager.modify_view_number(QUESTIONS_FILE_PATH, question_id) + actual_question = data_manager.get_single_line_by_id_and_convert_time(question_id, QUESTIONS_FILE_PATH) answers_to_question = data_manager.get_answers_to_question(question_id, ANSWERS_FILE_PATH) - '''add to view count''' - story_with_mod_view = data_manager.modify_view_number(QUESTIONS_FILE_PATH, question_id) - connection.update_file(QUESTIONS_FILE_PATH, story_with_mod_view, adding=False) return render_template("question-child.html", url_action=url_for("edit_question", question_id=question_id), page_title=f"Answers to question ID {question_id}", From 927037397f5ccfca1e5c964f014a14f8d8de0b70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Thu, 14 Nov 2019 11:13:11 +0100 Subject: [PATCH 092/290] Delete display ID on main page --- templates/list.html | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/templates/list.html b/templates/list.html index 6ba1e291f..f760ec3d4 100644 --- a/templates/list.html +++ b/templates/list.html @@ -43,14 +43,15 @@

AskMate

{% for header in question_header %} - + {% if header != "id" %} + + {% endif %} {% endfor %} {% for question in all_questions %} - From 028af372ab0be0406442a4e23997a00ca26f7153 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Thu, 14 Nov 2019 11:16:25 +0100 Subject: [PATCH 093/290] Modify question detail page title to display question in head instead of ID --- sample_data/question.csv | 2 +- server.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sample_data/question.csv b/sample_data/question.csv index d915e2ced..ef643b02c 100644 --- a/sample_data/question.csv +++ b/sample_data/question.csv @@ -1,5 +1,5 @@ id,submission_time,view_number,vote_number,title,message,image -0,1493368154,29,7,How to make lists in Python?,"I am totally new to this, any hints?", +0,1493368154,33,7,How to make lists in Python?,"I am totally new to this, any hints?", 1,1493068124,15,9,Wordpress loading multiple jQuery Versions,"I developed a plugin that uses the jquery booklet plugin (http://builtbywill.com/booklet/#/) this plugin binds a function to $ so I cann call $('.myBook').booklet(); I could easy managing the loading order with wp_enqueue_script so first I load jquery then I load booklet so everything is fine. diff --git a/server.py b/server.py index aba2d603b..10cfba41a 100644 --- a/server.py +++ b/server.py @@ -68,7 +68,7 @@ def manage_questions(question_id): return render_template("question-child.html", url_action=url_for("edit_question", question_id=question_id), - page_title=f"Answers to question ID {question_id}", + page_title=f"Answers to question: { actual_question['title'] }", question=actual_question, answers=answers_to_question, question_headers=QUESTION_HEADERS, From 40952ff2aa2df9dfe9545f2e59d467d2c7329643 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Thu, 14 Nov 2019 11:18:56 +0100 Subject: [PATCH 094/290] Displays question title in ''s --- server.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server.py b/server.py index 10cfba41a..3e6e5a098 100644 --- a/server.py +++ b/server.py @@ -68,7 +68,7 @@ def manage_questions(question_id): return render_template("question-child.html", url_action=url_for("edit_question", question_id=question_id), - page_title=f"Answers to question: { actual_question['title'] }", + page_title=f"Answers to question: \"{ actual_question['title'] }\"", question=actual_question, answers=answers_to_question, question_headers=QUESTION_HEADERS, From 45fd4b965dc43789495b46ed415d0c61cd17230f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Thu, 14 Nov 2019 11:35:17 +0100 Subject: [PATCH 095/290] Finalize index css --- sample_data/question.csv | 2 +- static/questions-table.css | 10 +++++----- templates/list.html | 1 + 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/sample_data/question.csv b/sample_data/question.csv index d915e2ced..acf811dc3 100644 --- a/sample_data/question.csv +++ b/sample_data/question.csv @@ -1,5 +1,5 @@ id,submission_time,view_number,vote_number,title,message,image -0,1493368154,29,7,How to make lists in Python?,"I am totally new to this, any hints?", +0,1493368154,30,7,How to make lists in Python?,"I am totally new to this, any hints?", 1,1493068124,15,9,Wordpress loading multiple jQuery Versions,"I developed a plugin that uses the jquery booklet plugin (http://builtbywill.com/booklet/#/) this plugin binds a function to $ so I cann call $('.myBook').booklet(); I could easy managing the loading order with wp_enqueue_script so first I load jquery then I load booklet so everything is fine. diff --git a/static/questions-table.css b/static/questions-table.css index d58b004d7..407af8349 100644 --- a/static/questions-table.css +++ b/static/questions-table.css @@ -14,18 +14,18 @@ .table-container tbody tr:nth-of-type(even){ background-color: #1C3B4A; font-size: large; - font-family: 'Architects Daughter', cursive; + font-family: 'Open Sans', sans-serif; } .table-container tbody tr:nth-of-type(odd){ background-color: #285369; font-size: large; - font-family: 'Architects Daughter', cursive; + font-family: 'Open Sans', sans-serif; } .table-container tbody tr td pre{ font-size: large; - font-family: 'Architects Daughter', cursive; + font-family: 'Open Sans', sans-serif; } .table-container tbody tr:hover{ @@ -38,9 +38,9 @@ .table-container a{ font-size: large; - color: silver; + color: white; text-decoration: none; - font-weight: bold; + font-weight: bolder; } .table-container a:hover{ diff --git a/templates/list.html b/templates/list.html index f760ec3d4..d98fbc6b4 100644 --- a/templates/list.html +++ b/templates/list.html @@ -7,6 +7,7 @@ +
From ac2ba0496d9dfe057673aac533ee25447a42f6af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Thu, 14 Nov 2019 13:12:12 +0100 Subject: [PATCH 096/290] Refactor CSV writing functions --- connection.py | 14 +++----------- data_manager.py | 4 ++-- server.py | 12 ++++++------ 3 files changed, 11 insertions(+), 19 deletions(-) diff --git a/connection.py b/connection.py index 91b643979..5fb09d0a4 100644 --- a/connection.py +++ b/connection.py @@ -13,22 +13,14 @@ def read_file(filename): return all_data -def get_data_header(filename): +def get_data_header_with_convert_format(filename): with open(filename, 'r') as csv_file: data_header = csv_file.readline() return data_header.strip('\n').replace('_', ' ').split(',') -def add_new_data(filename, new_story, list_of_headers): - """Adds new question or answer to the csv file""" - - with open(filename, 'a') as csv_file: - fieldnames = list_of_headers - writer = csv.DictWriter(csv_file, fieldnames=fieldnames) - writer.writerow(new_story) - - -def update_file(filename, new_dataset, adding=True): +def write_changes_to_csv_file(filename, new_dataset, adding=True): + """Adds new or update existing question or answer to the csv file""" existing_submits = read_file(filename) open_option = "a" if adding is True else "w" diff --git a/data_manager.py b/data_manager.py index 38913b9b6..42df4d2df 100644 --- a/data_manager.py +++ b/data_manager.py @@ -83,7 +83,7 @@ def modify_vote_story(filename, vote_method, story_id): vote_to_modify["vote_number"] = str(vote_number) - connection.update_file(filename, new_dataset=vote_to_modify, adding=False) + connection.write_changes_to_csv_file(filename, new_dataset=vote_to_modify, adding=False) def modify_view_number(filename, story_id): @@ -93,7 +93,7 @@ def modify_view_number(filename, story_id): view_to_modify["view_number"] = str(view_number) - connection.update_file(filename, view_to_modify, adding=False) + connection.write_changes_to_csv_file(filename, view_to_modify, adding=False) def fill_out_missing_question(new_data, filename): diff --git a/server.py b/server.py index 3e6e5a098..09ea98a3b 100644 --- a/server.py +++ b/server.py @@ -7,8 +7,8 @@ QUESTIONS_FILE_PATH = "./sample_data/question.csv" ANSWERS_FILE_PATH = "./sample_data/answer.csv" -QUESTION_HEADERS = connection.get_data_header(QUESTIONS_FILE_PATH) -ANSWERS_HEADERS = connection.get_data_header(ANSWERS_FILE_PATH) +QUESTION_HEADERS = connection.get_data_header_with_convert_format(QUESTIONS_FILE_PATH) +ANSWERS_HEADERS = connection.get_data_header_with_convert_format(ANSWERS_FILE_PATH) @app.route('/') @@ -26,7 +26,7 @@ def show_questions(): order = True data = data_manager.get_all_questions(QUESTIONS_FILE_PATH, reverse=order, key=label_to_sortby) - header = connection.get_data_header(QUESTIONS_FILE_PATH) + header = connection.get_data_header_with_convert_format(QUESTIONS_FILE_PATH) labels = ["submission_time", "view_number", "vote_number", "title", "message"] return render_template("list.html", all_questions=data, @@ -43,7 +43,7 @@ def add_new_question(): if request.method == 'POST': new_question = dict(request.form) final_question = data_manager.fill_out_missing_question(new_question, QUESTIONS_FILE_PATH) - connection.add_new_data(QUESTIONS_FILE_PATH, final_question, data_manager.QUESTION_HEADERS) + connection.write_changes_to_csv_file(QUESTIONS_FILE_PATH, final_question, adding=True) return redirect('/') return render_template('add_question_or_answer.html', question=True) @@ -53,7 +53,7 @@ def add_new_answer(question_id): if request.method == 'POST': new_answer = dict(request.form) final_answer = data_manager.fill_out_missing_answer(new_answer, question_id, ANSWERS_FILE_PATH) - connection.add_new_data(ANSWERS_FILE_PATH, final_answer, data_manager.ANSWER_HEADERS) + connection.write_changes_to_csv_file(ANSWERS_FILE_PATH, final_answer, adding=True) return redirect(f'/questions/{question_id}') return render_template('add_question_or_answer.html') @@ -90,7 +90,7 @@ def edit_question(question_id): } print(edited_question) - connection.update_file(QUESTIONS_FILE_PATH, edited_question, adding=False) + connection.write_changes_to_csv_file(QUESTIONS_FILE_PATH, edited_question, adding=False) return redirect("/") return render_template("form.html", From 0a31111c5f5ea8ea41082af9544c46b43f135eda Mon Sep 17 00:00:00 2001 From: Rhyvan Date: Thu, 14 Nov 2019 13:38:53 +0100 Subject: [PATCH 097/290] add image upload function modification in multiple files in order to fit the new function. Refactored url names, added forms, new functions --- data_manager.py | 15 +++++++++++++++ sample_data/question.csv | 6 +++--- server.py | 29 +++++++++++++++++++++++++++++ static/images.css | 4 ++++ templates/form.html | 15 ++++++++++++--- templates/list.html | 2 +- templates/question-child.html | 2 +- 7 files changed, 65 insertions(+), 8 deletions(-) create mode 100644 static/images.css diff --git a/data_manager.py b/data_manager.py index 85c741ab7..eb7454c4c 100644 --- a/data_manager.py +++ b/data_manager.py @@ -127,3 +127,18 @@ def delete_records(answer_file=None, question_file=None, id=None): def delete_answer(answer_file, id): connection.delete_answers(answer_file, a_id=id) + +def allowed_image(filename, extensions): + if not "." in filename: + return False + + ext = filename.rsplit(".", 1)[1] + + if ext.upper() in extensions: + return True + else: + return False + + +def upload_image_path(filename, question_id, image_name): + content = connection.read_file(filename) diff --git a/sample_data/question.csv b/sample_data/question.csv index d915e2ced..7df58c964 100644 --- a/sample_data/question.csv +++ b/sample_data/question.csv @@ -1,6 +1,6 @@ id,submission_time,view_number,vote_number,title,message,image -0,1493368154,29,7,How to make lists in Python?,"I am totally new to this, any hints?", -1,1493068124,15,9,Wordpress loading multiple jQuery Versions,"I developed a plugin that uses the jquery booklet plugin (http://builtbywill.com/booklet/#/) this plugin binds a function to $ so I cann call $('.myBook').booklet(); +0,1493368154,32,7,How to make lists in Python?,"I am totally new to this, any hints?", +1,1493068124,17,9,Wordpress loading multiple jQuery Versions,"I developed a plugin that uses the jquery booklet plugin (http://builtbywill.com/booklet/#/) this plugin binds a function to $ so I cann call $('.myBook').booklet(); I could easy managing the loading order with wp_enqueue_script so first I load jquery then I load booklet so everything is fine. @@ -8,7 +8,7 @@ BUT in my theme i also using jquery via webpack so the loading order is now foll jquery booklet -app.js (bundled file with webpack, including jquery)",images/image1.png +app.js (bundled file with webpack, including jquery)",image1.png 2,1493015432,1364,57,Drawing canvas with an image picked with Cordova Camera Plugin,"I'm getting an image from device and drawing a canvas with filters using Pixi JS. It works all well using computer to get an image. But when I'm on IOS, it throws errors such as cross origin issue, or that I'm trying to use an unknown format. This is the code I'm using to draw the image (that works on web/desktop but not cordova built ios app)", diff --git a/server.py b/server.py index 38608ab73..5fbd26d71 100644 --- a/server.py +++ b/server.py @@ -1,10 +1,16 @@ from flask import Flask, render_template, redirect, request, url_for +from werkzeug.utils import secure_filename +import os import data_manager import connection import util app = Flask(__name__) +app.config["IMAGE_UPLOADS"] = "./static/images/" +app.config["ALLOWED_IMAGE_EXTENSIONS"] = ["JPEG", "JPG", "PNG", "GIF"] +app.config["MAX_IMAGE_FILESIZE"] = 0.5 * 1024 * 1024 + QUESTIONS_FILE_PATH = "./sample_data/question.csv" ANSWERS_FILE_PATH = "./sample_data/answer.csv" QUESTION_HEADERS = connection.get_data_header(QUESTIONS_FILE_PATH) @@ -96,6 +102,7 @@ def edit_question(question_id): return redirect("/") return render_template("form.html", + question_id=question_id, url_action=url_for("edit_question", question_id=question_id), action_method="post", page_title=f"Edit question ID {question_id}", @@ -144,6 +151,28 @@ def delete_question(question_id): return redirect('/') +@app.route('/upload-image', methods=['GET', 'POST']) +def upload_image(): + if request.method == "POST": + if request.files: + image = request.files["image"] + + if image.filename == "": + return redirect(request.referrer) + + if data_manager.allowed_image(image.filename, app.config["ALLOWED_IMAGE_EXTENSIONS"]): + filename = secure_filename(image.filename) + image.save(os.path.join(app.config["IMAGE_UPLOADS"], filename)) + id = request.form.get("question_id") + # function to append image_name to the csv + print("Image saved") + return redirect(request.referrer) + + else: + print("not allowed image") + return redirect(request.referrer) + + if __name__ == '__main__': app.run( host='0.0.0.0', diff --git a/static/images.css b/static/images.css new file mode 100644 index 000000000..f1247681b --- /dev/null +++ b/static/images.css @@ -0,0 +1,4 @@ +.imgthumb { + width: 200px; + height: auto; +} \ No newline at end of file diff --git a/templates/form.html b/templates/form.html index 516f576ee..882a74ca4 100644 --- a/templates/form.html +++ b/templates/form.html @@ -2,6 +2,7 @@ + {{ page_title }} @@ -15,14 +16,22 @@

{{ header_title }}


+

-
- - + +
+ +

+
+
+ + + + \ No newline at end of file diff --git a/templates/list.html b/templates/list.html index 6ba1e291f..2a1c951e0 100644 --- a/templates/list.html +++ b/templates/list.html @@ -56,7 +56,7 @@

AskMate

- + {% endfor %} diff --git a/templates/question-child.html b/templates/question-child.html index ad7c3e1e6..3d3f2c6c9 100644 --- a/templates/question-child.html +++ b/templates/question-child.html @@ -28,7 +28,7 @@

{{ question['title'] }}

No image

{{ question["submission_time"] }}

From 745662f6cc3737bef093fe8f3f797f0b64810466 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Thu, 14 Nov 2019 13:49:21 +0100 Subject: [PATCH 098/290] Add upload image --- data_manager.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/data_manager.py b/data_manager.py index 7040afa79..31486b4f0 100644 --- a/data_manager.py +++ b/data_manager.py @@ -136,4 +136,7 @@ def allowed_image(filename, extensions): def upload_image_path(filename, question_id, image_name): - content = connection.read_file(filename) + content = get_single_line_by_key(question_id, filename, "id") + + content["image"] = image_name + connection.write_changes_to_csv_file(filename, content, adding=False) From d80ba8ef29e3c86c79f1e341ccc6a9aadedcd80f Mon Sep 17 00:00:00 2001 From: Rhyvan Date: Thu, 14 Nov 2019 13:53:01 +0100 Subject: [PATCH 099/290] extends /upload-file route with function --- server.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server.py b/server.py index c347c1bb9..b4da0514c 100644 --- a/server.py +++ b/server.py @@ -155,8 +155,8 @@ def upload_image(): if data_manager.allowed_image(image.filename, app.config["ALLOWED_IMAGE_EXTENSIONS"]): filename = secure_filename(image.filename) image.save(os.path.join(app.config["IMAGE_UPLOADS"], filename)) - id = request.form.get("question_id") - # function to append image_name to the csv + question_id = request.form.get("question_id") + data_manager.upload_image_path(QUESTIONS_FILE_PATH, question_id, filename) print("Image saved") return redirect(request.referrer) From 2b82da368c8608117e19526211abf4c28dad95b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Thu, 14 Nov 2019 14:26:03 +0100 Subject: [PATCH 100/290] Add delete picture upon deletion of question --- connection.py | 11 ++++++++++- data_manager.py | 2 ++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/connection.py b/connection.py index 5fb09d0a4..4cc5834a3 100644 --- a/connection.py +++ b/connection.py @@ -1,3 +1,4 @@ +import os import csv QUESTION_HEADERS = ["id", "submission_time", "view_number", "vote_number", "title", "message", "image"] @@ -62,4 +63,12 @@ def delete_answers(filename, q_id=None, a_id=None): writer.writerow(answer) if a_id: if answer['id'] != a_id: - writer.writerow(answer) \ No newline at end of file + writer.writerow(answer) + + +def delete_file(filename): + if os.path.exists(f"./static/images/{filename}"): + os.remove(f"./static/images/{filename}") + else: + print("The file does not exist") + pass diff --git a/data_manager.py b/data_manager.py index 31486b4f0..71583bb6e 100644 --- a/data_manager.py +++ b/data_manager.py @@ -115,6 +115,8 @@ def fill_out_missing_answer(new_data, question_id, filename): def delete_records(answer_file=None, question_file=None, id=None): + line_to_delete = get_single_line_by_key(id, question_file, "id") + connection.delete_file(line_to_delete["image"]) connection.delete_answers(answer_file, q_id=id) connection.delete_question(question_file, id) From 2342c74de022b8ee61bc3e05e9065d5c7e1e8309 Mon Sep 17 00:00:00 2001 From: Boglarka Kiss <54187008+kiglarka@users.noreply.github.com> Date: Thu, 14 Nov 2019 14:43:50 +0100 Subject: [PATCH 101/290] add presentation link to readme --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 34349f816..cffe43817 100644 --- a/README.md +++ b/README.md @@ -2,3 +2,5 @@ Web and SQL with Python / 1st TW week / Ask Mate project please run >>>>>>>>>>>>>>>>>> pip install -r requirements.txt + +Presentation: 1st week https://docs.google.com/presentation/d/1su5RmQHdyfDgrQiKhYdD0PO9AavsXH64DfdY59Jnf3A/edit?usp=sharing From 72f7fb20bc6c2408a27a65ed5b132c2640b2ac25 Mon Sep 17 00:00:00 2001 From: Bogi Kiss Date: Thu, 14 Nov 2019 14:45:15 +0100 Subject: [PATCH 102/290] update gitignore --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index dbed2ff1f..7cbd27360 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +temp_pictures/ + # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] @@ -101,4 +103,4 @@ ENV/ .mypy_cache/ # pycharm files -.idea/ \ No newline at end of file +.idea/ From 3194bc0387ad8ae1e47c5d37ab7a89535d57ed4c Mon Sep 17 00:00:00 2001 From: Rhyvan Date: Thu, 14 Nov 2019 14:45:16 +0100 Subject: [PATCH 103/290] add answer now loads from child template --- server.py | 5 +++++ templates/question-child.html | 23 +++++++++++++++++++++-- templates/question.html | 14 ++++++++++++-- 3 files changed, 38 insertions(+), 4 deletions(-) diff --git a/server.py b/server.py index b4da0514c..4fd7bf5c3 100644 --- a/server.py +++ b/server.py @@ -67,6 +67,10 @@ def add_new_answer(question_id): @app.route('/questions/') def manage_questions(question_id): + if request.args.getlist('addinganswer'): + addinganswer = True + else: + addinganswer = False data_manager.modify_view_number(QUESTIONS_FILE_PATH, question_id) actual_question = data_manager.get_single_line_by_id_and_convert_time(question_id, QUESTIONS_FILE_PATH) @@ -77,6 +81,7 @@ def manage_questions(question_id): page_title=f"Answers to question: \"{ actual_question['title'] }\"", question=actual_question, answers=answers_to_question, + addinganswer=addinganswer, question_headers=QUESTION_HEADERS, answer_headers=ANSWERS_HEADERS) diff --git a/templates/question-child.html b/templates/question-child.html index 3d3f2c6c9..055b40fc5 100644 --- a/templates/question-child.html +++ b/templates/question-child.html @@ -5,7 +5,7 @@ .block {border: 2px solid grey; overflow: hidden;} .column { width: 230px; float: left; background: lightgrey; margin: 5px;} .questioncontent {overflow: hidden; margin: 5px; white-space: pre-line;} - .imgblock {width: 200px; height: auto; display: block; margin-left: auto; margin-right: auto; padding: 15px;} + .imgblock {width: 150px; height: auto; display: block; margin-left: auto; margin-right: auto; padding: 15px;} .message {margin-bottom: 15px; border: 1px solid black;} .image {float:left; margin-right: 10px;} @@ -46,7 +46,6 @@

{{ question['title'] }}

{{ answer["submission_time"] }} -
No image
Username
Posted:
@@ -55,8 +54,28 @@

{{ question['title'] }}

{{ answer["message"] }}
+ {% if answer['image'] %} +
+ {% endif %}
{% endblock %} + +{% block givinganswer %} +

Add new answer

+
+
+        
+ + + + +

+ + + +
+
+{% endblock %} \ No newline at end of file diff --git a/templates/question.html b/templates/question.html index 9204dfef6..c0a3d2e4d 100644 --- a/templates/question.html +++ b/templates/question.html @@ -7,6 +7,9 @@ {% block question %} {% endblock %} + {% if addinganswer %} + + {% else %}
- {% endfor %} diff --git a/util.py b/util.py index de66f2332..38e8ad256 100644 --- a/util.py +++ b/util.py @@ -2,7 +2,7 @@ import calendar import csv import connection - +import data_manager LIST_START = 0 @@ -35,7 +35,7 @@ def generate_id(filename): data_id = sum(1 for row in csv_reader) return data_id """ - actual_stories = connection.read_file(filename) + actual_stories = data_manager.read_file(filename) if len(actual_stories) == 1: return LIST_START From f08575194b9244e9fa9f3baf1d0d4f6379d36920 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Mon, 25 Nov 2019 17:18:24 +0100 Subject: [PATCH 116/290] Add write answer to file (untested) --- data_manager.py | 19 +++++++++++++++++-- server.py | 18 +++++------------- 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/data_manager.py b/data_manager.py index cff2e3e93..37116421d 100644 --- a/data_manager.py +++ b/data_manager.py @@ -165,9 +165,8 @@ def upload_image_path(filename, question_id, image_name): write_changes_to_csv_file(filename, content, adding=False) @connection.connection_handler -def write_question(cursor, title, message): +def write_new_question_to_database(cursor, title, message): dt = datetime.now() - print(dt) cursor.execute(""" INSERT INTO question (submission_time, view_number, vote_number, title, message, image) VALUES (%(time)s, %(view_number)s, %(vote_number)s, %(title)s, %(message)s, %(image)s); @@ -181,6 +180,22 @@ def write_question(cursor, title, message): }) +@connection.connection_handler +def write_new_answer_to_database(cursor, question_id, answer): + dt = datetime.now() + cursor.execute(""" + INSERT INTO answer (id, submission_time, vote_number, question_id, message, image) + VALUES (%(time)s, %(vote_number)s, %(question_id)s, %(message)s, %(image)s) + """, + { + "time": dt, + "vote_number": 0, + "question_id": question_id, + "message": answer["message"], + "image": answer["image"] + }) + + def write_changes_to_csv_file(filename, new_dataset, adding=True): """Adds new or update existing question or answer to the csv file""" existing_submits = read_file(filename) diff --git a/server.py b/server.py index 2a90789a0..03f15ac50 100644 --- a/server.py +++ b/server.py @@ -48,7 +48,7 @@ def show_questions(): def add_new_question(): if request.method == 'POST': new_question = dict(request.form) - data_manager.write_question(new_question.get("title"), new_question.get("message")) + data_manager.write_new_question_to_database(new_question.get("title"), new_question.get("message")) return redirect('/') return render_template('add_question_or_answer.html', question=True) @@ -57,8 +57,7 @@ def add_new_question(): def add_new_answer(question_id): if request.method == 'POST': new_answer = dict(request.form) - final_answer = data_manager.fill_out_missing_answer(new_answer, question_id, ANSWERS_FILE_PATH) - data_manager.write_changes_to_csv_file(ANSWERS_FILE_PATH, final_answer, adding=True) + data_manager.write_new_answer_to_database(question_id, new_answer) return redirect(f'/questions/{question_id}') return render_template('add_question_or_answer.html') @@ -174,15 +173,10 @@ def add_newstuff_withimage(question_id): if request.method == "POST": if request.files: image = request.files["image"] - if image.filename != "": - - #return redirect(request.referrer) # error - if data_manager.allowed_image(image.filename, app.config["ALLOWED_IMAGE_EXTENSIONS"]): filename = secure_filename(image.filename) image.save(os.path.join(app.config["IMAGE_UPLOADS"], filename)) - print("Image saved") else: @@ -192,14 +186,12 @@ def add_newstuff_withimage(question_id): new_answer = dict(request.form) if image.filename: new_answer.update({"image": filename}) # ugly solution, a band-aid + else: + new_answer.update({"image": ""}) - final_answer = data_manager.fill_out_missing_answer(new_answer, question_id, ANSWERS_FILE_PATH) - data_manager.write_changes_to_csv_file(ANSWERS_FILE_PATH, final_answer, adding=True) + data_manager.write_new_answer_to_database(question_id, new_answer) return redirect(url_for("manage_questions", question_id=question_id)) - # return redirect(f'/questions/{question_id}') - - if __name__ == '__main__': app.run( From e826a727978b1bd175c8ff11a4c4c829f95bc85f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Mon, 25 Nov 2019 19:55:39 +0100 Subject: [PATCH 117/290] manage_question with SQL --- data_manager.py | 26 +++++++++++++++++++++++++- sample_data/question.csv | 6 +++--- server.py | 11 ++++------- static/images/image2.jpg | Bin 0 -> 54820 bytes templates/question-child.html | 15 +++++++-------- templates/question.html | 8 ++++---- 6 files changed, 43 insertions(+), 23 deletions(-) create mode 100644 static/images/image2.jpg diff --git a/data_manager.py b/data_manager.py index 37116421d..3a8299350 100644 --- a/data_manager.py +++ b/data_manager.py @@ -1,7 +1,7 @@ import csv import os +import connection import psycopg2 -import psycopg2.extras import connection import util from datetime import datetime @@ -196,6 +196,30 @@ def write_new_answer_to_database(cursor, question_id, answer): }) +@connection.connection_handler +def get_question_by_id(cursor, question_id): + cursor.execute(""" + SELECT * FROM question + WHERE id = %(question_id)s; + """, + {'question_id':question_id}) + + question = cursor.fetchone() + return question + + +@connection.connection_handler +def get_answers_by_question_id(cursor, question_id): + cursor.execute(""" + SELECT * FROM answer + WHERE question_id = %(question_id)s + """, + {'question_id':question_id}) + + answers = cursor.fetchall() + return answers + + def write_changes_to_csv_file(filename, new_dataset, adding=True): """Adds new or update existing question or answer to the csv file""" existing_submits = read_file(filename) diff --git a/sample_data/question.csv b/sample_data/question.csv index 98c8dab91..0c3016477 100644 --- a/sample_data/question.csv +++ b/sample_data/question.csv @@ -1,6 +1,6 @@ id,submission_time,view_number,vote_number,title,message,image -0,1493368154,49,7,How to make lists in Python?,"I am totally new to this, any hints?", -1,1493068124,21,9,Wordpress loading multiple jQuery Versions,"I developed a plugin that uses the jquery booklet plugin (http://builtbywill.com/booklet/#/) this plugin binds a function to $ so I cann call $('.myBook').booklet(); +0,1493368154,62,7,How to make lists in Python?,"I am totally new to this, any hints?", +1,1493068124,54,9,Wordpress loading multiple jQuery Versions,"I developed a plugin that uses the jquery booklet plugin (http://builtbywill.com/booklet/#/) this plugin binds a function to $ so I cann call $('.myBook').booklet(); I could easy managing the loading order with wp_enqueue_script so first I load jquery then I load booklet so everything is fine. @@ -9,7 +9,7 @@ BUT in my theme i also using jquery via webpack so the loading order is now foll jquery booklet app.js (bundled file with webpack, including jquery)",image1.png -2,1493015432,1369,57,Drawing canvas with an image picked with Cordova Camera Plugin,"I'm getting an image from device and drawing a canvas with filters using Pixi JS. It works all well using computer to get an image. But when I'm on IOS, it throws errors such as cross origin issue, or that I'm trying to use an unknown format. +2,1493015432,1398,57,Drawing canvas with an image picked with Cordova Camera Plugin,"I'm getting an image from device and drawing a canvas with filters using Pixi JS. It works all well using computer to get an image. But when I'm on IOS, it throws errors such as cross origin issue, or that I'm trying to use an unknown format. This is the code I'm using to draw the image (that works on web/desktop but not cordova built ios app)", 3,1573804413,24,3,Can I ask anything?,Anything? Really?,ask_anything.jpg diff --git a/server.py b/server.py index 03f15ac50..95abe18af 100644 --- a/server.py +++ b/server.py @@ -69,22 +69,19 @@ def manage_questions(question_id): addinganswer = True else: addinganswer = False - data_manager.modify_view_number(QUESTIONS_FILE_PATH, question_id) - actual_question = data_manager.get_single_line_by_id_and_convert_time(question_id, QUESTIONS_FILE_PATH) - answers_to_question = data_manager.get_answers_to_question(question_id, ANSWERS_FILE_PATH) + data_manager.modify_view_number(QUESTIONS_FILE_PATH, question_id) + current_question = data_manager.get_question_by_id(question_id) + answers_to_question = data_manager.get_answers_by_question_id(question_id) return render_template("question-child.html", - url_action=url_for("edit_question", question_id=question_id), - page_title=f"Answers to question: \"{ actual_question['title'] }\"", - question=actual_question, + question=current_question, answers=answers_to_question, addinganswer=addinganswer, question_headers=QUESTION_HEADERS, answer_headers=ANSWERS_HEADERS) - @app.route('/question//edit', methods=['GET', 'POST']) def edit_question(question_id): question = data_manager.get_single_line_by_id_and_convert_time(question_id, QUESTIONS_FILE_PATH) diff --git a/static/images/image2.jpg b/static/images/image2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..41baea74097f6ffcbd8b24b278184809ff9f2ac0 GIT binary patch literal 54820 zcmb5VcUV(fv@aSgsG!)8UflHFYiNoB5+FcA4NXPBfT8#577?Wip-2ltfDj-cCG@fZ z0RvK#5J~`%UX{?KU-r50ynD|1?)&47d|%dF8Q+>~thweG^EZBD=4|Zj2jCV+S6>%E zM@I*Edj0{NO#&VP=r3KSzkG?F{xbcQEA&?xZZR-iyT-uGbo2TxR%SLfR%R9!4sJnS z4o-e97MA-G_xXi{Ma4wfc_n2eMPvj;L`DAXgzn0fD-2f|?lLgk72#mv5c&TtXa4|h zU%eP|32>2)4{+f&-NoBRJG{}j3lSI+Idc=g)3TJsj*0^P-n7cO0< zyK?CQ-KC3k0J;koFWtUO|JNPaD-TVd-R1N8J4x;;GYh}=Bgj2@XkKOeb5;TGWQ8}s zXV0(aJn#5_%YXL%AJ?A`#JN)V_P_T&mw#{nuK>=Kw=dqgboVdW%MVSN`RJeBlhZz% z09-%6?YZJMKnrkk;phvm|4kd_|F^&Y+PG*KXEXmI>dpL%*ZKK#nt^=0_D_U0Gj3Mz ziG|iq^Cj{&?-wRe^F#;AY?DJ@3|Oy72H$WquO&*@xn&f0`A~D%T>7QR}^6UfFpuyS9@Gc!`N1^#9TAb&LqX6}B zZ&=qru5^TKuHmOG)ISU1kcqMn0PEia|IiiE0|b=-7uErn7#APi2LLWP@n3jKFnUxa z%l1tPX%|}CcQ0yOd6TXI^}#lz)F32<{6xBau8yfUFOZ6(7#?l4Zw3x>f6p{-(qQvh zp>Rz&rzlR9`j^<47q4{f8D&AA1@>!}_)k=)z-Ak`O7?u+;q~Tkg7(y%=f`VGmDSAh zq|HL=k8_#~XD|vH1k9S5XzxUsps05MwpnoOSifK`b8)CO2AW;mb$G!0x%NuTC`Sv2 zS%qt{#X4=!pDW8Z9Z^;PaB1CZLuzAF6bmUSD(vmlB-BYi4sbJ=zg`&UMLp=!Z`HPV z=@jIx=KXCeuKYSVwlnNN*sn*JV|6d8P!)``>IzywT?`1s6fD;i6kEiDKKL7dU-C&( zF6t_Ur8chOR5}NdJ?uDGmjkP5*|dJ#&PgI{(c#Xak9Qbt(6R`@$*GtQmJi4ABx_+7&Hz=Y(B}9C zTWYXU3gVy;EE+5jMzkZDxQR$Hv7f(e0?fy5Ye%-zV=>M1MFvw?iF@gSBjMg0BV+RY zXxCSPLYklNI#c*p#{uK`z;@P~uNfP&tQQShulop2=ty1a?Oud|HL~{g81@bDEs^Hf zhfCj=o;s2?q9x<^-TDJwK>WCEl!=PH29ae%zy64qQ#y^QPCA<7O1WT%D@Rg*aYb3`0}f(dDoeR$ z)WkiR@k*ZGAbc6CK}Yk^A^6u{-a+1>3RdUW_AHhOrMP076MH41#2uH42OH1;|bZIVWdB`95PrF(? zD2H=3M)A(JTFcr`&8*Lp{kk67RiWjF9F0~EyQCCAjWWM}#Rp+MZQ!zM9QnVw= z9Ef$iI^0zKwZ+lPwl^V{49=SMonQ6MDGVwe{d1V3r-?yxcEY?RSM`B!ursxW zn7s1#1qH>lD)UzBF+_@UTiTJ3t5{|`P(=T*W5F$l0HBAi1L%DL7hVHipAWVO;Of0w z^tIn2??2>${wOivl92P(t)j()jjnUVn+w9&V|UfT8xst(YFP?sk?r=)8PR(>AeCH4 zN>@L|_Emhu?63E%lWwN*IY(IqnK6jm5~YDUL^*t@!oyU(Y+p;-L$ZRg9@NqZDhPMK znfoqldfVN#X1#pz^lsq%VW=&wX%010PC>u$>X^;GAq=S{uZ!B6WCq#mX>mQ>H)yDP zqF1TC&hQ!V4RGPy-2WybPh}p5jooYleEx4g|9f)rFI~o~Q8YlwYx=G~4<&wwx|ep0 zq^y$Ry5d5XmI`IdK>U0Pq)$uZPy0__j3|7<@UT!*o+W5|(9l0l-C;|TlwIaa*wwFN z9qIR~^=}!)c$V+d|DLh@9_C*@iSr9M+C--F2@#G_bHbDS!cR@&3OL^&cWa z=XsCu@7KWmXek+E{>xGZtwrN1i&>HS3qdHxU__xx`0lIRukY+le-&+yb@-A&V0rzn zeGPTn@;?-vAKfQd$1r0fk`P73&hSLu&Carr;Y+e-=HQi|8*6Ct$gjC#YbS-nR%qZK z{#M7*F=9;v_V}AXgUjU4d1|mMp&|VQkO}u~{@h@=(^vc2FfPi(@OA2g{}Eu%!)t-w z)a#=!4F75Me;(lkff&&%mlQQeW7mGkB#+rUHBqUf=H| z-^MDuGT{*Y_t->VT$^9{mSB(2KW`v0K?6nx_3Nu}j*j~L%*eDrB_Rqauh^=6NiJr7 zMo7)M$#0QS>enT8|4{V(t9|UHdzT0dy;T66^AY_&NE&dV=z+P#H#!}f&~0xS&|jJ^ z?P*u3>CfVc-t`>QIgFE{(9DIRczE5W>xL2KN;-#J=Ah={1pEvDRTnxQZWX-ZV-)&( zN#rn;s}1wYJ3N0PI7b7jUx&LU{E5E~-gU%r@gMH#l808dBzWgSr}D9bE!0?aPqT-c z>Yr-Gb`V6r_VgdoJFovoKw)6J4&mSYCv5EUf4=|!eY{Bb_eHvo^m<8i;U(3h zYYN^U&j7X4L6d69F#oxDQ~FQK!Z@@lzEwI{M{7Fz<9~yrXNMpQSHrA<&)iwk~4)k?QT0+JCMfUy(&CI zrhB0p47any=1g=|6eSoC>5HdEp(DF5r-(o0(gHQc7UW`W?DRpmQ|zJEjL4En%gR>WBE{ny0|GNyD79$%(2`3zwH$2R}Y ztpq2j5Uw!Yx9%HG`h~qNLejiGY{v~A4a;+b=93&G3%}J3#3a}^3!^`n9YhOn9iRBB z7$y{DRYL*IA9wxKO)Hrck1;vO-$pu}4hGX2iDv*`EOaTF&1HP+Kxyasv}RamkVG1P zGXKOfbJSJ9)&D*_MV`t&No=CqfBHXDKbe^4?Jz~YWg1@~kB*hKN0nVy)xDnPMvRko zVV84$el_91rrT&kqa7#C$lix8y;(38uKMf!N{!gqq|vc;nPU$2y&RS0yzysjvKw!;3$|TAH586Zu#LpL{fn*q+kmmepX27H3Qa$?TUDFyJtsc` zIL^@?fbKIu?j^vsYJdIGHJVc#Tk{fiS_R?T7w7bz_D9n@*;po%!l~O%<#SS!MMJ}o;`uxX5|7|Wpqvdqt z3qCR?(|b=Hg>ES|&x$YO)eKavRpZ5CZ3%Uo!D`%P-8F__4eW^VTP24U*O+_ndG7RaL<~_p;}b zc7F6PI7I6hzZ#!o%G8WSjO!hlx_Ht$bTxLBRwIU9rSI`MYP2~YnSPjJj>ymQjp(#6 ziooBUgSw65zu#WYlIb%H*-)afa`H^0-Op!Al+Ck3-i5(j>@OQcfDmt~vZ_C#)NO-X zcf#GwML5wXUV0a&oUz+0J~W9va#;<X)T zE0L*XOHuQVdUj-maX}w;g%5!X;;)|V_wcU=;)H{TD@IED3Xf3b6Q|RQw^LP%avOT2 zglx-h1+4#(E@JPUEvRIiy4{EB*7tN2%aqG9{jjK9o5L9oMD)n%*97a)qfBWn1?7l^ zYd)PCT&hYG6wj&ygZrp=s5+;hlw$%^k$I&>+`BwCjY)TuxXEuneaASCJ4mQU$d)a` zAkFaUmNo4?ovC#(!?(wDo`Bc&m(4D>d)_sC=*g~(eqsh#Z!`g{zXaS^2MB>W-mt20 zx?T$Vo4zaY+28ZGKen?cz0Yv1izil4B+UnMU~<-0>w&yXc-N+oU@;9aGe)y}AlVx% z=_R#TFvCJ5Do$AXj><|DC06`g-03|jETWb+fz0`6g_p(&gIdszK)q6&fxAfxCZkv& zBz2tEfm6J|gs!CI^@A9|)z|;UE&o4Pl8ZxM-pHjV#cYBydKIv7%@VYrjotE*$qC6| zWM&*SP;Ij5{lp}=EYnV0)ny@qqb@bf!xDxl)LmJ?j0|c?1^e_i=PYz}Z&Ha3C6h&% zp1kUsNfoQ1w@;Jxxmmsq{{?rvW|rW5(5GRR#%k>IbDM@(>doluz53zV#jd>tH)+0G z^v~bkHsAnUzV)<#aPfN1A9?%5JDXqhX`~P1v=^BM3G>U4*p%F>t9T9Pi4N%!uUUWK zY?sHx%7kiHS3@f@kGwBfn_ZAiDoErl+bnI-bx(c!BK=iCsBcbX5Z1!n!%1B;NP}%w zmS6IbpM$IXAAfkkv|Lhr+BnINBPIZfjGf?6PhwMt>rNqYW>px)jynq;a`s3{jrEF_sVs0Y_VbLcXninp%E|QL{-7|Q zP@UQUJF*_X?UQO?L8P@0^-fw0FQtmsKc2+-8(%-5P7v!0<}7ZzExUSy+!gmyTU?`Od#8H9cl1nhUBpH4}RkQOK5 z4)+yDqnlk#ywD*mnR60*6XAs(!N~Y0H1EOa2vOVh{U@afYj1kF)q9e=FkG5UcbpOo zIM%*$O2vGvFE|ISAyQkmE0wV)`ZpF{mB5K`r^5E3zyLoY#J9xYrplAunNLdeGM%?0 zCtp*@JgZmx>9<^ z@0_knS$=%2OC7MNf)H}-QJU9ife-RVj@#&~A7=pS2U=;p1bRAOx}-d(JRB`eU0!H> z_3UIUSGZ}NbvJ)N48DvOIL=5~bZRaOEr^SVdlk{ou_J~0oT1)1Z6SU*tQEJeMPMDi zp`oj5EVZALcyPZi^<4x^KAovGUgJ?HYr(cw*WS&R$6?sbtZVAWW{wo=)nAkCF+srI z;Ef#H=Vd{=E@G_yyRyR;s)tCjWohc7gZ$OdnZhFH>P3U7xUr|qz8Py!{g1K(S9>hb zB7=p^8YTY9jOcnB6fInpF55o3M&gGW;8?2LH-6Mw+9LdUs}pddlTFrr8q#c9 z4_eocbAE&!66+K}_jrx%z^v30J6${9pOj3^K^B{U?rH!}w9X@ei`pq)Z!=$i^M8E& z|LWqG0gzi4=~CYF*rIsoI>^6fi&l2s#S}jk9S8-O;C~!DPbuu!aTJRAbXiMi8V}gW z8%KFAnx_$7^cv_q3wG8wI9IN>EB&M z79V^4$!Yp5F*gAHF*n)}RbyL95IF(!RF^`D#mYie@qSo0<%y}D_B`^?w2B5-pm8m_ znVQuti_CM%a7kc#(`i6b>^%eAY04~`$yl!48;+OCq_|<*pyQLK@iok%Is)+v+1-lb z1;cyfqTG9*u!cL#c~>8bbP2@O4_amfBWdS!?s}OeJH25xTf;_9r2z*tN6_uoy-xH3GkDDy&du zTjklIZ&T7_kxSz5B^r$Qp{CTsR1hdt#kevVHuX#PPZD8Jf}fRTprXXaWYO<=>yn*= z-%5=S*;ILb@ScJDD*g;GQ!2dc0;D)LHj|M@pZ>(b$L)S)S-JdB&oK%+@;(DhVp9A^ zn^>mVS33`La&BN94L(3)rC*MscxpFDZrfM&!xDfb#iqJXq6H`MXoDw}1u5qD67yAM zs%xW{3)08@-(?oUCr%<(Gj$SXC{BkMd4x#E&4m~_guz(1ZI!q=aU!#9W)Pw$ls3?q zeuNizmDV!WNl4szObuiR;V<1a%h(NJ%02kDUt+Z@WV7wG-|2CU`-9%VtG0h?Sa++Z zFq_?$rNW1IJ+AI?UpaY|`;VDcKWbl`99LnXu{Qpr?KSQU&>#I}V`R`qM_EJr`63X^;WK;NUf9yV#8W=34_?gdWN!WMI&rSd7y z-35i3->!_{uCTYOCx&9jOUeS`Hwsdu{*n$wx8=1WCi)*IP0wufai$$&drB!+3~U@> z=RD{WYA^IvVXLHUrylpO7^AJRUd{_Ms@|GwjuU!K+|S`VRnz`ZxOp0<#^oY3BH%I* zYOJ~Rv2~m|+o2=$fcpkQ*?hQU*ED5Hab8M>_zM52C{t6}>~I+@7pmYUX4823#uR%^ zDFHgY>vSEIb<8=J>8{d%%%&$3uS z)ZlRRJu$`EL3d-YdP1^V+Lz~FolCURKn~jYZZJ|&JO7eqmnh%?;KAkduYcwLLVU14 zc)`bUBDPQG&)D!*j`yko;S*ukk@2;ht4iOG5lxNF@$r>`-syaEF(=Rdrh1P&%!;48 zn7&j>xYpD}p&hwd5PYN2GplEwwoP+YU2urFSrZ_t*7T`PwRs^+x=;)*)pJp|D!wot z7}(7!47{0`Mf%g+uvx#5Oi-$qi49!Q{P3w&RS%`I@kH)C4QJ*9$X&Ylyw;Jc+ZgpD zD9tQrqaAGwNt1t{i(vGagje>(WVe8~1>BI~eSGW1)d{I@n?JCUwjw3IRHhABid()! zzq5ROaR1{NKn&J!{k7cxrafN+7y)K7tWOvoygbjOFPT3EfB+XEAEhqP*XG5301@h6 z#Tmr?KDsNB@nSmtMVkBw(r`ubgki=kpZEsa!Q`*ma__s+eq)&_cGr3tBE0yK?)R-mpOy>*H!` z&!#GcPe^uQXC>dGq#`;g_}E}2s}JAZ5J5VVe@M6a1s+4-rXRn35_w%Ob*E-0C`P_@xEieAnoNjVpzn(b87r)})DQEBO)p=t4@q4goSjyNusmb#h(ATXz^P>^3 zUT-I#Rk%(@A)aC}ROVVcC9=Kl<$_;VJ66oio0ekCbu3$OwX}TXvGNW5+<)Tjz<;TEt1+&+^0w9o<4JT}03~GO&nT*UL5#N_DMihD(k-dUH3LS`?=$eA|Lk ztw%mI*XqUY0Xw6_$BT^IDc)M_m(s=m~sxF|?PhiDFiRO1=9a;!m`*Zv|}W4LMI zsxr_Er4icy_vdl#KI15rGIfbuWy0WWpYk))1HCG~S+;ITRVC-p&{lif;>f>}GJeNB zv}Sk(xHSggR07a_IbS|+yar?f==}4Z&<~xrF9WpaqyAl2O--&UrkKY(zcnbt@%r*V zEcc8dhT0jpLr@JV(Dmw3IgS>INIpgqp$~*@Su>9l z>JKXj8bMMimqm`k4Y-siPYJ8vMwpYWUJ4V!{CtsVD!ZDNzHr;gMrcfs9-n@_^4n1K z^@Uo$4kvMlV#3d1DTO|ap9=|%`nFk{wgB})dv9q{QQeEvIb>yqkC0e<=LTw%KR(sP z$B9%qaC^0WlGP}spyW|Wc2!F(^KpL&zRoNUqC~0ka!dR)=IaWr&@nF**j^6unX8^3 zYERS9N2Y!H0(ggb{?COfoj0Pl2!-dhGP(zM1qKC&zQx6-%BxDyJvquq8Ggf*hlIq$ z7=CPX&bSptPz-Dq8Hc^-JH*E6=0 zaH#b>Fw(JNydCUi?tpa88&x`~&0~UhY2{U%BMv)!@Y)JlOw2T>!=))Y%e{W7ZsYxc zT%wuG+-giZT1)G^-t@B=JF%L)lFqp3{D}s)!zlIg=?bP@~a|ia$U#MnXcQsAE zq{DE|3Dcn;TGNUAXQlAM0kifC8FRA>mjD+4+8-I3u3yrO+>4>OtF)Jfx>IX*a2Ie_ zjl_^v?Nxr9Q3yD&f9q;(xaL-fr#WTcc#~8#rFaffwWMHreVzT9mdc9KVwmkd(Q22T z+i{Tfgjo2PxQ0}US2PjT;~(n5pVXt|!4^LM%>g11X#Xl5P~e<#?j`?)^!?Xm{uRF0 z7cv2t>@K%oPh-cK6IslNn}XMaa@ox=H^~C6i;D`x4dH}uT>`Dnew5&;oYI3;ojL0A zue!qQyJn{@>-}?GCzj=_3D@nc9)=QQ6bq-f>T#(aAh+d&a!VL_r!9T!PWbmV*+}^4 zs03~y2G0_f(7NUa-dz0LvC$3U!y+qhQRTLSk?alayG5bES5%zHyy z$a6&EX+4^YJv+&lB1eTaPlq!n%LGqXN|6@+D8Yybb*$i?94xGA!zi3_{at4J>ICJF z!EYySN9&lrx4C2EXMmNxz81wlyeoUS@TfoBTMDCIR9H=fIeUiW3>NZBTelmP;U>ND z_@IS@u#aX@`>D9U)v_0q$B)ztwXj;t69}III~^|iYzITcz=*alXR~%^c2CqbbTRbOo)|9_Hxc*K?d? z_L;Kw0V}pPfitIdxUCOHlKe_?TE&j!4u4R=W?P4I2Ye}716oLMDb6dvFKEvxezXp? z8*#ll;YQan=EO}4g5ebva=jdeYme|c$w=|TIp?m%&5S3SaRy6jDZH3VZ!cbPj|azo z$M#pCRa5p`c0xvwM>owZ2A6|^XtJ~WMjX>>d##pV(bDY$wKEDOT8mvhtHy?y$*JN) zc1IG8c|RvI`TNLGPE_m47u-ZygpdcLGHZyyVLcZ&;s$J_rXI^n7>Md>(V>xIk3Q{; z`Gxtc%zOQkd`TVgDrMeY56jO#k8Q}ClC$U{c3bhlV@1^JgrA7f6r6z7+4T(exZZ43 zfu=&fkP1kaH>yWSaWArk>O-Gysa3z!ZMN&L>x1@P8JeBPPgt(nv0BxT%jRGcWlpKt zFP4gClK#v&{lXc;T}|>rM1c(U9^X!Ms_M*J7l^a4x9Jw@8NWJ?fqKQUy;nbVo&koz z@t5ykReI2F4*F&R`j1k~wFm!(47vw&$s)S89~&=xYycdwRj8+{vohWsyUF;owZ10o zLiOs`LY8pYgujP1Rk7T)XpWpRj@NoQ6;PgESwP#491M&o5;u~%2Rj(wZbliYx}>4< zqZC2uopwoS>_{X0yl&zLLV*3NDzgjpjyeB5W}T;_|5|YQ(dCEqGGK3xkK#8xEgE!2 zCq~ru8WN@J9Ops;bVoJJi;~q7s+)^#j%zoJj=2B)IRg}-hQZkpHu_=UsxyF1b+yM& z^F*FFiqGh-hH1Txu7PIHD8+S^mDo>OB>qCS^su!t&6&^m9>nK+hb5{(Ey#F%#q(+? zs?%WHe{=;@20cW*nKY`Y>%f3T(aI7oLll-KM@VyWz&*j})qv3~mNy{t7u2Nntq&5? z?R)V0g=Y2!1oyo(YSrg-+RuqyHIP3GDeW0Zd^v2y;S4Y|s-}6}jURhWSDahr@#=u* z2eF#Dslr_q@~$}S_V<$Zuzo{tAVpkyND*03(O9!8x>)A33oOmqaN->n=nGt3S@+y( z=kh)<{H+);rFc3)=s_J7A3dB~_GwnL=vjHSuy^AK5XdT&X{ zNRXA5@4wEuyYA*MHN%l2LOL-q;xdS5>2B;p-`i6?HhBM=uhBtZZ_K|!F{EbQU9={T zt?%0w2P(1nB`XuY+8yQ7UI&9B%9rQthYEv?e~=Q4=K4G)dTAjxe%*^=sdFotyBhHv zNw^HCtA6H@!-P3v6*!t>-^?Y+=|x>hO=X-eb76Phlo!PlU)H6^v9?`d1d(1k49Be) zsh5M>yJnkt>gwNX+@4%KvAvTZ1Vj zLO2E*)aZNU)c<&4Ig#;(vNcK7JJWEztX2b51!>660uHF&H7-K8IZs-oP?LeM$yoEY zbQ*R*RRfnch{t!PKo4`swW*HUs!?pae3J>{MHLvwa{J~6BO!m5Ce6)SZt9Fsui5OS z#{20*1EL4$oP}8OtjH^vEPNnH&A=|##emz?=m=G0BskVpCzNT+w&xU%1f$fvyH&bG zPMIDn7^qb2J@*fEzB8D0zD4W|Fr_ftV^D2y^6B*Y9A=^iFLHXbDaA4<85Kj3A_I{#Lr@Ea#?TC5$J9Q!b2ozDPG@rRW`4h$-X+?kmXWY&G@z66eAB;E)J%X02OFJ@bg z&DyT7v7DNvg(ZS3=bhdWCZ$Kd{oeKGZa#=@|EHpIN&gHWRFG74*UO4OC^Yj|GG4>3 zrF1AwgoM=VHS?PU+ZGMiam3Pe@77{0Kj`Xbd0d8Om_&t-5dEu88(qaAM$!$>_# zFZ?c}CZfbxypnQ#D<0JOwKT+e4v6q`X>_KYpnSRVECZp3(8V6Ot@X5@HJR*~Z238pvP@I8gort5~Zm1%VMTjvw&FA|$rTOt%AFsg<@ zjwhHBL&8G8Bl)eby%>^VV_+rFElQm4M?3m*=k zlHZnLDiK`i{r<4L=dO991uzUYa-Q)+vFlWblzp?sXIj_|ME)@Tx;|Tin7~t?4P*F+8s#y>%ooux5gPLW{ z9(J7*p3WpYU>x7y50vrFP6_k&;8BASS5X#DQcPLal#R0c+XC}V&vICPOnu2?H^sX` zLOp}})%05_QmLR5P&UdKtYT=MfG%0(IEjdIFZeu@H1jfqPfQl)zb&;PPkfmvctbN2 zjB;8HkXyBtntm4~PZ_pll$08woHTkFg>b*omrfJCBhxq6pbBa43=s0gE;U4RI~3p{ z(fz`aC9R_ylAlinpDdjdval+(7Y*NU=5+0H2DZfuva}3d#{SZ~-aVq>QPsY*YCftM z(*SanCT++NVZ@mk_bf5dLWP-X^^LvlVjAxA%rF}~OA7CvVXMEePgq&s!xt7nutr8{ zOML!;!I|Ba!Iipl)_a;V!}uo3@ru3>Lfj5Gox4(mR4vJVTFI8NFF`0p_$vnEfV+aZ zk81P2h&)pzptiOa-neir(TCNh3n%AQNvu?42>I~Wyn>vF?C{=UUwi`mVpkA%Bp0_a zge!gCmdE-B)^}_=b!@ei!FOyGkt|)uU!9*eTIt5k_}goBeNA-f8V~Yk`xfa%<*EkW ze+%z_181xr#>DM#Q&jI$-)aBfxw?I%t(in0`$I&T+d3%8p*O1+c$np8QJYJ1k-E{8 z{_!WuhgoCN2+!J1WuflsS77(i^>{b1I3%klqb7&JxcPQZ!w61XZxO?av|Hfs9Q);( zEgs`-upGeB)Hvb|_CDfjYAJQIm(*p@dX(QfwiRcC7EZ#Nui+Hk)CzLMVzr<-*SZaM zh4&RD2ck=?j1>gc`E1sL%X0+EnJ44}_mn0Rv<$@F*dCx*4X1Z<`#c-N2K8MkU{ey> z1@>XzoqD{uak@p7f}c=6UWiPNsG1T;j5%xGG908BVVIOXY2p<#_kE))0*4p+JH$bk zdcgE&W_&QlrfZ3P3IjT=o2fT672tX$7B%Ex4CG;O6s?t4oj+w6Ij0qO4bwgr3!FdCNv%Qd9=P`e8h)+&^B^NI;XJVr5B zKHflwjAxI~Ac%%!@$_g{RT&g9imX2aF;fW4QZRiUUeH)d-UnOtxwPOcBc=|rRHpvc z%oS&}P}TMukV&GHewcN_{!ZgFHr=c)m9j7fQdW<%mz1Jf@J%`Fde!8W5JIu%W zFq<>pbs#1PJ4hmL0(Xzxnc(s(dWco>{CT!9=(U=p%(FV@J1%iNv*(Ae%em^3H@_z7 zufCYxm5tn2bF+)rMF}dWXe}}0$y5*5ijxw^%O8CKGbDtVT>AzVQOaS!lMZG5iPE3(n|0ZW9)x>Vcg1-LTTr?Tf-dDzsR zx3w;_51!I$Ie&GJ74@%{1;)e9jgQs`STP9DwcONk#O0;dcOeMKbdsK4%^lmN>+6w(j ztY+0f%pliCrL6VFg9?1pwFqTwfqz=o#Nw17EUTwc*!ah|yZXMI$vasQ%&xj0idIvG zEY-{imT#>d-H?KKm9p;3%Z~KO;aeDTH?<|T_zTFjg;DdI@ro?RBWj!V=8M@Wap{cN zzdd;Dl*J*doGzv#rJ&Yah^gtq(_PNHT{jFKHAU4{jLxF6YePgk6yfy)*G`ND8~j@s zzkv(xr<^1@b8YmV+{M=+5}I7D*^pzAc2&WK>LK!5x)W56gdsBeifW1I9CFvWYbxz1 z8jMi^Yuzn$K~8oNY72wQ|4Hg|Hoj7%@OOZi*rv;0y#5zA+y7$+;H`?k<7n2*?N_|P zUT$baK?%So!?RaLN(!NDwz;_hJiDWHI;0gC zD8EoRuAE7grhjL2Wjb7X<>j?t*6w6AEf?2xyCxQVNVbWE9JA&~UUS5v;&4wNI? zYzW7%ufW_pIN1|$(0 zXHhneSEzjg`uBs-p8)qh{>O3&0Ng+4k1o(XxscKBEhA?xbB$!4{M{ce7xU$qFm=QR z#sT#k2!gxHiJUN(bn@hDYJ^#4j2?=tY?qqp^_Ca`?OEkS(N5h{^O45=+*_Rn82soy zH!fZ&8=0Q0&XiZ`ux81WQxYbfz~r1;>!En9q^>$}&~XyZ!QB$aPrNkW{M&tjuemj{ zMv#?*QYsf(Gw6qK1C3^y<)iPdho#vEcI@#F$TaA2HAwzp7aDf>Ud>Et|nTyzREdFjGSy>SGCMXkmh!VG+Vr3;4f(E6fzx{!Sc<)0>IqK}} zq)BTDckfJTPN3GBNF|LHAUoB~xL137dDwo?3gIDY#&D8lR5sQ$!Lo8nM_1M~&NC_C zO2$ZSDz2Q{YFEoQSd7Jghn1GcqY)KSqHqQ=q|BA)-`B>~{=vf})+p=(ReC z7P1&!9Uyqj;k&A%ICK4%|9%uJ9tw+cxqMD^{HX3ORYBQ6r&6#+-N`Arl{rz}xH3H@ zUuVkDB+w-aCV810-~%$AezG4DVK|v7c@KO~Wa<1u?k`(4)Y))fY~8-Z9I3ePx0lmr zciXo4!PCJ}lg448FC{}gWZoy8y6N!YpnW}u?Vr^#S^~H$=e5Qzts_l8U!(rZxlzh{ zF6#{b!A{0Q*uIs>)twO4i05pFH@APb79ZP*hxH(&O47)(J2K~Se)O3_4$krnu&d=v zMc{zV9I4G(SFHAQQR5dM)sw+wVrWg#1@`=_`s? zN$$Pg`abQkb1ShOYtMXiG4Qez<3>|AQB(+ItSMSAv1=te#Uez05Z52%==0k{RApyB zP<2|3t=?)3UPB-qwwNyZPL0F851mvh8YcB%Rfy;3w2Cx*C$roa4bFGiB$w536HH$&;awGEwjU7(DhDX@)ByU6NsyyZhdYj|B0PV~`y&@#+gIV|p_iG;qKScq zG)hQTwelfp`Y0wA*g*caut3JR^{d`gnN0zjfPn)-FO)#&7?pD)t+=kiT8>;}a)oQY zOep!@@rj1+t2Kp5jmChOM|vvd`naqot%isFVhPSQ1^Fif6BNhZ3gcgQ!;iC=m`Rqm zV%pQeA!S^@6zm7ZovLv!Tj9H5rjx@%5-$r*?-(!pm%iC`X^0&>c8g$Aw#@|ris~inekU=^=$PFYz`K?3?i2eFppJ{Cz??6=(&3P`>fUCi` z^+mL;>~f-XSfgZ~C={cxw46bbv@|D)0sYNf6c?h9!#$mD&@1@*raZmfe(8p zSJHp%`0uGHb!0`61A(z*^a8B)TaamvRaNr*X7O0vELt*cL)IvT}sr_{8#OM>>Y;$E|Pe4<@ij>4)B3sKWv`p>6j zV(BxCv0P|ql_HojiN`m!%_wpa2usMGzJ7j`bv-OR5xW_?5D+-OQn&c3h4UevSgcpX zh~th=&6ap6X7)T;voAU=wADR;s|uzMlBSc8LDJUEsWd}exm~MO{|*ru{;rs^78=$E zmd^b&0gTt-1SZzrE|vJ}Xmi0kbm!Zi*NLKyo?&zcz92nc)w(Z8Q=t{+6=Tc4oX9KO z|Mcm_b3*pPe?W#?fa3g%d;yFF=Y<>?DRxKBPUU-?rO3xV4^2Ho=YD}%QO)90q;#y2 z-koH_ts}Izt(Cd&%EPw2`O>w=foybWjw-38l0Z zU=pOKM6HpA*vJdBVCl$D4=M)aUW?eHBYJ5K&94g_|B*6zG(g(5GH$?`lcJQ z(P_B^J5?{Vk36iHTaA38z zDlS!3)F@c~D|M9vRcBr5r%3O?qnNs?h?@hyNd?}Nv-=Wc1#`7|SA~_r({B@&6>el7 z&ROhdZ@&w1HIrOlDTcg#o}Muh3IyJ`;yO95EmwjpZg4@nr(X3Xp7X_$qZsWdRn-9v zdn=bDk{`FRNd*yOlAS-}m%NJ)-dJ~Y7|Ap0Ez~(sZ>?)Y>!1Iz51Ly!jhJEbn{v-~ z@x@#^Q1YMp4eO1?KsIzCcC`4p&f3KrjOdp~(O%O!#6k#j!HIhOBwn2peN-T}%DbsJ zVANKy%;BGkU>nZ6lwXq*-)VB<|ijPHy2SY0Y+=1sXy-Umi4>^iTFo@3UaZt(DkmXX`3 z`oyFchG-J$m7(VL9Du@t;*ng)@hCFo(p1S$LL))FF-o?5>sT}j!+^YqxQelx% z=u;XPS?}81dl=d}?!pr?XPX`}zO*{1xN{@q@0Dk*eq(zr*mLkTV5D_R`MMV|%+&D= zfK(4M;Z$=EY^#9#nUzp-9_L~kY8^H%gBHCCv8}oO;f90itmOvPoqHD#AJ!^QCzf~c zHcmb4HK;WV%7wyHYC|6h0@SeY^nk*}@((KdgW~k8k zk0bQKz5PiCk&xeFWgaD9;(X*rWO2)HM{_jTJr0wSINHKEe7i%^8~sN3~k-=A?c0HWs6w`K4P-XJ>7{q)e7}Nb*}1uj*z$lYaTB z?~QDli%qC5VKG9d5p!`Q_{CTY+8nMeKrV961w{?HW{;I-#Xgf&+Kj z=l6x8Y@j71ff2PyBj?dsQL&`G`6cZZ)nh_YOPryUXiCN1!u1&D8S~D*eGSRlD9497 zx|!$8yriyin~*ExAX0Uyc*%joEYIM5c@G6WSee!F*hBn^Xunkhf49oTOV&H`X_f*p zk)ctWiK$&y#DlEaJI~x8npHhW&9I0Yb;41bzOaOOJU-SAK1g`6j8o(`aA@*XIE2ER zo%o48?RB=E!LcXq6QjtK5*hUB_kO`Mpy!P=uDGV+n&b|)3Flhlc=dP?n=9!Uv=NUX z)hvJupX_(5W!8O_X7RJ@v@cW(9*Ls=ogA)Pg|jd(=`}AD1?#=?B$lhx(KpTMECg3s zc>4Z4dip!K=xB8JT3`99t8|~R*X*xo;JcN^*m%_v$^G`)-Nf;gk&#o$rU+I{opDAv zu1$ezN2$-Xb48}KVmhGd2U>(__nd~1I*(Nwdq|3`gb>9iFN~0vZresU)w4MR2p`C< z0}i{(W(7t1i<;C?={nOB-RUZ!oLCjiq;P6qySKyNhj*R+tiVQVL|tW}v2dqD-n?4p zl_6!P8bMvNR*B}srK-T~P7RB1)5=FKrctnaPQUXhy`MS) zV(dMjnpofc-{`hbR7B|rsMOGVFK(0;3@!93(o5*Qs(>hUOO-B!5JKn>dJzyp5fGBl zJ47JTd-ukDe)rziIGBcE!ci#Ry-_P?tS6&$P#^T`Ga>ZD)re1a1XmJQrB~&FaXC*l~ zz~%N*4!YI174A*pFP4qujG8Qn)yxJEHs7Y)y#AU~u&U@fR&(o~rRzee3X7?9aSRS*m;M2t)Wwe}#74kxKmlm1nH- zZ4-bSJOI%*|B8dj02DmWdlM_ireaPvUfML$G>TeiH$A+Iepvq+!#DiSXK{C;!44m@ zXyH^hE;VxK@?gF_!`KnW-zP0BrB=w z%e~ATt4>JSe4S&Jj3u);fpEWb$RyX#2i-^uBY<9~yvfiCcWGkg4MC-TYX%Zb%fVi%8mcJk;lb6jW)E zAP}J@^N++gg+l~3k!Bd0MFw~e^`X}~xUSN$I?(;T?^zICgr_A~6(n?P^i^Ji&U*%HW+TW- zPd2GYu^A&5;Q@(v1yPu z@Yk`VM>s#TISacc`O3yIUA_XusKQtAkYf_RaE%d^oNkwPONLP~8NnlzDd1428=d}& z@}MRI?kpt>{my5KOW~x;yG@=UsKZvxn->;x2!Hs;- zLBDuMaF3v-5cl@r+Xg3>DNYI;5m?U}xc?XK-P1QDqt;il&o(!&`E++nyibq_W};of zn|h|>A60^x0`GQI)#jMSrJ6ZPj^`ul!`~bo!hpt@B5eVmyh5_kkOgO^#4e`e_vaDM zBH?OFeS#PbxLfQX7r~4OL=cDP>ZhP+f?_7lMyLwjqPk-_UR%L;t-4mEYxVz&SaS29^tL2Ww;F#5g^~$WGIcD{P z-JQ+xJCZB&ZZX0s$RFQ{LF}7_j#FDpc`tZy@rqC7ucNY!-^v3QjJMScW!TgaSsk^ga`mbCh&$fqb- zk9VFiotEkq(YXP~VjG^mlpm%|aY)4x6Dc^h=On*X;HW3w)I0N}Rfz0Dr0v*Xj)3Pg zEHl)~gM2enINqdeaV9pcYywG6s8E0Lx`43KlD0fx-zc&Ze#wKs6x8IVm#5Vz%3S=S z6n4U5gBYFGcYrcnXr-pbe;!@$B1puE?W(<-;~#L-k1EQCoXT`UkCap`1F8zjSpCJz zp8$R873 zPsL0cxbFF5MZm#Wvyf>6Y}eWe0%N@728S0}7!T<-z*T~RC4oYS7Ys8 zk}|CQ_55?6-J__953k~2*Nm4ZbJfB(ron?n25`M>JKb{8;0LdqITJgAe*?N$%$~KR zn#qctIJIGNuo5{A;4AYrgJrzf8CCJRWKg8JTXCn;8LZ#x#3g@LiqnOx-S+h&pA@52 zih$I27#XTqOK2^~LdbJ+PEF}yvZqTJrIXYrH(}lMG-}i_{oAvsoUYtd+0O@Rd5Yxb zts=+qv*bca8tuqKlWggqitpQTl5>RV>g-=wl(gDp#=0C{**Sh`Ezbep(QoZpYVLX# zbho2k;1C2o;N)l8i<--?_Whs_2ZnG8u{%!?^#zegT_iopk%=f(o(>I!IPYY9 zm)q4#$yrv$ZC)twJY9aGwlaTBf-jRf$*^{1_9p+UOFIpFku;H%V8Zl| z!Q)qo8%!Y4AcwdN!HduBnFx>sk98Y{S*JBBz6^wC0`YMJTjT|WovB!)LKVa`Qqiq1 z4Kp#f70nMHT##0mW6w+4md8`0&>FJP#pT{DKg(!saAo9-k$IZ7NVT{_u-Wmi)C|&6 zf&BrmkIjv9Hs)S}=dgskK;)8SN#4zLMv!ri9=xh+L7gLS5kI~gAr1~%W2ECgh||1lR((sTUv z0l~fE+X+QH)MAPuS=3H(gRq)?JVs*iKqX-4EPBX=kaP^GWvhY@tFWSIPh@jN>r8f1x%Y-dv(1_+i zc1f^hKhQqYzQ{O{?ZP`?dL70eN)^@9UNTofP<0ZU$4(#VV)l#{2&1EAP8Dg{;eWO9 z@fj))n6-o)9<+PcVvkfzw@bFb^~AwMCh>JN_D0;i(2w*qt~qb5sj)Pq)Qw$Y!dX0; zLZn;PQ+qAcG*kxs`OpU=Q1~ffnsb`-US57z6OPAJ*#csrzTn*S9lE?zjF3%?il~`V zWFwlzG&Qxv!Bn-Y#_!2lcwpQG^O0`gzs;tU-C_fv>^>W8akM63i+xb2>1P3v#Bm%zpIUL;v2M`ZR5J2EahA zv+p$aD1WA=KL0$MS6;&_SxM8%;6xJ58y?elqJ+8hztr?GfM*v=wr|{p$k>C=T0Zv? zR^n*P(*(K+@?sC(5+&!3@CU2{ZuVbVszd4(H*o$mXB8zwnj$31_+I^ff=l z@%XSqBbMr&5Mx?-iM})UBdfUwQT7hL9$GKxGzPNb+iFeho(e|fZ@Dyyh6?Ms zE)PWZWhG22d##(et{qyK0zvUL-Y7vjDiM@h$+!{kI7kbwanZsY(aCnNWJZTiQF_PqCgpK&JS;yNq$97Z+*yH{A1miV`|wQ_$_RI3C7 zJdXX3d|~->lTBRYtAffj`l@t%hcKkY_P= z_12U&&l1rW`J)D@2Lk~e{!z-Fd%XE^v-LH+SwlrCqMz9ebEy?|wO&$o7G`+P1b_4L z=i0beHLlnkvZPPQW$fTx&U>cxrH#^!z7&eGZ1e>QW4vuK+ytvhD-W4QlfJ8546&hQ z;oTdO!S;sZmk$`S1Yo)0%dae!DA*)XAFj0&#{nnC3oYG#M<;baoN+q9@$QX-q?Sco z1{hU+Dfcd}Rjf13_2XpSXtm$uQg`8wp*>})IXU#4GOrbeCv$mRn-w}>V<|{(Lm;~2 zB*FlT_~J$Y71CH!G@4kNNO61|Q+gioq}s+BN_igH#!_;LGLoN&4FC0^hoEXOe6f(Jy!B00M3M zRCsjt;BE?l!S=sgV*%HmQx@UNUix=@?o9Fwb1>%vs{s)WBpV54m?VgB z$a1z&LKKcok9NX~kmubzE!??OnsxpXtu6s0D2}2u;bB8~yc#M%!}^mQjKY^^2v`zJ zHNd3>=j<#_lnn7d$SirPK15YJl6TjWLD zl%St;9wQse3%;1!7K>KVSeza6tZA~|_WQ&ive0;DX2+4bqCXaB{!N~#=S6We>}v_C z(p$rR4C)8V9Q66mWW`Ah&&#)CZWoGCKubgqTvty=A?$d{|4-ZEBnVa`7mdP z$NmO%Tx`zodCk(t{|1m89s3M^P5`beezMSpv)>4XE@$G#JPLQd{&bqM7`(Kjbk<8g zQnM+6T4;g_Q0CKvf0rI9K~AWuYn{(jm`nbN0u6efNYa1Ef;=z#Vs!a4N7hX^ROam3 z#c^@E(Ic@tdkMe%%yeqU1)a?LWOZ}t?q%Wb<}Z{Vr%jG6GNDD>rK0=JgQ0G6EY3qY z&JwSt6N2*wdBEL84Ne5sW5<)MQs_yDw4v8KV|A)|)1rDi#E(=EejP)pFx=l>OZD*| z+_D@cZ;a>0&Y)Fei`Lj-I!}LdB%4nnxu+?-TTK@0mAwBdl%92wz!Z3zkeBl$;a(!S-YRHmd0yG>qz}{0+F>s#?CowU;wAR;QC@`c8WXN`h=Y zCgtv}ucXa&sUcxKB^_DtvVrc8atFa#A?}4TjB*>g#YG1@lTDC13qx$oGx|0K*^f2E zrg2KQcsWr`o;yMC5GT zuwJI32JiD%ayR}Zt1q5vnhNqPgiSvVSFBINwoOYV!+fwyEd7PO@kR zR3JwI%$|0*(-Oq6a!vjHvpJG$?!lSFX^>>tIO6-$%ft?=nytc3sTYrH z_Qj5)qO@b3Kw(wSyhyK#M9lel$xxM)Ft43pFU&Eoqy$%XvL>UF=6dyDD*utE5|yKK-P`tdUvQ5SGv!{` z)Q=L`DS^WI?0XZO-mS`)qQkDDiW_b1s=inuA-E>Os=RsS+#Twi8(lD7rn{s?b({HR zsO)7|@{)X}(b3!4>ZVMrfOE*?x|3KUC(iytl{9yrM)@^o9LhSwI_mj1m))US*})uv zN>sJdQ|luQCGDA~3hx8MG8BcB*oV_z<`vk>0CwDcd*1x@Oplg~sxhjQSg_Q*@I66h z{{b=H*Sla0RZ-His6HWXy|cOAeXPza9M@D?omk=)dd}h&9Ip-QjdJ|3s5tRO^lL{M z>i#vxe>01uFc^&(RC-1(ig%Vi9;5N4@QODsnv(cggXWtWPc@^#_ElH!cQ`*Uk#;<^ z?%SDhR(e}Lx+KBtVUrUo->5IyU;p0nb?iBs-}{DdMz?dZ}IXfyl3cv6&o1}TIl7ZjclhLwrY1zz`<4;3Q-?AIA31w;p)+0jSY>LedOyQP zLQt1EYpLg_wIr3JJs^cs*`JEf^N^_Xb$5=(Qcj`5SK>;D)I#i!dz&}6+ApE@{|tA| zw|i2#Yqo;IyMF@~u0n_wprh(^U+&+4BvcFlU`H;!{7Bs9p9yBQE-PB0Be)8Enl{`uE=H4w%KnFlY z44y9jX}@m(`x+6bqFs|jaan&Zsh6sN1`h~{sBT!q`!As3%%Mo<^=|%-@P&yt|5kzP zZvn4J4MnF2adFzk`oz$U^swLTyY2Oo<{ID+o$Tvh6vHGVUSfA%?coK{ zB_SbTh-%8<6fUt52D~iVfU|_+hgnn%V{93}_5xnUy*-2(>X)c`K(&N`uyLXLz76aB zqf!rbG+8E>naSTCH#Q)>O%3?^`n?EsA#q-^>G{-uGxuKq^iKHZQyv}aH>4@Wxs6;7 zUQ0LDN$fZ+=eE{pifPZ%&Uam{gu&qaG-_@XMZOA1lay-@?+0RA+ciC05()yr2| zp5u{CjNg+@R>tS}-6<_7l^Y{Vy7g0-G(^|glKkV4n&0}}(xgcwfSRLw6QO271C-~E z7n%h<%U1Ig>vmmB4ocofKj)%5M)(Wnode`v4VHUvkx&#bt7a6LMczLy(Q+r}&k^`B zW>#VG{>}C;aPc4_Vn4na*(9Z3P9$__%jeEx23?NJ%#Qg2743!?yC#C@~Z^5?|dJUETxX+PLnzZ+C+NxfQsV)+ZnNzjmE7RMb@khjc$%wGy_x)f%-S8D(_>`CO-+^PS^!yA?pMU#rE1S*oH0o*rH2k zx=Ta06B{pqGm@UIqrXOyhV@NO{_44VFGzK@;nb5{WBDEGYo&7KV*uAz07;6Q*rlaTPly%icM*nzrvK4RX;j$kQKiYSK#S-n@nazTHzBI&i^pe&i-T4SjX|4L4Hj8hVjlZBwxQ-Z!rT8aZ7ya}$Udvi2|CITtpsI{AUAOz7K0B|x zWfBqYDA0x$Xg4f*=N0EYQF6gGenas%C5JgCrLc0DEAh>Bnz*MlZ{Ga_xJkk?KKbVw z=rsvoWlaw(Y_5O16*NyJi5^=T7g&cB&C+t>c5bgxO~yJmQC}VvT79oh#8De}%GZ6J zuC2R@R*qx;c(C6=O#jEgqW=XcOWy!^uEk}>3a38Lu|wpU>BsdG(-tVdHWBN-XZPlc8-A2-Uel1fwQ7OW5Mr zVf<#AWR;quJvZIBy)4P@GM?#?D9%Z>K327^ zSuV*joid)K!ZEu%vB`t-@(Q8n%ieo#<9V`OqC?a+6BUPlVOkrE85uGdk&4tuPfW;k zNUHe%H3^BbIYH}GQal0H3SQ>8^e9S0kuDI6}$;sbGiDKX6l#Lf-@|Fgz2N8*;J5` zK8%|)L5J=8WJiyisBuzg+}-YF_h!QQC!)uRm;fr=vCIAFJdr%As;|Dtsu;NvG@9g;--#@5X{80js8zGsR( zV%e|S?2``V>sIH^3?o#UvpyibJ8fs|Ck`Jb#d+-xXNPj6J_Yh zR?yp-SuQYaQ!;uS)up_h4B>mGW%+*(%ZtcSHN(Hyw_vkc!PWr zwRBt}?E6roX4*097In8-9YJbdKEs^_0cBBIHpPN`uH0^W*M{ZqX!*>IqSsQadR?VY zS8*4RMXQ)`Gj}>8uPc2^IxCxlo}pcK(D*t>IXh#!37s9CiP?=uK~gDvLIiwV+v=o- zVo#U;F+AOG--J;t2Ix`1tm|+>uMTp%Fln2gG%5gJB!&;E~Z)#dq57kkVzMY)e zR;6)M>a$+%YshSPGYHb`YWz)-kIq-20bS5%U^+COUwh?h*8Q)e1 z%ll|bE_mud$nidU+m!vtbsfC26BPZS8DW9~>Yk)53i&zk7uv5PenBxyT=6h$GSc%l zCn4F`&5Fep2J%2>n}zT*T`&4n;o>V>!8?eUPxF^`j~?JPdN_FnPJUV$qH5=%1d4ExGLi&nk2H!SaYiH8J^Bb^6(5CX@T#p!! znreLk`&@dHV<~2iNj>km<9fXx;x3 z`?5cB9I{w=YG1xHul`*rxTK1EnCEm(o2%`ScT@17;-u+RC#l_6{8j1g{+=p!AQipZ zzX4#tEXKcA>s{7cOb(Vo~0pS`W`4o>9Y#w<1~-Gp;qp7Bx^fx zPi^?l>1dg9i`+`;I;e`3$#aGtvOC_S=3vV z_xN&>k=9uhjQ9FC6FkqaXrJf-J2enL6AR4Q{*eq%Fip$CJ~x0%VY{GND3^ea0_VyY zl!dZ;lk0lJ++0N%RL)`$ZkTUM?d|C#&-SrJduLo{Iw(p_H4^?@UOaI&(|!?)=0Ui7 zYmqe5HY^UxSagY?lzzUhX50eQ>U)1JQ7`@F(h_!Gm8!W*$z_}B`a$!t%#^A~vU_B_ zT0_e%oIp0*g#3)Kw{(eix_`#$uX3v z5@)Ja$Hepo*sDd1nK$np6)%;=Zvb}l>*{DJG3?$vcn4q*^GR8wSAV=9*W@O$(s@>#0 z?+v{YC$3mGPzvZGY&@^7fox#F%E6RdsuKdDgN8GxO|s`UAN>YYifHf)nu!XAwr_-A zZQcAT>>U>l(cB6lnvWpPh~1%I&m#t1n47`aCqVs*dkVuWfy=kzRYgIyqOIRIpyoRv z2-6%1Jg_hwd0OFl^+Oouw?5fD82D;;I=TnyU{CS*m}kT|}qmJ=usiQHO@yL-2gPEYGpw%V)u8z&xim3-pK8yZZ zx`+MJhX+}_Bj46AiVd>Ct$BzU`2&^EgyhU{3k1hyU3u1WTdF}tyiwtSp`|!<3iYrt zCTw+8u7V26odHQ>tHPO|gkZa6M=i5!EH_M#)Hcf4!yPkoX(^imLyqN6oa^*7dX}gZ zR~H%9WVce<&-pTTw}wl`>T_2I+d_bJDoo>+#%1IUo6&x5`C8!$ zWQ0HtaCaDkr)Pl6E&j_VO(9BC|76ed^?RPNTRLZnY3i+4H^Wv=SY`X4HC5Of_9Ho6JjS=ot` zQkLv%l4TvUkOcYaz*eIk3)Zocc)1TC871!4_Of{cVufD8FwB8Bx2L5P=Zqua0*{w+ zdoKl$0jq_h^+cGVpc?2R1g&q!aVp-;c5jh4TtRim&(G|^XwsF<@I-Kx!lwGB`F;%(R5 zprFkFy&u&{ULnKbeMCrg2v+}Fw=+`DO1V*^JvG|}^(#0?%ixy^=gjWe*kQi= z=V^_8?Wl+VYZ92Es;L9C6 zS0}Gw6~eoigSa!Ndm!yGK3(?!)3%e8V-|{5m3X|ocbZ*)$4!5K{&o>|6KG6=|99bbNCa4Y+}Q{O^jv|Iu^* zw*v}*KFwF2>w-D~E_ZF^%e%F2{WLYP2t7)6@xO)8l5yP4>>0}8B2L!lo~U-EarQ5M zt}AG~V5uDRuPds@Nq|`qVB_I@F`ScJPpZ*~=U%%v)?)o=eB{bbdi8b+{z#u!O3rBX ze8&gZ8-%h@jT#-4{dAH2x$Wvb9OZy=Jj{wVFG!ewIp+&}O`kHg$GMnSASq>?oUrgl6eWr~3%(U(I!tOveB{5po~~{8HN!kC z3&Y16_8Z_jF$WA66iMFiAXFSF1Z!MqQq;sA+4rWThj`KCAx8u0LeZNpEK&wD=U$7_ zhA3Xo(CWdc{FBviYpm8;_MBW@sPhQiWT_NFTAbXPuBs4p64aUq6tL-^s0|6g!l8IW zT?oeBR~s{{Xwc-qAdzhBY<6q3W{^AXjKwxY8qR%IIs9TZp>1NG?n)5)tKX!8!u)uM zDn4|#dW*MPAO3g!d=+eUaa;MDvr^x;yy(MmUf3{hyp6j~Nn>hD;Uk3x+%?M*^EB;X zQrsh-FC;W^z}HXlOY%BOsc&3=vMDneilSmuJLzW;HpP(#|A;?AM@$0tUOB5TOJ1TSE z%Fi#w?-3!Ickd#5`%|35G+Vx}6_a?g<8J_OA;)C~!R3n7yH+7NE8cu~VFkX}5V=7L8KhtxnJbqKIMwbkpk!gK3KqI=of zVx3OS_o5hiQ^Op#g3Q3T`rjGDA63}Yd!>maP(~+U_*-Hjv-Lwc6h325ZX}V!;swjN z&n64YX(qPAE-&)R>A!s4o{4K9>AUziqX%rwNwmlz$UE&45Rlcu(=A5QhZ7W8qkG1( zyL5#xC2R?V<>n~sLM*~EWBb;8$7Lu0ey|33O#r)-ns!iC2!( zOIpktxN_)hYXTSYJF2GW8LNqE)>t-*3=FX$y!Hb22YjYlNKw>YCi`Hnd9-}Kxdr7Y z*vHd^tFb*tcUtrqB}pW5<_UoI@pa{S zQlCdPxv#ICM zatu-RnRc*_l|HVT~PmpinkZ)QKX{5tjCK(*puE!r#9bVEkX>n5lWlfXb^|8;)uY)s2 zxBo~ko1dW+M&E~y?Xw7F;Tlbob?SaJVXCXUM6DVi3Wi6d63|&W6-jk*R{iM{18|j{ zxIJO5Y4DhQ^i0|P)?|+@!)M<8TRFv?6Y_O&cKqDjlPm!Z=L`epcdZN%@KJ9RXB;b= z?i{{EMzuesaGp_p$vwEyS+}< zdAi9~eREdLzRajTQhVn#B!QMnpMM}VmQye>p+BOlE4C_7Yp%cz=-iE`%dTS~f?+ z3u@9wsK~$Xl6#Hk0#kjkJ>#>cg1K9obLBxu6r&*5gOmAns`neK5l+Qs18Pe3oc16b zdmp^Y9RW}Otmyski3dOd@B2X3CzAYN=fz*@wu)fwsCSDVDqOK|2E?iwt$1-xMqvGS zY1#_NO--|whHjN}_EGDV0r?z@hUmq+uFtR zkr9G!-hO1t4p{$o^mrPg(~zi*QV2~T{AuW`^ukt6iZ=!{BWHPf1kPCP_Z`fqHJSr8 z70ok$0qX`3mZ@6$OILAchvBit5*#+=#+nI@DlAcT+s$<#iFFM$G0u{wEF*fJXMm8j zn%p_H?d+wwbkPoJsGFq|)0Chy$+P%yV65TsYN#!(-oXg%nBC+r&g;$eG1-I)p&616 zZ#!Y5V_SU`s*GgYv-d^l4Y3{$%laxN>i=1{Njmve& zeVJ&|ZB#yQ%srAG!3Z*0AeN)2`}-Ult2o)G7d?mZKSI;hptWOi<5 zMdQh@wl^ec-mAP5)}whS^bg?G7%1;1yQ7QIuiwovT%$)COY@OO2YVtkX@8j#3H09;0Q@MT1N98@r)s)778;V~6f1Ee|r0f5+`#-l|{v6&^c>x3% z^ggEcqq#$`qqR)=eSo!N@LBco* zMOI%X;5Z{7nWcTp?tWm(k5bwqvMxFCrpZ?Z8e!nHtUV#z%umZfHHE4Y-Q*Lm+&fCx zLn2!d1cRHtvPfU(?i6Z)oHHMF)jD$>p72YFvCa8T{03yyvyd=0>?gv0K2`y0J1*0A z(MsEA8^MPe0!F5qpTAGFH|T^ zcM_T{{6L51&Dk$=;k~U7dlOSQKUa{>s+;2qI2dfB^VnX!P#_pqkSqo!n&1r@EFcU z>P*yY!>1A#(vw&+k58I)egi&UkzW`T51;E@FyCA|3g7M8v8`=3E(dn)I85Igbby%P ziS2|QP42kgm<5rZ)Q=aSM zIw~(|9&+CL>oJ!9t>~?SNFEyv9hw_c*Q+0F76Xj;B4Y$QB7cOWuZ;dBL4ytK*eANA zHSqUL;kvy-1S_0Ob%|vXH(IsYjmOJ;hyp`_dHH1$0%p3iQhCiLSmcOQTw(Bue6WQ` z$IxtWQXSl5qjsWSOPl=L)ErqrAYTCL5|ri3#)o`VLD9kkvvb$l*L|1jmwXyO@8VAB zOp(gN)1y$Ch`@B?=O6hDrLco|@5jU$F|b&8xwejTbSmgc_P&AVzqytI0Fd>olKoIL z4~qNH;&HwZy|UdMAZn;w{h$(X!x%sb*L@Sy^Zqf(5dXg~H(rl=%u8Zz*}lFmdY;&L zjn+%_^>wJ(V^X!Dct)$P8=-tJl=5BrYcBIo|Clyg{(YOvUVk#37@NK!(i?KGua;1a ze#fPERD@-XkTy@}NYb!t@3WUNTzPq@NGU!lO#)`LW}BrfcOJ?Q!CH|$6)G){=BuVz z6+*Du&V^O`;-B!pm8caMh+#L=JyIqqqxJw_mh zjNQzF;cPi7?WB+o4G3Ls@*a}|n{l;?NWJB%qzwl{Ipd`+$oFik~Vy-%z^8@57^N;G}BsU|$VAQtP6?6%*CUphihakkhI_EFACdzO*UK z3|WAY@nB;#_+JfYhkVC0iw)^w^&}qt1)wD{UH`S(GOBklT~nOAC3MIxwwFQTpeTl( zKO>dOn*iN+-PEeWH}6N;lEhno%F_RyC}`gNx%im$p`g8AT&Z&nPAb$HKv?5-J6EVr z)Sk#Nr%6b@NbL_gdOz7TnE*v8dKx4@F5B>4O{{~_2vL`VF?Qj8h%4+YhD)DQ!gBO;*nzAReK{`Z{x zopLMGr_zo_W3%-OTftj4^zKif)<_pxrOZ`^b_m|dOfSALpLawrtn^U7xbvNE+=GLT zgLH2GMkDw5)-np?6CIK{yGQ=Jo~X>ZEcrSzGDy5P~#Qhhrf z4AB8!i^Y}C_Go={GrK)dcJo*<*3(#`+c8WHriq{Rxc6y`nf7w+;YkeU%JJc7cgJiU zDO?WFO_O%2lyN_}q!W0t%L+sNh)NzXnDZ01z)It#26Gkltuzodggd*ltk>(#;ORdy zI?7rET}pK$BNt-v)o?@L-k5fBb3XVdDIjtv*oxG9{MyyZ(F)nIxvON-P6DXmG_pRc z`?|_)hV{(K8^pTI?2k{+Mbf0o*yRYYqzB4yTNdWwb7s@}>S70tks>YDtd`q>R{e!= zZPb^A$(eaKu(ITCcJilczD-Rj*JV&jP*p_7tnut-sL^pIwHxr1eFWoKo}@ZIF-O&{ zn$wdXld+oYwMO!2)2xq!u0ax;R4aGJyZM6qY52E(!XWirE9f$O1f?3I}Lt+S5zMRNb%^vUBsHryJdhYDRScnK;fUVPD-kJ!m4jve)5>N zsZ#Yj9GxC-UVC<(@j4kP=IOH!1s{41pY!~G4`}}D*Z=3XM2~*WIi!?PRMZ++%-@&8 z#q5+O(wk_MXA|K|icON>pesc3kpZu(&Vs~~l4Z5HU}Lx(@hnn=BM7Q(T)-7VEY7O~ zhx#}83aCQOAW5uM82Gno23`}?b#STtRyEV&2_-RG=odJ~5> zW1B_0guZHA0Op^RfR6R9bOO>U53L}0)(MN(s;4Mx${j6nu5je9!!9yHI- zyFwzg<=Hf&d;Kv|8v~}hO>nI;!QAw<(7j{~^7J>LGyEaJ&}T!4DA=%@=AJ3BKBp6J zdRKnA>Y(A2OKUoG7juJgEB(=p206z&pJI9KRcwL(DYDclanxUo{PYAj5Cre@kY7jF zX<}|%=Sg~E`-~Szt?|N^?@0>a+W#!y|NAkmJgwIigud_9Suj%%YUtN_Om60kxwjzZ zW819MaVk@7T#~|AS%F@A1F^U|NWpRyc4y_>P2#dV9pyYa7}yUyR$$Gl zE{5a1X5b{zgg$b_IPP^~!N4ky-Qa~q(*XFv=qR}|`DH?v8Wx^>2lu#!MxN?*cPCUfcHz(q~|rs-tFsssSN3x96po0l(h+@t0XO z9GFfi_y@kqwr%_dMlBqF=&z2-g+U%B(DN@^nPQs?7Y$i7V8(6&f~)THeABl%9}yPL za+SnJ-fK_YFQd$KF1wW(wmK#%j)`b{48id`O`GdmG4d-Gxf$zQPLoVYdaa8(Nj>Ox3^CtuTG;?n)CLgW@*3i!8r4DcIZ%-?UexiAEpN#w|-3y-L zLKRL@j=k3*g>d=*o%8^-A>Ww>`bD4q?N=r>(};N;`gIEG^~VYKS>ZJ!b`GBFBvr$W z|6Ynnu2%n^BKdOa`mZ!3HZoja{XzPdl$C&ouisD?Gmz8J2*0*{4T_y*uwm@@=dp~v z{IPUUY7XDDNv9{c?Vi11Fr7AKWTpSoutAH9u0FyS?b|-b1LO_dQv#n@HJ2R@@+KiA zc18M!xe8~_UP>@qrH0HQVkf5#d+;+Oa6>))pvsm+R7dZ@?#g8@oSy3=ee{NJRxl*L z#0e+pSUa;+UG0}a3}L-cw0KuQ%k=EON)S7cf&E!f^7l5^T!%mP<@~6R=0hRi%`=Vr z)lXDZo&q!3Nj_5lUt=ti_vU}^LB5am9C8Z*)9XV zmSbfy`~=o=Rtwq1WT9*RkqE4{w^F76XYzqKlhYz0P;6Hq$GO?XAA$roV7>d!jva`V zc<~t80<0Ubh0P^G0fS<$57K|R`e`ya7saeY&%^la&%MMIzKXxz4mo>x(+af#*=xLP z3q2=coBmUr{+;Ih-_P}*TPN*EPe}9hL$Nu)QCJvo=MLb8Egu;ffc=RwkG}e=FD0*D z0l3I)Rc`uY0(0NSMaGIcjKVTpQ4{f^_! z4|S3C{w=`9gVB`A&_w#=MdEVBWDEEF8k=`4d{+5rDAgG%5$Vl2pE`3EFpK%(-g}4t z`jVZ-}ppD2^&cPr5j1fO;PC$=?)zo(j8MlkQPR#2xE+tZV(Vg2uOF19NjR& z_u%*Yd*A>2Uf2J*uCsACtMlwU_nzmzKf(PNbmjVM0V48`f`Y0q1O=}@ZYKhf4+6)4 z!E$+{18o1zt$YLi1TG8UjEPGAojS1ppY{zfq5n@K`PY3ppI?(lffYNJm;gegs-uYP zS$S+kk<5HjizXG@s7*J6kn7TKv&Iw0w3!+u>D_+=zDuMF==RY-XrqZghZ+*#6%oyilR>xK85EB5|ibA zAc|NJ2RLYn`9JojEq0P!m$M#o=DS*He17L?JQGEmkIOyC5TOw&o$XW3acg=Jaf z0jhrTkg@qOLN9mm1N-0c5vBd5KYyyk7^G}c(kkCA_}U%w2gLW4>xt@%m^3pkVpdaDU?8>s zYA=3%<#`y8g1Afm#h;4<#3lIf>jx0ir4RUj8<24M%EXDf+yj=t*Fg7#AKtyH{N<)- zZaZmU-xX(nhN8Djy|G(O;qps@MmgQWa4?Wv19Co}tDgmm z(??|3_$rF<;@hkULUE=2UZ}BmAO3>&Nk4#S|D~E#+KboW{LHMQXX)${%f@8_f&z~( z!@(+r2~+q@nUcHzi5dTMMwj;?)ijT}3IQXlFX^1Be4e+m$D8P2hCP+K!yK!F`ba|s z`fc1yx7+-DwRrrqn2m2!vfra{2dRrPDJYmfpnNTa!H?8z{LZi$#4NXOmPuzqWkm|p zEC4~(zaX)O%1FT1+>o_(I4@7-#85R99G48<+`t%gDv!DiyKn$#W(EFNPE{el)a7`p zUH1toery8s1&1P}R<2HN8ltFj{*Bi2NCgI}1djs?emB5&Ply_CWvQhx(yhq9?nD`D z7Qyl2Ji;^{j8chcnTjUB1Iua|k2x={_S>f0co|=ydD&OY#weXN>+TI}_Sr5qUPw{( zJ(8HP?#y;n;4faG!^?7-c;_*E*?m}{nKk_`N$eTjedJQIRoam_yV8U9{24mh;aE55 zl;{*KfW8UYH?$r(&qd-UC+=-5_$*&Li|Y4$*vo$#z(05v>aq@__$y$qrDqT?{(>Z8 zst%>k^(CAE5_KCUQ+GI2Jv*5|m(pLgIEziGoQWB9)Vpu20VqEAH-A@jZc~2m78`4} zx-X~hTFfB~Fkz9;gxcz=FQnHBj&6nfxC|PcrUvj^s?dutT`c7l09`Y2{LpOOvC(;i z7gDIK8}3=M>NqQ|MgqwXS()W|fEy4_C~>&bpgc@=~MqzMd@qqe2=FPn7{Pz=K## z%B=9H%tO4iQ)?EwShNt!VIIq8UsSBh2WHQ zgYO3q$R0@{iS6ml=iYrBO%$Kxu}~z5Mk7Vl&aSs(ud(IYISD=oLopz(O;G0bYpSEb z4;3*fD1n-zLpbdDf0=8SSKdQa`4Fq;m&pGZ4Vo`(-9Mjv5Gi%I{ur;s0TK}_5Gg(+ zY4BkA5ogxaTs>&1-&(Dq#IUT;V(2(u-qWj%6u_`vj}M4s&DoOlcKz}W>cs$mGxdxR zD@Ug26k?(5vEWs8CTT?Y3vw76V;@lyHLc?$IUUIEEPF$`1tQshxYr*}H-r~vsKIEO@fLXA>OA!!VS?tWf(S=;Z^!ALT(^kx zi+2v9_8%luC-w8lf}I)T<9r!z8};qgMTmp-@pe)sUxMMBPW6i3?8DRi;|q7QfX?|O zOeSa;rmH^tZ%msVQpdLkT%ztxYadbshlRfQ3IzPem;L$Q2F#~`zP)>sPub!8r3Ia8 zbvUUI(xZ9PORVZ>cQuecFR0L3qin)TBc?w|wgltoU3EY%2LWiO*#*wdfa}+EO4cfX zf}XVNW{XRH&3b((LPgdM&gk8;v(%t#DRI3aRhC}CM}ZH9L$UQQw83CT?H%5LZ=&bO zNK2?0emiNx9Sbj#@!2=gx>!C_m)^->NUT-R_ zR79M0!OlIAM+&~;W237-Xe`1}@!s=()yy5*k;BtvRn%v-PzCo+$x!K264sr}pk-uj zUWU$4kChzcWnRs=mO9cgxZhbW9fIv#FK~DLY~Em*pNf(;8qU{-%I|G@BuxmW^C7KH z=zR^VbNb>qG~@18EAB4N%JzH)L{s9jbPvOI5K78}&Sk@P;P=&KU&_z*27+j#Pj8ph zop|up53$F8+Kc!-Bzn3;NLI~*S#E5&FFyOMD{{b}D{f4RZB)T)M+$Z6Z|Rc;^9Mgl zEvTrpazJXDG%QP1rEG;;td4EpiFt3SU@l^EvD`26gnxj=sZQC5j)vc)Cd|1vDjKO zWFCuLZ|?xNe6@PXCa31Z)NX0Yj}SIlrq~|qcN`zYmB)+msibUj0$y?QYkcKhN-hMv zT%@z}=LrTfWThRd^XXd1=Jt8-z1*!NiUz$qm{SHfoZHNFomxPg$Ly-u5JWQpLxh&G0;hJO7QTJj? ztfZa_dWbm>ZIf@k_d8cnz`pp0@OiC;?J=6_K+c{_PZ%EZCgk)1pDw}M<4l}^88#M5 z>aOnOXMrm1pwVYFKcfI@jVr`Qf(<9WJv zYf;pqO3-?jL~((Y;`a*_a^00cgjm%&H=cJRCmjC;oi#|G-iwb4cKY%MaNfEFiu!6y zxUp~oo&ld{kcY{GK>m-fJOoyP|5tl+xkvPogzsMTIup{vyf~dZvK#(Lcw)ofXsf`6 z@w|WpT(Q%%QJ!2hC5(@ye4vmNuZWhmFkDMBfHO}74EplZ1-atgz{qXRGq1em^kiu- zT*MM(8MDmr-H^6Bxr>j)o&4hcBj6#~#S_tYI~csS{O%nxnL`~E%;Y|1jb~EIPBJY5 zaKqU1>)2KxVXyoYU{u3k4o3Nfx0xC%_6n4CwGlRpdUsZO(z4lwV&l|d4rjnvAP9dvqMf_ zFP^VRavl!z^qVZ%h8y-xd8LXY1Y?rK_m2uJar1yAhUP#)`t2CRjr+@h+ZuMC^$?f` zRGH0U)s=kTV0(Ie8xD(;PO{@C=QYOMc%O}>`VO~ekL=R8hdVV!M(W<`hO6>u2Ku4- z;)<;_c{GC-hRZ7q*Qs{#kPd9z@X+cWX*6!KwiU~dtytjOSg6Xo(~*>?Xqd}>B#avn zsbQQ~ZoJr?^jLdv-_*r0<#@ zk;Lq9`;2zgS`x6{qws^`m7tSSZ{m}iJAXlK<9-O^b4tnKroSMa{g-EB2!<9m-ZVx1 z{+5fE%e-6YqBVFQ3C~Uz^vX{zUfr2knXHMGCd@I z?2^@U3%Z!2a2CTJ`E9>_Rf=o8C!d*+6+d}Wo9D5Mm)o^g9KR^?+-*+DJQV93FsMmZ zbT)QYzd5;WzfqC5Mj3 zuV5f6shJ*Bv-ZdPVO1S#x7N&sbGjJN-^#`+T#DJMSZa=(QUzVSKYUeDetzNM{A$}q6KGCL+0&A!?D z+T#1z#7oqh2%ogu9S-Vg28Zkd1_KMNCephv{;${u z1hx;rwnF;hxzv{=XvV@@{v%51TY!)jU|qO6U-x2=Rd!_Vbz`zW?#KShK!s+~NtVmR z_}rw8i>0S4?nZr|rR?Vz=7(Xg4wk*JD`#Lxut9renD3{#S&W;R4YI{)$~ST6ZqDZy zcIwM&FkX}HV4iOgje01frS4ootJ#rCT81Kt{?(M)bG1SeOei1A{(4Vw!E zKjp^2gCGDK1V#0&2lv-tr+>A->njHnxO5v zz@0_T*}-d58rk~8v@^T_WX3C4xK_nQu@W!L7`cSYA6F8@dx(~1CwIx8^z;Yp4P6^e z*-fSG30xX1$coibU|o0Ds-2E*E{er_>4#JHmpO7db_`D0o^p-Z-y_fqECxFiLetg< z*6Lj6Qe%15hV$burz4)Er(6PE8P5(SRyQ^jrz&Ai&Gg0D`L;QLd$tvJ*Z19EoHko- zYFn}C4;&|pg`Ar;Q>dMeUc37J0XgJM%ayUf&@kMsACwAv7W_7Q`9wUhp==Ro%a!n2-wT^b`5RSDp-b z7>$wmx;JDu3i8qRFQ`+lxP=-%qkY!5z+AjuHyNQx518^*LNvTg6Hek2eTNXep;>{G zW!WR`>7%DDvK5h*0A#gn`FFx>_fkR6BY3!C^KkThjPpJ?H&%r3_Tj!Vu1_x zxQ(PW-wj-_&=UQiL1UGsa?_-ybkfN*xTYqMF;Qs66#mH;&y?}Outo7XS;;#=Q=vyC z?*+V#181x|&!9ofZS4{@Cb8Pe4(^Xc`UQs1@AoLOx|T&eB!ZilU6FZ~6e~4o&&@F-TCrVT8P36DQZe{MCg3fUBj0eoFV*g%e90o* zifSqmG44wQzvQN_d2yTl&zp>^ujF^+PpPzgxUVv^Oh|y*+eI||nOXi^iTYaqTu{(3 z3Dn-OlzTZX`p}2b*KH95m%sJ7AJjtLs z6r-xS72Au?ZfIXWG4$_|hQjQG93t5rOL-U!Om;Wp- zh9dDVIZJaeWv-;2E=xO$lM3PH0I+|nV4*?p$MWQY?Dup5t0Hr2i6rwPE2%bhk6my~ zxt;j{NwckySUPVhC%l4OW7whF%D%>xqg!Gy8@DfM?cFEKJujn>Q0Hi_xk-WCg|B;Z z(X|DP<2@v~Bm>8Dp@Si(33ZZ2n_C}T_sjKxQRGFo>4cfm@7*5`TIf9)Pi*)W^2Qep zctiGOf|F@CK{s+!hd?x;ShzaJl^9r-MM1do_oxUI-e{%9@K=Y^i%;s6+p|@V*;+y0 z4cP{sP*4sy^j-rghyQ$#>k5BoliB1(;C{yIA3Y3 z#{6nsbmLsExr5^KPV;M6EJvMNo%dY#U9^9MN-yqrd{tMz7VREQ2~xGrdL{aS#?SxhId3=&BKZzf{%J<&sk@y+-}0r+i+s^btQXPmb<=EiyRJDX+Ejb+snHOL&K3!%h&F%dhw<4LF}iMAmtS%;^TW=s$^8Zu-dg6ex+k_$0$ z?}l%SJFXsiRHH)3AJ{Y?SfQs3-a%b`;>=8@&g;tF@!yYHzX~XvE64fXkj;K`HT^~J z_tyu>zpicuN_RM5s;&eIY)Xulau7c?aIjc7&R2~hROR}0+i{$w2<6s{jZj+$jPEau z`f?BE!lc7t=Js^j8sjx6)>iEku>;}rcfGNkkc&MT;6RWH+7`#L` z<%MF{LjUAA>RCt(`dHMofI}obh_UHc9!hV>r&*jpci84N5|UY)*NRrVFDDVPk3Mg& zOI-K8Pqb{|l;rcqC;9O>{pOaq?j;Ex$fqbPnLhlIm@y{(^GHFVRNInK=^; zLm4L`Tia{#EZ$5`*Tw{OQ!Z{yEW$rTgfD zmnG?dqG|S;1=oK1(F3kLm9xG)R&Bk=edVTU8=EpV6(i0Gw$bCVc&jHn85i<{GkCrJ zi>a3!crV~ihOh%06UDYho-p|U?v^6jgod)({v60~dHS*S9WCyozb0WDk`0O)Dw^XVrn)>YFsDyOdG1H*VHoUjr$xGwqS zQIb-pu=ZF}j_ z$@WP1i@O{Sg+o?V)?s}TBSCSvA)D7{5>B3CrPaglA=%$MN;$3K_8t3R5dTdzd=>JOhliAK{r4CLp@TM1pOzEf{}0Lq4<3B``!Ex8fr{m zWdZChP#gT8c?AeWp7*7MJQ(^TMjy@QLDp?upH_wuB^dm$eY8D-DX3gb&UB?q$bY-A zzk{oqv{h0}ryPICm;}b;m-g7*dTp#DOS8nWAI#CUwErj}Cqd;_0`5*ktIFt}jb;+Y z1s&*`R2Z+MmI*iu_|T_`cj$Zkf*m_qnY$SWW(^6`)zi*v+LrdE%snb#ckA(gQwxO; zj%iaC7f|iokKS)uDo@R@@l1Td(UF$e5q=8fukwq1GHTZ!dD^fUw^kUb$?pwpUsV3` z74cJN{lN{{ENZX3@!hkM090N=c^W$&zOUuqlY4#!DT+K&g?!+HEYbfkKAc(WD;O{x z!5c@NshVBb?0R;1Ae<-W8#^EbU&p^7?z3Qr_nupFXDXKmDVK{8!;S1o7oh6Dpg7~` zqC1Re2kHjw^TK~OLeIUk)Pt)>3rHtPaIxj-CFuY}D9RoP2 zT3x7wm2FrL>~|`6<67%{{(>$lvMgxatPZ+fCoMV)T+kYh?k7kBT~k2P2^k zV7CcK`tzhq?KKX$lfkS8tmug6xF$l_KsULSf1ocio}sD3qN-y6FaYD~I&Uwk?nNQ& zH2IQ>5zbT}XBgS3xWO$PZG8971ywf9aY3;io!g@u;ydSTzGO4ia2|(wqkq$rI4!Z~ zMGP;f*Yq|XTn8oPjg$Xsf3|L@?hS8m=6_sZ_4EyC5?R_!;>5nA*|(-d?~_8K-KcLp zD2Kl4&14f=(!9Tan!KL$s(7@Tl%t*_o=XS&$))v3)|WXe6(bOdMBRC%@(~JK>?YMob}s!{TE~n@!$CQa|>3yeLfs?=6Lqt zND^_3I~J#=rY}11!ZIFlBaXkTOy(e3A4HP?QiJOGK;b9@pui}{qV61L9)p{19}!$5 zk)@Se+qh%W@sP{684XLld~)}jtj5awXB>Qgf)n_yQ{i{~$u9!vInd4EFD9wE25^Sh zg?AGMj0X39*|S6otadKsipf_sUr*E=6#8WL!Dw)hNQt$HWI8EiXF(ZaqW;XaKvvKw zOMy={S(lz=$~aJ3g-t1rmaN)LC8xj{nKL=OQ`MgfGwzR=#k-3%XQDLJHaOCHNZfXv zje}HX-xro`v~r71o2mZ=S*+Gst(^vRm4zn6jFtE~ z`F{{6|DpxatjTK`&%`LMpE6@lZ%5MQ{MbGhw%7?Q1o)c0Qj5NM=%I6szTqh#`Pp7)0=@LXTyKz`AqWj?=bBz-&Qq%( z%-V3|gMcJs^;CF0zumaDaI$P)5qe?>D7;9W(rfmN6&Iv0{F+>9tAQ^Xuk}vY+gKl~ zpP0H+h^$FqAmJ1<)lIcylmns1s!A&^NBXp7Mpl~9rxBwgMR$aZT{ke+ltXGO7^)+1 zABF}JCqMj5LbM2NF)M*ItXjamR2|`E>{iUh=F+oz74IcmnNbY8P4p~Kqi%F4>V z8+J+}L60taOb7Rp$9#sm?Fl*LZF~?^0>A1l6>`j*e*6MGgQV=pt*;=EC*180t?+yj z9OtW$%f+Wm_Y!ke-y+(y^_u1Y(*urbz5$c#KgT;tIqp8Lc>{uye>QCbJqgtK_yaV3 zrSwN9&0{KNmP@qUb;T?YrXc60X*Xa1-|9jI{?#F9kR3{6YKmo%6E>CV6N;m2!QOZe zmNYmKioWl$w{A0alG~%nZ1s9c-9tgBX39G-F5R9(J*R{@y zutA?LcMbBd`NQ&ezg-TEOW?s-ahXVtv8vW?v?gc1@Qk<|#_p|ijLphf` zu0myFhc#-Q-giV5)YowSDr?Aaq*(3YSeJq;xVJ8u2DAGdsgHNIE$fO%2)7xuDo1o$WjLU-c%VsiydwhMl%H z`aNmdzH3XIm!8B-`h}ggI9UtpX}*Q{-9k%R3(da?J$=MQkVcskFxc()PV*a5b<_9b z4jrsC(9Fe^)5E34s3OeN@OX`{=EbDC9~OWm@Zv>RMINqOTZFq}ySomTR3{Hz1=9MlOK30m`@zG*qa*ufyV}Xv>gxV_>XW~qVL(w*wLIyBTW;5kb`W*m zUaHMoo&RR(0q~IcpCdVbv0!oo0WX0)oK-{6xMeW*EGo|kU8LsWkPI$!JvTyLm~l21 zOY7A1f)V@(dt>y>&z`B z?>{LGmSs*2k~${|GZSODYc@9$0=G)z-Tk9(ji4)k_Y)HLB~*kM*BY#1nNbl7KjOLa zRmwyrI19O7Q+ljj)Y0d1?MW==kCnGtF5`WlVD!M6I<))prN5iHf66f)t+|h9DQ7w> z9AfSpG2)y%+b(8Ie1*5X@Fdoa{v>fguKO%% zr64r=pW!PvLVH73SQ+DyMODK*8)+6=ys5V_^}Lqm!r3T(mWV2kQ-_6JQ?H~-;T&vk zekMh|3RQLGX9?9o1#)@EdRl*V{0?&$1H7p{81+J%=sGZIaQ zAUn!&Zn7PN?q>MvT9vs5hu*_e^BfCj6&exM9jW8EEZ7QDtsV+!0DNG z=CQxMnA)yHKl21kq`N7wU~jwXAp3@h^@+@7jJamUe9fciz8mTmLNUL_Sxul5B4SmZ zw~^}P7SG$3j8tM@x55?)ME^E+R`eJte(P+{JwfV`$C$h*mmDAJY!x$+TUkK6A1e>P z^M@dZ{JDPa>yJC6A=C~prul_*`f!>E6xqXqx;iS-+( z#uUhn0MKL)(qAB9OFklwzO0{3FHAvKG-zh;UI7V}U0uJ*lUFY`;^tDA!7&_Sl?Krr z`;oh-Hn!hY)3oW(5wz}xMJfqeE2s{+c%`^@a%}KCLn+=CUhDT&>P{wJ8V+ysV-+hq zO=UeCDlUqre%tu6tjDSb?EpeOdV=8Nk56Pe_ZUA7G?gsWO1hWh8U0_-lM-)kqt3niV+3!g3-g@1>6pSh zPUhh(^{mA_aUKu7+WY?V4=m>fw@(@eba!nHO0aBbZllS@g17v4-czksS#)M&>(GqR za|`3qgoLUh(Queq${0c~T3<;O9hY12mX}Nm{mYEa?)S?+d5qkJSp0Yc@N8*bNrRwO zC#Jx9s9RK3jR~ND0r96%Me(l$&6dV1NrmBHHH0%r_G`Vk`s=^V?M7^XNc{>z%-1|^ zoSOoc!=A59%%Joh=z-|26tO5dvTw z?rl-w0%(Jc8T&8u=Aj|$ML$y#$}a#v^CG6oeQmG%f<}+!dcqoSpuLq~h%w_&h#RW_ zb)?CAzO<{0u$PAz@Lg%|uqPOAw{M|J^BJv`Zgj5$&^WBE%Awi0OBX`bcU8XIzJ_r} zeto*L1R$*F^L3rwu+{PeQay&oJM}ltD?Ux{KUlhR!{Us_jO9XoQQu;;AH}J_61^ue z7uHz|UtBzQYz!|DLqZw3YB$FreJKQ?md#wPeePUJpWX^8_L}X+X8ibihNCMnMhdK= zJR94%zleBG4;1|sZ@mlK9m&|$-_*Wmol3IkO$X5NGn0ffuS+O#Iya5#978ko^YdIT zu)4Tk4X^#|F;%YKzc1Dl(JFtUGOO*Q6;olpkwb2DH)PAR2JJFt&R|Oe?^oUO7Rs~h zCt=7>Dg$7`S!VXJeU*q67FRtGx@S>4ad9ozHB*m}mtG2a(KZ}*|JWttkvHS}zQv+q zfQIPY6*m$&F+m6I!#z}taftmF8dO^l~QDCSV_z1|y!0y=gVnAOTAX?NPbzJYRvlv8xq&nzYsmc`)aj zEg@lNE1oYU)W{#)!9F03)7$du({HOc|+Dany!o7xB zoA`%ssVB>64i|RJ!b<0si`RCI&LenHQ}vzQ;@M8gP0Mv|LXK#qy*n&+=bxhY1kA$l zIiPkBany?!rW!x_h{^t;U4c2C+TG^>T>UOUlGCwz3aAqdecJ5ca`cl`a8f(WtDsoT zX`sB5$;8d}3zSH?LHrMB`t>q!|7#Qg<@CzG!Vc!^b<+d^KAA%KF(9B8d;_tMU%yGE zcui1{3lqVZ=p+awT34f}p`OjDqUN%q?RET9Pb&CsyqH3b(~4zH9ae2(YFRQ zT8^G5QMnRRWyl-aPHD_U(fOI&&ilPn)0B8*@qTs2Mw<{7F5IHJvsu7Glp#d z?<3Ts9vkk-Eo`ez7S^?=stP4@KP5Y!!MtqBJFUKZpnPC5YXW=o*qRWLSv1M*D*{vP zVN@uu@?6 z(sOq(+DWv9hnHl^a0w`p`NuL2M*1YZe}S4IBqHZIJ*i`p(yx7~(xFy4APUu!kBrBlbvN)b!_8!2gi2OxSM*aHjV6w*n_?fqNflmoiX(%mRZmG9; zAKQsgSUB^ed3QXsT2fb@y0{cBwqG%u_`~gRJ_8{mkP>6B*B~NK*OWE(SO4`9*%)#HbZU@VRclw1L zxmA_{W?gDl3ul0_Mfz=HfoWa6!k7c;`{)!x-`b>)h$~~!@|TC@k6PK zqEd|+&DvGJpop0vy@NPHc>Qm6lvr7hhQkcCIV#US&vNhNQHpl)loeg?TvhWfFSz?q zD4ue(_(#4)zzU$Q@Zei8+`M)aNHar+hM2T)#AG>A`D_saFhz$FO!_~!ZNj>~QZ z%oAcbUh~C1B_;mH!2d@c;Q?mtAfm5V-Q{x+zKY zS7K26AOGvu$?sM_xku`M)jA81>>apO(;es+IzFL@eV%#q51NXlI%@y;Sa?-n;PjTA~&w!=Vf5(3>mbo#5H9X{CQv)*6uE?$5?(z%~R zxsvG?o%i_}mL0A3Sso*+&}eRz97=jvF0rvREG}o0xtSa)E=wg1<)gEhhdenp*sg7p z_SjV%d$_@=tuo)LzyQ}Cr{F8)Qp%RI&t9t->Eu=5^fKLKTIADur1CNS4m;JP{d~Ed z;T_ffiP$pK=Y_ERBj`r#Yq|ubNOjAe7_wR=n6T+iQ<>Wh|Gt<^eNC93 zo&3>`N55~4vfh9~U%Bs``@?NKmy_>y_r?z?wzB>?Sou1$nh#jD#Ko>YdsS=ub3xtX z`QoNYmz-9Pe1>(gh4*sJ!#&{@PwZh&Kk3XddcGV8FpD6Puz?EfDqROom5Af{cM`){f8RmMz9vOuwkhMr8qO0zo(4I+v_<&MkV=D)iO=NY|w4LNOp;PCtCY zF;HsR<)~ znw=SfQO~EpAe*tN)~bGmMkxk$wK3NmaGoxtR8+CENAe*%-{@(=R+jb6dV3{%zD)TI zmyJ~;1 zf?=$c@;&V8F_VFMGoz~il!vmP#e-ufqPtB+>nw;%hZx&?yq&D|yn6D?z6^z>ftT&k z_I`;RldtpL;X}l~l!hXF;#4H9YRmAWuv}E`l!~=INN^tQIH!3U6f5p%pgs z0P3qe;J<&CLSW|0ngIp#Gc9yCXMeaNF`5LTVZ(d_u4%Hk4-_oWb(t6{8KMZ#hq`+K z03Qcr_FN4F`u69|Er4%tV)E^iN#HBE{0E}{eDMI+jfVLFOBcm|T(SU(?$|GU#N-<> zAS!@I@RO(Z?p?&_kSN2p~n34hM@qD+(l8E3s?4qtr3+)ccL< zwLadF?S+!MUvPK0=&B-=xw^kHWn+=nUEyd?Jc2V{tPobX_X=fL&Bs`L zvL&=FwyR|7wY}&)CFG!I#Ja~aHd&Ks)p85+QgN`jrZg#*HoAFV(wE=OaFj3kOLePP zddzO)-U+Ujeo38e=r~l&@-5iO(~jSDd34GXDcoVHswmoEh;uOtqd%VCB;Rs; zC-26%Bf@zl#n?O%!*tMj|2IlBsw;3|i1)rG=YhyN?5o|i(n&adxQ&XBAv(AZSTdDl z)MxZJusHml=8cvfQB-2%lHYZh7S$As>9=@mQ_aKHsMkB#doq$&w_uj}QAN8fr$HAB zQAfg-KEwQY5N!65>UkR}M}kmh99K;8iFx{Dw=gbdKnP#Dj_*{F4piHe-y2I5{tLp~ zj!g?brp6|QMyr%kcL@z=$8%C~CZIaf6|uzcyV*c3BoG1Cmn?$Je7PBKuF8BM1>O7l zMma1%P2g+mcM$o9>qJDeZ!afdpvz@M?#)X+E6Fa$6Qx}NQ^A(U!r~955=vPg@kG>0 zeB(OOVZUwIC06kMo$t0B2ae~&a8j*2ds!3ExSoARyqlcAV%4|ihs_JZRs#mw^^1V; z2c?A?_oi#SekQCkvR8{YjiLAXWX;BFNZQl*!Tkz9a{RNBfI_^6kwq=zt$xRIGNYd#t>^b%z z*k|rdPj91jhpgMYg499}M0-ZI5wL+63%z?OBT~s)pQ+V!0`4n~66QRa`ywghpb{HG zvSkCSId3wl=ivUuSVaX-Djs^4krr>shUeD_ig1=TNg9&`)*K5~YVr_ZKnrt{wkrbi zQ9%3u8PE5lAzA1{k^{!n^ME}r@_q)BFCEvOYXiPWS7kB+-f8GwWoQ!&G^P)0|E)_^ z9vOqN;6(WcIh&E>yA(BzmII`%QE%vgE+4#R6i{BRq}Fm;iikV^O6+3oxak9 z6@tm0?9UlC@tE!}=p=n9BEiexl+{697|+S0G)A^(D+8>}vkCUUOZ);B z_RKzGHzbA(*yB_l7qbVN4&O`FNzSM64d!^UJs;YU)JDcD3BEnRBF3sk(QG7%{Qo`T+qY1mMFk!b{f!7f;f)>%;oCa00#8ooWA8$= zBQ6RjN^^EGuW%aUZY381L8T9DIkxC%iqdqzWk-eqi=RbK#6%7a%i=r7#Y)HCC=6WYDA5UOnB8n#(^->YMy7_@}|<}y!}FX zXo}M>5xZ+0^xY=rR3j>E8EF!1!SNy`jUl5+Qn*pE6<4#-v zUH*=6v4-DzMs>@f31hXnAsdfJLz)gFjvG{x)Tkn8?OvsMQw(cVPGJw!Ex6*2J5T2O z(hY=1O)Y{@^_Ehuh=m2L=eTF%sSsYG-jC)E|E)!n5kX@l1jj3a&|}EV_j=>G@_tGb zF`Pb0Ks;F8HGujl;f;!?&p-C@VohfrQY{eVj7s8N zLZc_pJFQuIp^?4!xDpm}ZbjAa>h;*O7f1i>tZx@n=W=`)eU@~<(~8%Ta)qv0HY!Jp z#XhSSNehbZd5}5%Hmag7+|Jl{*m$EUMK5`NH_MUMxwnL8PGYsp@KtRol@VE8{K8=D zGb8k~iy>tQe5st?d=-$T(a=3$sJ?bD0uR=$bdajfl=SL zGEXyoFSm>6Eu~ydQMK(VB+2nCRrBJYA^;J++c(@d7Rw$PuBO5=ELu~YR)uWGum$jryNNpP5AKz>BTEG5pLgUF({r! zj)m2@C6_u&9$#!&fX#QBN~CDF$5Xq@?8~XED|>&3OIHZ5AnyM`>+id|TWm<9VB-*YtA?Z9GJxYya3ZEd`{g_%9%qHV6^NPMwo3?=7_z2J#*?I&Tf_63)9> zsjcG@tjp4*X~y*5r^-%o^aw_SA&?7qDZfm#t&Ls&G6^NLa7Sb+?$C-q99mR8F=4My z8_rpgK6vsd9e|RZv!MuHqh;r^0!uD&r_s$764opiXfSPfS-*81f*lFDDo&6P$M`Rj zeNovT3>AVxgu3HHV_;!%WKALK>QtXvPzImK6YE^?)y%q^SJDlI-PUCjb($nbEko`b zY>Si3j#&5VCA0vtX18^BZ@Qs>%TesagaLYp#bZ&_9O<5I+8 z>}u5Qe0Fza)qeNgA=GT#=`5LjT~HcrUgpg=2WDr!QN}kg5ByWIT0&_vZ!911PPRu} zQZ#PPSe$pzJ&X^oOWD5kpr7;PmRq)M?&Ec(Z3+}emcr%pXJS7 zL@(y)Ib_}2`q1Nxt&MA!99LXtdBp$f>pXy(%GLlJT^lGH(JVzuR%s$g06|CyiJ}QY zBnXHoAVj4speRiNNx~Y@l|Yapd7(vtP(nZvP)g;z|b-N_bb_yq))E zXZD}DcWyg(?maW-pL725{f2R_66Ug;GZ4cRcg+krZl3GCy?yVha*E5%R{C-#P|<*% z*STf9bzLPrA~;o@`|ke8N`32H)2M^2MY#XTrgPYmoF1cmEK==YJ?uOCdZ|dehkrI< zHT~y;%ED_TjBeQ^|2lPKe!efqIeh2T;@2l{;p+4X&bOPTGwezu%@ra|Gq>==REV-q z>&0Dw-Hd8q&^Art&ynx9De2)|)41Rws^=U0kp$ti#@2(S+NeL&6Y60Kt<$78l*WIJ z79tfrZ(o~O!XbKvUxvo<=Fe`c{5}@a8Fw!IMHbwY1CY%;p7hJ5A`ZJ)#=ds#d0ics zCc(Jq=8GcTzyRw=xtZ0#lpG!6@6*K6*4COP4lF!v^gsDi+x}Zd zeRm$$A8(5JZG0E zvcAE0_i@IDIYCRtAvT(&rnzu6;o?xUBqae^u>qPu$8-ISUuNaIATM*sT7B}to`Zh# zKFxzuM*Y92drXHQklM}j6F{ZvHc@T!`+)Ksz|~C`b^yu<@6fk|fORlW`Pbl6*AikfW>#olci6?mL$=72spR!giHB?( ztF~}ZOoNl4$)s4zD!&gx9;+w}8Dr8xot`C*)^IeM?Al;9S2c7s;^2EQ-@x0_TnUX-F6}Pu4D`SY)X#j4- z{bS)8n>UZ{%X9&To5yRa#g&nJ+}@(v&-X#4+@qt$#nEs z@Y5Gq+qfAcZino92V&0Mxgc&uzvp;n!TogNrx`>&%?efWtF+#`lC==&|hB%NeQV!_~|)vc4s z@+6sn0PYmoH-#L;ep+LEsE25jY|i*Rx~8S)o;7x~nr(q*`w;n2HWtGf;cOsT5-~WO z8!*I1VM@-88xHOlJ9mR$y^uQbz+<-|-RU>W1 zP));n&*k{K>f+o0x$Nh0Xtz#*EvMi@3y&pMEkk-j5lNTSSK=3{nLI&@Y7xr6XyI~b zSy0Yf*0p?iu&!>&;FWN7faM&J4EEBa93@FHIe4_g$j zy`+mc#a!?$`FNdgDsb)WelMp-{3{F74Rg`*dvj0Nz1A2?_FvbzP}*BKYX9iB7NaUC zm`>3%TTsnUE8>^$A?w+%NZm4pU}Qnko3?EA_y^tf!#1w~)J8+qquedpir4QDEhorV zgIeP67!qT19zmKkj~xRY1#K#ZfFi%YhoBEEtksU6$s=GkJp}!VwI`(P)oo;q5DH#s z%eR*+X#BCeTDQrruXElIt#7yJKr;bSf*^*#xPcVPw@amap`gu2XP9hvK)=MJ6B#leK`6sbXbau@yGxNI6Q(T-X-9xk_kmZdSM17u3D&M?7H%JWxsXdZ9v zLd!*DsWlib6t!7Au2QS^>$;RS^E;1hv+DOae5=Vjan05+laj- zg51qMvDhLxEy#IqSvoE@TiQMaafW|v4EWgn^{KgzQmLo_*0ON3U*gCTo2yZ;1`{U8 zvOF>lUeI235kRkmlN05y=UXnmWeS(f)mUL!CbMhgrkWYOj9l;+K>fJ-#!K>56Ejg! zlW|X|A~*Ed?Ju1=AMD6y+aF2txNOTOqJZngBnS~b$&|pLKuQ@VY-UNuVJ+MC$37ey zB`^F%VPY|pEUG5I{&D-`lI6Pn&#PzsR07SR^>HF{mk758s*%78I@*AMWF^THRd=V`dHUnVsee!BA`jBidbOBh^{awr_6(axd zU)L%TkWovlxcr13f9O=cW^Hbs=r^{MO2C@C^16KUQ~gpCEyhve=Sh8BhV8MjM1@6j z1(F$!#Hb!XgiZ!K1=Ac4BVv&e1+ziX;rg?pxs@2V(***haJvW#t^QHgialog)zARu zu4Rs^%by-uv=Ij4%H5cuGQlD7( zeW8y%PI**`++ZuGV>#+P6;$u)$xN89RxY1;eS22OK%ZJR;A?Hi^%j=xgG_a?S-mAO zX=}Nf#rGoGVwwK;u%|NDu{$_)f;>S6g@zT;TtV^L|6cZBam( zTgMiIX^`E4kpr+TO;HX%^DN?+f8e+i-4LrGEd zo>P`VgQrz2_0hD_${mAe&HQ4JQN{8h11pC279%bJ|0E&08S&uZL7;{-DEi(u>CKt| zYUhUl3^X0Nde6Fjb(?f+2Vj=@NzQKA3s^(32p24H%w+2^Sd>oRlq)Qgb3+CR6O^}B z9%4M)Rj{2uG5aZS&1^1kz?}?^I9}OZ^x0*&mk7tvg{0J>+q8bCmr>RsmxcWv{ATA2 zT7j0Mu1#PHd=(rze67QNcSYI<$SesrkB)1DGN2CB6tDHPV)c{-nJZPuzV;92!k3af zt^EpAo`>r$Y=9^uOC@79vKf}aCu=OGaa&&jyfZ2L{~GxJ>d_wun}E~~=tH%4`&D0C zF0GNW7Pysp&5epGyS1eO=H354`?s^rJ6;hoH%I14Z+_hDv7-eNfAE;T;+D?sc8WU; zw_uERWMcr=(&#QVxy?ngp;&c-+xBg+3ebv2W9=!*G$;{{ question['title'] }}
No image -

{{ question["submission_time"] }}

-

Voted: {{ question["vote_number"] }}

-

Viewed: {{ question["view_number"] }}

+

{{ question['submission_time'] }}

+

Voted: {{ question['vote_number'] }}

+

Viewed: {{ question['view_number'] }}

-
{{ question["message"] }}
+
{{ question['message'] }}
- ++ {% endblock %} @@ -55,7 +54,7 @@

{{ question['title'] }}

{{ answer["message"] }}
{% if answer['image'] %} -
+
{% endif %}
diff --git a/templates/question.html b/templates/question.html index c0a3d2e4d..09a8a17a4 100644 --- a/templates/question.html +++ b/templates/question.html @@ -2,7 +2,7 @@ - {{ page_title }} + {{ question['title'] }} {% block head %} {% endblock %} @@ -11,10 +11,10 @@ {% else %} -
+ From 8e6b5ee9d2a3a06ce6e17fe9cdd288383d8d67de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Mon, 25 Nov 2019 22:13:04 +0100 Subject: [PATCH 118/290] Add working add answer --- data_manager.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/data_manager.py b/data_manager.py index 3a8299350..374a0ce0c 100644 --- a/data_manager.py +++ b/data_manager.py @@ -183,16 +183,18 @@ def write_new_question_to_database(cursor, title, message): @connection.connection_handler def write_new_answer_to_database(cursor, question_id, answer): dt = datetime.now() + new_answer = answer["message"] + new_image = answer["image"] cursor.execute(""" - INSERT INTO answer (id, submission_time, vote_number, question_id, message, image) + INSERT INTO answer (submission_time, vote_number, question_id, message, image) VALUES (%(time)s, %(vote_number)s, %(question_id)s, %(message)s, %(image)s) """, { "time": dt, "vote_number": 0, "question_id": question_id, - "message": answer["message"], - "image": answer["image"] + "message": new_answer, + "image": new_image }) From 7b2307a482f8adfdfb4be215df0240a453e41871 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Tue, 26 Nov 2019 09:00:54 +0100 Subject: [PATCH 119/290] edit question using SQL --- data_manager.py | 14 ++++++++++++ sample_data/question.csv | 14 +++--------- server.py | 32 ++++++--------------------- templates/add_question_or_answer.html | 24 +++++--------------- 4 files changed, 29 insertions(+), 55 deletions(-) diff --git a/data_manager.py b/data_manager.py index 3a8299350..8e5abf558 100644 --- a/data_manager.py +++ b/data_manager.py @@ -220,6 +220,20 @@ def get_answers_by_question_id(cursor, question_id): return answers +@connection.connection_handler +def update_question(cursor, question_id, updated_question): + dt = datetime.now() + cursor.execute(""" + UPDATE question + SET submission_time = %(time)s, title = %(title)s, message = %(message)s + WHERE id = %(question_id)s; + """, + {'time':dt, + 'title':updated_question['title'], + 'message':updated_question['message'], + 'question_id':question_id}) + + def write_changes_to_csv_file(filename, new_dataset, adding=True): """Adds new or update existing question or answer to the csv file""" existing_submits = read_file(filename) diff --git a/sample_data/question.csv b/sample_data/question.csv index 0c3016477..6d21de2c1 100644 --- a/sample_data/question.csv +++ b/sample_data/question.csv @@ -1,15 +1,7 @@ id,submission_time,view_number,vote_number,title,message,image -0,1493368154,62,7,How to make lists in Python?,"I am totally new to this, any hints?", -1,1493068124,54,9,Wordpress loading multiple jQuery Versions,"I developed a plugin that uses the jquery booklet plugin (http://builtbywill.com/booklet/#/) this plugin binds a function to $ so I cann call $('.myBook').booklet(); - -I could easy managing the loading order with wp_enqueue_script so first I load jquery then I load booklet so everything is fine. - -BUT in my theme i also using jquery via webpack so the loading order is now following: - -jquery -booklet -app.js (bundled file with webpack, including jquery)",image1.png -2,1493015432,1398,57,Drawing canvas with an image picked with Cordova Camera Plugin,"I'm getting an image from device and drawing a canvas with filters using Pixi JS. It works all well using computer to get an image. But when I'm on IOS, it throws errors such as cross origin issue, or that I'm trying to use an unknown format. +0,1493368154,64,7,How to make lists in Python?,"I am totally new to this, any hints?", +1,1574708949,61,9,hello,bello,image1.png +2,1574708719,1435,57,hello,"bello This is the code I'm using to draw the image (that works on web/desktop but not cordova built ios app)", 3,1573804413,24,3,Can I ask anything?,Anything? Really?,ask_anything.jpg diff --git a/server.py b/server.py index 95abe18af..a34652a7c 100644 --- a/server.py +++ b/server.py @@ -50,7 +50,7 @@ def add_new_question(): new_question = dict(request.form) data_manager.write_new_question_to_database(new_question.get("title"), new_question.get("message")) return redirect('/') - return render_template('add_question_or_answer.html', question=True) + return render_template('add_question_or_answer.html') @app.route('/question//new-answerD', methods=['GET', 'POST']) #### del the D from the end @@ -84,32 +84,14 @@ def manage_questions(question_id): @app.route('/question//edit', methods=['GET', 'POST']) def edit_question(question_id): - question = data_manager.get_single_line_by_id_and_convert_time(question_id, QUESTIONS_FILE_PATH) - if request.method == "POST": - edited_question = {"id": question["id"], - "submission_time": util.get_unix_time(), - "view_number": question["view_number"], - "vote_number": question["vote_number"], - "title": request.form.get("title"), - "message": request.form.get("message"), - "image": request.form.get("image", question["image"]), - } - - print(edited_question) - data_manager.write_changes_to_csv_file(QUESTIONS_FILE_PATH, edited_question, adding=False) + if request.method == 'POST': + updated_question = dict(request.form) + data_manager.update_question(question_id, updated_question) return redirect("/") - - return render_template("form.html", + current_question = data_manager.get_question_by_id(question_id) + return render_template("add_question_or_answer.html", question_id=question_id, - url_action=url_for("edit_question", question_id=question_id), - action_method="post", - page_title=f"Edit question ID {question_id}", - header_title=f"Edit question ID {question_id}", - question=question, - title_field_title="Edit title:", - body_title="Edit question:", - image_title="Edit image:", - button_title="Save change") + question=current_question) @app.route('/answer/', methods=('GET', 'POST')) diff --git a/templates/add_question_or_answer.html b/templates/add_question_or_answer.html index 0093638fa..ba70897eb 100644 --- a/templates/add_question_or_answer.html +++ b/templates/add_question_or_answer.html @@ -2,44 +2,30 @@ - {{ 'Add new question' if question else 'Add new answer' }} + {{ 'Edit question' if question_id else 'Add new question' }}
-

{{ 'Add new question' if question else 'Add new answer' }}

+

{{ 'Edit question' if question_id else 'Add new question' }}

- {% if question %}
- +
- +
- +
- {% else %} -
-
- - -
-
- - -
- - - {% endif %}
\ No newline at end of file From 5e4668efc0168cd139c735c8fc2b29d4db9f4e7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Tue, 26 Nov 2019 10:23:53 +0100 Subject: [PATCH 120/290] answer table fixed --- sample_data/askmatepart2-sample-data.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sample_data/askmatepart2-sample-data.sql b/sample_data/askmatepart2-sample-data.sql index 369355a65..637f590e6 100644 --- a/sample_data/askmatepart2-sample-data.sql +++ b/sample_data/askmatepart2-sample-data.sql @@ -109,8 +109,8 @@ INSERT INTO question VALUES (2, '2017-05-01 10:41:00', 1364, 57, 'Drawing canvas ', NULL); SELECT pg_catalog.setval('question_id_seq', 2, true); -INSERT INTO answer VALUES (1, '2017-04-28 16:49:00', 4, 1, 'You need to use brackets: my_list = []', NULL); -INSERT INTO answer VALUES (2, '2017-04-25 14:42:00', 35, 1, 'Look it up in the Python docs', 'images/image2.jpg'); +INSERT INTO answer VALUES (1, '2017-04-28 16:49:00', 4, 0, 'You need to use brackets: my_list = []', NULL); +INSERT INTO answer VALUES (2, '2017-04-25 14:42:00', 35, 0, 'Look it up in the Python docs', 'images/image2.jpg'); SELECT pg_catalog.setval('answer_id_seq', 2, true); INSERT INTO comment VALUES (1, 0, NULL, 'Please clarify the question as it is too vague!', '2017-05-01 05:49:00'); From 2412c8d8227b5c626cfdc61180a16c1ac290df39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 26 Nov 2019 10:44:28 +0100 Subject: [PATCH 121/290] Add vote on question --- data_manager.py | 18 +++++++++++++++++- server.py | 2 +- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/data_manager.py b/data_manager.py index dd793a671..37e1aac58 100644 --- a/data_manager.py +++ b/data_manager.py @@ -35,6 +35,7 @@ def wrapper(*args, reverse=True, key="submission_time"): return wrapper + @sort_dict @connection.connection_handler def get_all_questions(cursor): @@ -233,7 +234,22 @@ def update_question(cursor, question_id, updated_question): {'time':dt, 'title':updated_question['title'], 'message':updated_question['message'], - 'question_id':question_id}) + 'question_id':question_id}); + +@connection.connection_handler +def vote_question(cursor, direction, question_id): + if direction == "vote_up": + cursor.execute(""" + UPDATE question + SET vote_number = vote_number + 1 + WHERE id = %(question_id)s + """, {'question_id': question_id}); + else: + cursor.execute(""" + UPDATE question + SET vote_number = vote_number - 1 + WHERE id = %(question_id)s and vote_number > 0 + """, {'question_id': question_id}); def write_changes_to_csv_file(filename, new_dataset, adding=True): diff --git a/server.py b/server.py index a34652a7c..4d7af8e35 100644 --- a/server.py +++ b/server.py @@ -103,7 +103,7 @@ def manage_answer(answer_id): @app.route('/question//') def vote_questions(vote_method, question_id): - data_manager.modify_vote_story(QUESTIONS_FILE_PATH, vote_method, question_id) + data_manager.vote_question(vote_method, question_id) return redirect('/') From d4c9e84ba0b59f839be4d9ab597ec36a8e661611 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 26 Nov 2019 10:54:40 +0100 Subject: [PATCH 122/290] Add vote on answer --- data_manager.py | 19 +++++++++++++++++++ server.py | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/data_manager.py b/data_manager.py index 37e1aac58..fa4f656f6 100644 --- a/data_manager.py +++ b/data_manager.py @@ -252,6 +252,25 @@ def vote_question(cursor, direction, question_id): """, {'question_id': question_id}); +@connection.connection_handler +def vote_answer(cursor, direction, answer_id): + if direction == "vote_up": + cursor.execute(""" + UPDATE answer + SET vote_number = vote_number + 1 + WHERE id = %(answer_id)s + """, {'answer_id': answer_id}); + else: + cursor.execute(""" + UPDATE answer + SET vote_number = vote_number - 1 + WHERE id = %(answer_id)s AND vote_number > 0 + """, {'answer_id': answer_id}); + + + + + def write_changes_to_csv_file(filename, new_dataset, adding=True): """Adds new or update existing question or answer to the csv file""" existing_submits = read_file(filename) diff --git a/server.py b/server.py index 4d7af8e35..a5d5a3288 100644 --- a/server.py +++ b/server.py @@ -109,7 +109,7 @@ def vote_questions(vote_method, question_id): @app.route('/answer///') def vote_answers(vote_method, answer_id, question_id): - data_manager.modify_vote_story(ANSWERS_FILE_PATH, vote_method, answer_id) + data_manager.vote_answer(vote_method, answer_id) return redirect(url_for("manage_questions", question_id=question_id)) From bcd99151116c72c2b6397caafc40b1148052aceb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 26 Nov 2019 10:56:02 +0100 Subject: [PATCH 123/290] Delete old function to modify votes --- data_manager.py | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/data_manager.py b/data_manager.py index fa4f656f6..9ecaee747 100644 --- a/data_manager.py +++ b/data_manager.py @@ -82,22 +82,6 @@ def get_answers_to_question(question_id, answers_file): return answers_to_question -def modify_vote_story(filename, vote_method, story_id): - vote_to_modify = get_single_line_by_key(story_id, filename, "id") - vote_number = int(vote_to_modify["vote_number"]) - - if vote_number == 0 and vote_method != "vote_up": - pass - elif vote_method == "vote_up": - vote_number += 1 - elif vote_method == "vote_down": - vote_number -= 1 - - vote_to_modify["vote_number"] = str(vote_number) - - write_changes_to_csv_file(filename, new_dataset=vote_to_modify, adding=False) - - def modify_view_number(filename, story_id): view_to_modify = get_single_line_by_key(story_id, filename, "id") view_number = int(view_to_modify["view_number"]) From fa350c41a482b0fdad4de64e103a020e8a65a036 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 26 Nov 2019 11:01:02 +0100 Subject: [PATCH 124/290] Add view counter --- data_manager.py | 15 +++++++-------- server.py | 2 +- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/data_manager.py b/data_manager.py index 9ecaee747..8aa0590a5 100644 --- a/data_manager.py +++ b/data_manager.py @@ -82,14 +82,13 @@ def get_answers_to_question(question_id, answers_file): return answers_to_question -def modify_view_number(filename, story_id): - view_to_modify = get_single_line_by_key(story_id, filename, "id") - view_number = int(view_to_modify["view_number"]) - view_number += 1 - - view_to_modify["view_number"] = str(view_number) - - write_changes_to_csv_file(filename, view_to_modify, adding=False) +@connection.connection_handler +def modify_view_number(cursor, question_id): + cursor.execute(""" + UPDATE question + SET view_number = view_number + 1 + WHERE id = %(question_id)s + """, {'question_id': question_id}); def fill_out_missing_question(new_data, filename): diff --git a/server.py b/server.py index a5d5a3288..2da8ff39d 100644 --- a/server.py +++ b/server.py @@ -70,7 +70,7 @@ def manage_questions(question_id): else: addinganswer = False - data_manager.modify_view_number(QUESTIONS_FILE_PATH, question_id) + data_manager.modify_view_number(question_id) current_question = data_manager.get_question_by_id(question_id) answers_to_question = data_manager.get_answers_by_question_id(question_id) From 2ea73cda983dc3168cec04780620d1137063943e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 26 Nov 2019 11:06:25 +0100 Subject: [PATCH 125/290] Refactor unused code related to CSV --- data_manager.py | 62 ------------------------------------------------- 1 file changed, 62 deletions(-) diff --git a/data_manager.py b/data_manager.py index 8aa0590a5..7e99a15e0 100644 --- a/data_manager.py +++ b/data_manager.py @@ -10,13 +10,6 @@ ANSWER_HEADERS = ["id", "submission_time", "vote_number", "question_id", "message", "image"] -def get_single_line_by_id_and_convert_time(story_id, filename): - """Reads single answer or question from file by the given ID. Returns dictionary.""" - story = get_single_line_by_key(story_id, filename, "id") - story["submission_time"] = util.convert_unix_time_to_readable(story["submission_time"]) - return story - - def get_single_line_by_key(value_to_find, filename, key): """Reads single answer or question from file by the given ID and cell name. Returns dictionary.""" all_stories = read_file(filename) @@ -45,43 +38,6 @@ def get_all_questions(cursor): return data -@sort_dict -def get_all_questions2(filename): - """ returns a dictionary, has sorting decorator function. - ARGS: - filename (string), - reverse=False (boolean): decorator keyname parameter with default value, - key="submission_time" (string): decorator keyname parameter with default value, - """ - all_questions = read_file(filename) - modded_questions = [] - - for question in all_questions: - question["submission_time"] = util.convert_unix_time_to_readable(question["submission_time"]) - question["view_number"] = int(question["view_number"]) - question["vote_number"] = int(question["vote_number"]) - modded_questions.append(question) - - return modded_questions - - -def get_csv_file(filename): - return read_file(filename) - - -def get_answers_to_question(question_id, answers_file): - """Reads 'answer_file' to find any answers that have the 'question_id'.""" - all_answers = read_file(answers_file) - answers_to_question = [] - - for answer in all_answers: - if answer["question_id"] == question_id: - answer["submission_time"] = util.convert_unix_time_to_readable(answer["submission_time"]) - answers_to_question.append(answer) - - return answers_to_question - - @connection.connection_handler def modify_view_number(cursor, question_id): cursor.execute(""" @@ -91,24 +47,6 @@ def modify_view_number(cursor, question_id): """, {'question_id': question_id}); -def fill_out_missing_question(new_data, filename): - """Fills out the missing question data in the new question/answer(id, date, view number, vote number)""" - new_data['submission_time'] = util.get_unix_time() - new_data['id'] = util.generate_id(filename) - new_data['view_number'] = 0 - new_data['vote_number'] = 0 - return new_data - - -def fill_out_missing_answer(new_data, question_id, filename): - """Fills out the missing answer data in the new question/answer(id, date, view number, vote number)""" - new_data['submission_time'] = util.get_unix_time() - new_data['id'] = util.generate_id(filename) - new_data['vote_number'] = 0 - new_data['question_id'] = question_id - return new_data - - def delete_records(answer_file=None, question_file=None, id=None): """ delete question by its ID from question_file and the answers attached to that ID from answer_file""" line_to_delete = get_single_line_by_key(id, question_file, "id") From be1b825b67757109b79c59455431c4b89ffe9fda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 26 Nov 2019 11:13:06 +0100 Subject: [PATCH 126/290] Add delete answer to question --- data_manager.py | 17 +++++++++++++---- server.py | 2 +- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/data_manager.py b/data_manager.py index 7e99a15e0..e73d4632e 100644 --- a/data_manager.py +++ b/data_manager.py @@ -47,6 +47,19 @@ def modify_view_number(cursor, question_id): """, {'question_id': question_id}); +@connection.connection_handler +def delete_answer(cursor, answer_id): + cursor.execute(""" + DELETE FROM comment + WHERE answer_id = %(answer_id)s""", + {'answer_id': answer_id}); + + cursor.execute(""" + DELETE FROM answer + WHERE id = %(answer_id)s""", + {'answer_id': answer_id}); + + def delete_records(answer_file=None, question_file=None, id=None): """ delete question by its ID from question_file and the answers attached to that ID from answer_file""" line_to_delete = get_single_line_by_key(id, question_file, "id") @@ -57,10 +70,6 @@ def delete_records(answer_file=None, question_file=None, id=None): delete_question(question_file, id) -def delete_answer(answer_file, id): - delete_answers(answer_file, a_id=id) - - def allowed_image(filename, extensions): """checks if filename falls within the restrictions""" if not "." in filename: diff --git a/server.py b/server.py index 2da8ff39d..b4bff3a67 100644 --- a/server.py +++ b/server.py @@ -115,7 +115,7 @@ def vote_answers(vote_method, answer_id, question_id): @app.route('/answer///delete') def delete_answer(question_id, answer_id): - data_manager.delete_answer(ANSWERS_FILE_PATH, answer_id) + data_manager.delete_answer(answer_id) return redirect(url_for("manage_questions", question_id=question_id)) From b5a7036a2335f36ac674129d428ff4bc833f6183 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 26 Nov 2019 11:24:08 +0100 Subject: [PATCH 127/290] Delete question, related answer and comments --- data_manager.py | 56 +++++++++++++++++++------------------------------ server.py | 2 +- 2 files changed, 23 insertions(+), 35 deletions(-) diff --git a/data_manager.py b/data_manager.py index e73d4632e..259f747ce 100644 --- a/data_manager.py +++ b/data_manager.py @@ -60,14 +60,29 @@ def delete_answer(cursor, answer_id): {'answer_id': answer_id}); -def delete_records(answer_file=None, question_file=None, id=None): - """ delete question by its ID from question_file and the answers attached to that ID from answer_file""" - line_to_delete = get_single_line_by_key(id, question_file, "id") - if line_to_delete["image"] is not "": - delete_file(line_to_delete["image"]) +@connection.connection_handler +def delete_question(cursor, question_id): + cursor.execute(""" + DELETE FROM comment + WHERE question_id = %(question_id)s + """, + {'question_id': question_id} + ); + + cursor.execute(""" + DELETE FROM answer + WHERE question_id = %(question_id)s + """, + {'question_id': question_id} + ); + + cursor.execute(""" + DELETE FROM question + WHERE id = %(question_id)s + """, + {'question_id': question_id} + ); - delete_answers(answer_file, q_id=id) - delete_question(question_file, id) def allowed_image(filename, extensions): @@ -221,33 +236,6 @@ def write_changes_to_csv_file(filename, new_dataset, adding=True): writer.writerow(submit) -def delete_question(filename, q_id): - """rewrites the entire csv excluding the given ids""" - content = read_file(filename) - - with open(filename, "w+") as f: - writer = csv.DictWriter(f, fieldnames=QUESTION_HEADERS, delimiter=',') - writer.writeheader() - for question in content: - if question['id'] != q_id: - writer.writerow(question) - - -def delete_answers(filename, q_id=None, a_id=None): - content = read_file(filename) - - with open(filename, "w+") as f: - writer = csv.DictWriter(f, fieldnames=ANSWER_HEADERS, delimiter=',') - writer.writeheader() - for answer in content: - if q_id: - if answer['question_id'] != q_id: - writer.writerow(answer) - if a_id: - if answer['id'] != a_id: - writer.writerow(answer) - - def delete_file(filename): if os.path.exists(f"./static/images/{filename}"): os.remove(f"./static/images/{filename}") diff --git a/server.py b/server.py index b4bff3a67..124772dfa 100644 --- a/server.py +++ b/server.py @@ -121,7 +121,7 @@ def delete_answer(question_id, answer_id): @app.route('/question//delete') def delete_question(question_id): - data_manager.delete_records(answer_file=ANSWERS_FILE_PATH, question_file=QUESTIONS_FILE_PATH, id=question_id) + data_manager.delete_question(question_id) return redirect('/') From a3e270ca3d3f0a97d4ff34fba6597749e2cf1440 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 26 Nov 2019 11:29:16 +0100 Subject: [PATCH 128/290] Refactor unused code --- data_manager.py | 15 +-------------- server.py | 5 ++--- util.py | 22 ---------------------- 3 files changed, 3 insertions(+), 39 deletions(-) diff --git a/data_manager.py b/data_manager.py index 259f747ce..c54b5948e 100644 --- a/data_manager.py +++ b/data_manager.py @@ -110,6 +110,7 @@ def upload_image_path(filename, question_id, image_name): content["image"] = image_name write_changes_to_csv_file(filename, content, adding=False) + @connection.connection_handler def write_new_question_to_database(cursor, title, message): dt = datetime.now() @@ -236,20 +237,6 @@ def write_changes_to_csv_file(filename, new_dataset, adding=True): writer.writerow(submit) -def delete_file(filename): - if os.path.exists(f"./static/images/{filename}"): - os.remove(f"./static/images/{filename}") - else: - print("The file does not exist") - pass - - -def get_data_header_with_convert_format(filename): - with open(filename, 'r') as csv_file: - data_header = csv_file.readline() - return data_header.strip('\n').replace('_', ' ').split(',') - - def read_file(filename): all_data = [] with open(filename, 'r') as csv_file: diff --git a/server.py b/server.py index 124772dfa..058113aa4 100644 --- a/server.py +++ b/server.py @@ -13,9 +13,8 @@ QUESTIONS_FILE_PATH = "./sample_data/question.csv" ANSWERS_FILE_PATH = "./sample_data/answer.csv" -QUESTION_HEADERS = data_manager.get_data_header_with_convert_format(QUESTIONS_FILE_PATH) -ANSWERS_HEADERS = data_manager.get_data_header_with_convert_format(ANSWERS_FILE_PATH) - +QUESTION_HEADERS = ["id", "submission_time", "view_number", "vote_number", "title", "message", "image"] +ANSWER_HEADERS = ["id", "submission_time", "vote_number", "question_id", "message", "image"] @app.route('/') def show_questions(): diff --git a/util.py b/util.py index 38e8ad256..0199149c9 100644 --- a/util.py +++ b/util.py @@ -18,25 +18,3 @@ def sort_array(array, key, reverse): array = sorted(array, key=lambda x: x[key], reverse=reverse) return array - -def convert_unix_time_to_readable(input_time): - return datetime.fromtimestamp(int(input_time)) - - -def get_unix_time(): - date_time = datetime.utcnow() - return(calendar.timegm(date_time.utctimetuple())) - - -def generate_id(filename): - """ - with open(filename, 'r') as csv_file: - csv_reader = csv.DictReader(csv_file) - data_id = sum(1 for row in csv_reader) - return data_id - """ - actual_stories = data_manager.read_file(filename) - if len(actual_stories) == 1: - return LIST_START - - return int(actual_stories[-1]["id"]) + 1 From 2db684a9e3d6863bd984494054aefd9c87128d6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 26 Nov 2019 11:35:15 +0100 Subject: [PATCH 129/290] Correct error at headers --- server.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server.py b/server.py index 058113aa4..0b339f3a2 100644 --- a/server.py +++ b/server.py @@ -14,7 +14,7 @@ QUESTIONS_FILE_PATH = "./sample_data/question.csv" ANSWERS_FILE_PATH = "./sample_data/answer.csv" QUESTION_HEADERS = ["id", "submission_time", "view_number", "vote_number", "title", "message", "image"] -ANSWER_HEADERS = ["id", "submission_time", "vote_number", "question_id", "message", "image"] +ANSWERS_HEADERS = ["id", "submission_time", "vote_number", "question_id", "message", "image"] @app.route('/') def show_questions(): From 800e7dd3c3ba5bf33780f5d2471d8c0cb2c73c91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 26 Nov 2019 13:23:58 +0100 Subject: [PATCH 130/290] Add edit and delete answer --- data_manager.py | 37 +++++++++++++++++++++++++++++------ server.py | 19 ++++++++++++------ templates/edit-answer.html | 25 +++++++++++++++++++++++ templates/question-child.html | 1 + 4 files changed, 70 insertions(+), 12 deletions(-) create mode 100644 templates/edit-answer.html diff --git a/data_manager.py b/data_manager.py index c54b5948e..b11b21df8 100644 --- a/data_manager.py +++ b/data_manager.py @@ -97,7 +97,7 @@ def allowed_image(filename, extensions): else: return False - +''' def upload_image_path(filename, question_id, image_name): """ appends the image_name to the 'imgage' column at the question_id" in given file ARGS: @@ -109,7 +109,7 @@ def upload_image_path(filename, question_id, image_name): content["image"] = image_name write_changes_to_csv_file(filename, content, adding=False) - +''' @connection.connection_handler def write_new_question_to_database(cursor, title, message): @@ -216,11 +216,11 @@ def vote_answer(cursor, direction, answer_id): - +''' def write_changes_to_csv_file(filename, new_dataset, adding=True): """Adds new or update existing question or answer to the csv file""" existing_submits = read_file(filename) - open_option = "a" if adding is True else "w" + open_option = "a" if adding is True elsanswer_ide "w" with open(filename, open_option) as csv_file: fieldnames = QUESTION_HEADERS if "question" in filename else ANSWER_HEADERS @@ -235,7 +235,7 @@ def write_changes_to_csv_file(filename, new_dataset, adding=True): if new_dataset["id"] == submit["id"]: submit = new_dataset writer.writerow(submit) - +''' def read_file(filename): all_data = [] @@ -243,4 +243,29 @@ def read_file(filename): csv_reader = csv.DictReader(csv_file) for line in csv_reader: all_data.append(dict(line)) - return all_data \ No newline at end of file + return all_data + + +@connection.connection_handler +def get_answer_by_answer_id(cursor, answer_id): + cursor.execute(""" + SELECT * from answer + WHERE id = %(answer_id)s""", + {'answer_id': answer_id} + ) + data = cursor.fetchone() + return data + + +@connection.connection_handler +def update_answer(cursor, answer_id, update_answer): + dt = datetime.now() + message = update_answer['message'] + cursor.execute(""" + UPDATE answer + SET submission_time = %(time)s, message = %(message)s + WHERE id = %(answer_id)s; + """, + {'time': dt, + 'message': message, + 'answer_id': answer_id}); \ No newline at end of file diff --git a/server.py b/server.py index 0b339f3a2..fe61e9588 100644 --- a/server.py +++ b/server.py @@ -14,7 +14,7 @@ QUESTIONS_FILE_PATH = "./sample_data/question.csv" ANSWERS_FILE_PATH = "./sample_data/answer.csv" QUESTION_HEADERS = ["id", "submission_time", "view_number", "vote_number", "title", "message", "image"] -ANSWERS_HEADERS = ["id", "submission_time", "vote_number", "question_id", "message", "image"] +ANSWER_HEADERS = ["id", "submission_time", "vote_number", "question_id", "message", "image"] @app.route('/') def show_questions(): @@ -78,7 +78,7 @@ def manage_questions(question_id): answers=answers_to_question, addinganswer=addinganswer, question_headers=QUESTION_HEADERS, - answer_headers=ANSWERS_HEADERS) + answer_headers=ANSWER_HEADERS) @app.route('/question//edit', methods=['GET', 'POST']) @@ -93,11 +93,18 @@ def edit_question(question_id): question=current_question) -@app.route('/answer/', methods=('GET', 'POST')) -def manage_answer(answer_id): +@app.route('/answer///edit', methods=['GET', 'POST']) +def edit_answer(question_id, answer_id): if request.method == "POST": - pass - pass + update_answer = dict(request.form) + print(update_answer) + data_manager.update_answer(answer_id, update_answer) + return redirect(f'/questions/{question_id}') + + current_answer = data_manager.get_answer_by_answer_id(answer_id) + return render_template("edit-answer.html", + answer_id=answer_id, + answer=current_answer) @app.route('/question//') diff --git a/templates/edit-answer.html b/templates/edit-answer.html new file mode 100644 index 000000000..75ba1c0c5 --- /dev/null +++ b/templates/edit-answer.html @@ -0,0 +1,25 @@ + + + + + {{ 'Edit answer' if answer_id else 'Add new answer' }} + + + + +
+

{{ 'Edit answer' if answer_id else 'Add new answer' }}

+
+
+
+
+
+ + +
+ +
+ +
+ + \ No newline at end of file diff --git a/templates/question-child.html b/templates/question-child.html index af3ac7446..edec0c717 100644 --- a/templates/question-child.html +++ b/templates/question-child.html @@ -56,6 +56,7 @@

{{ question['title'] }}

{% if answer['image'] %}
{% endif %} +
From f89ec748245e233cc235911eedab83e67a461d8e Mon Sep 17 00:00:00 2001 From: Bogi Kiss Date: Tue, 26 Nov 2019 13:27:00 +0100 Subject: [PATCH 131/290] handle view number exceptions --- data_manager.py | 13 +++++++------ server.py | 6 +++--- templates/list.html | 2 +- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/data_manager.py b/data_manager.py index c54b5948e..8d03585e1 100644 --- a/data_manager.py +++ b/data_manager.py @@ -39,12 +39,13 @@ def get_all_questions(cursor): @connection.connection_handler -def modify_view_number(cursor, question_id): - cursor.execute(""" - UPDATE question - SET view_number = view_number + 1 - WHERE id = %(question_id)s - """, {'question_id': question_id}); +def modify_view_number(cursor, question_id, modify_view=False): + if modify_view: + cursor.execute(""" + UPDATE question + SET view_number = view_number + 1 + WHERE id = %(question_id)s + """, {'question_id': question_id}); @connection.connection_handler diff --git a/server.py b/server.py index 0b339f3a2..23d8831ba 100644 --- a/server.py +++ b/server.py @@ -62,14 +62,14 @@ def add_new_answer(question_id): return render_template('add_question_or_answer.html') -@app.route('/questions/') -def manage_questions(question_id): +@app.route('/questions//') +def manage_questions(question_id, modify_view): if request.args.getlist('addinganswer'): addinganswer = True else: addinganswer = False - data_manager.modify_view_number(question_id) + data_manager.modify_view_number(question_id, modify_view) current_question = data_manager.get_question_by_id(question_id) answers_to_question = data_manager.get_answers_by_question_id(question_id) diff --git a/templates/list.html b/templates/list.html index 02250e8fc..5e3a14661 100644 --- a/templates/list.html +++ b/templates/list.html @@ -56,7 +56,7 @@

AskMate

- + {% endfor %} From 198b93832f1d27d67a428fac59bde1b5f515ed3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 26 Nov 2019 13:46:53 +0100 Subject: [PATCH 132/290] Format timestamp --- data_manager.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/data_manager.py b/data_manager.py index b11b21df8..5b766577e 100644 --- a/data_manager.py +++ b/data_manager.py @@ -113,7 +113,7 @@ def upload_image_path(filename, question_id, image_name): @connection.connection_handler def write_new_question_to_database(cursor, title, message): - dt = datetime.now() + dt = datetime.now().strftime("%Y-%m-%d %H:%M:%S") cursor.execute(""" INSERT INTO question (submission_time, view_number, vote_number, title, message, image) VALUES (%(time)s, %(view_number)s, %(vote_number)s, %(title)s, %(message)s, %(image)s); @@ -129,7 +129,7 @@ def write_new_question_to_database(cursor, title, message): @connection.connection_handler def write_new_answer_to_database(cursor, question_id, answer): - dt = datetime.now() + dt = datetime.now().strftime("%Y-%m-%d %H:%M:%S") new_answer = answer["message"] new_image = answer["image"] cursor.execute(""" @@ -171,7 +171,7 @@ def get_answers_by_question_id(cursor, question_id): @connection.connection_handler def update_question(cursor, question_id, updated_question): - dt = datetime.now() + dt = datetime.now().strftime("%Y-%m-%d %H:%M:%S") cursor.execute(""" UPDATE question SET submission_time = %(time)s, title = %(title)s, message = %(message)s @@ -259,7 +259,7 @@ def get_answer_by_answer_id(cursor, answer_id): @connection.connection_handler def update_answer(cursor, answer_id, update_answer): - dt = datetime.now() + dt = datetime.now().strftime("%Y-%m-%d %H:%M:%S") message = update_answer['message'] cursor.execute(""" UPDATE answer From b22dfb390ef0487fba54cd3571aed493b69c69f6 Mon Sep 17 00:00:00 2001 From: Rhyvan Date: Tue, 26 Nov 2019 13:52:39 +0100 Subject: [PATCH 133/290] add comments to questions, answers (backend) --- data_manager.py | 20 ++++++++++++++++++++ server.py | 27 +++++++++++++++++++++++++++ templates/comment.html | 18 ++++++++++++++++++ templates/question-child.html | 3 ++- templates/question.html | 1 + 5 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 templates/comment.html diff --git a/data_manager.py b/data_manager.py index dd793a671..c58414984 100644 --- a/data_manager.py +++ b/data_manager.py @@ -198,6 +198,26 @@ def write_new_answer_to_database(cursor, question_id, answer): }) +@connection.connection_handler +def write_new_comment_to_database(cursor, data): + dt = datetime.now().strftime("%Y-%m-%d %H:%M:%S") + try: + if data["answer_id"]: + pass + except KeyError: + data.update({"answer_id": None}) + + cursor.execute(""" + INSERT INTO comment (question_id, answer_id, message, submission_time, edited_count) + VALUES (%(question_id)s, %(answer_id)s, %(message)s, %(time)s, %(edit)s); + """, + {"question_id": data["question_id"], + "answer_id": data["answer_id"], + "message": data["message"], + "time": dt, + "edit": 0}) + + @connection.connection_handler def get_question_by_id(cursor, question_id): cursor.execute(""" diff --git a/server.py b/server.py index a34652a7c..fc0a76c2a 100644 --- a/server.py +++ b/server.py @@ -94,6 +94,33 @@ def edit_question(question_id): question=current_question) +@app.route('/question//new-comment', methods=['GET', 'POST']) +@app.route('/answer///new-comment', methods=['GET', 'POST']) +def write_new_comment(question_id, answer_id=None): + if request.method == 'POST': + comment = request.form.to_dict() + comment.update({"question_id": question_id}) + print(comment) + data_manager.write_new_comment_to_database(comment) + return url_for("manage_questions", question_id=question_id) + + if answer_id: + id_type = "answer_id" + id = answer_id + route = url_for('write_new_comment', question_id=question_id, answer_id=answer_id) + labelaction = "Add new comment for the answer" + else: + id_type = "question_id" + id = question_id + route = url_for('write_new_comment', question_id=question_id, answer_id=None) + labelaction = "Add new comment for the question" + return render_template("comment.html", + id_type=id_type, + id=id, + sending_route=route, + labelaction=labelaction, + method="POST") + @app.route('/answer/', methods=('GET', 'POST')) def manage_answer(answer_id): if request.method == "POST": diff --git a/templates/comment.html b/templates/comment.html new file mode 100644 index 000000000..1c91b4525 --- /dev/null +++ b/templates/comment.html @@ -0,0 +1,18 @@ + + + + + {{ labelaction }} + + +
+
+
+                
+                
+                
+            
+
+ + + \ No newline at end of file diff --git a/templates/question-child.html b/templates/question-child.html index af3ac7446..4be7b251e 100644 --- a/templates/question-child.html +++ b/templates/question-child.html @@ -57,6 +57,7 @@

{{ question['title'] }}

{% endif %} +
@@ -78,4 +79,4 @@

Add new answer

-{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/templates/question.html b/templates/question.html index 09a8a17a4..b8c4adaaa 100644 --- a/templates/question.html +++ b/templates/question.html @@ -7,6 +7,7 @@ {% block question %} {% endblock %} + {% if addinganswer %} {% else %} From 60c64a0b911efd178426f1c41d4e3b0498013a2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 26 Nov 2019 14:18:27 +0100 Subject: [PATCH 134/290] Corrects add answer --- server.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server.py b/server.py index 7570bdef7..46b1a5f71 100644 --- a/server.py +++ b/server.py @@ -175,7 +175,7 @@ def add_newstuff_withimage(question_id): new_answer.update({"image": ""}) data_manager.write_new_answer_to_database(question_id, new_answer) - return redirect(url_for("manage_questions", question_id=question_id)) + return redirect(url_for("manage_questions", question_id=question_id, modify_view=False)) if __name__ == '__main__': From 61836fcc458bca02ae6f830b82f1bc913df63a97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 26 Nov 2019 14:23:56 +0100 Subject: [PATCH 135/290] Deleted modify view counter --- data_manager.py | 13 ++++++------- server.py | 6 +++--- templates/list.html | 2 +- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/data_manager.py b/data_manager.py index 162b5ad38..5b766577e 100644 --- a/data_manager.py +++ b/data_manager.py @@ -39,13 +39,12 @@ def get_all_questions(cursor): @connection.connection_handler -def modify_view_number(cursor, question_id, modify_view=False): - if modify_view: - cursor.execute(""" - UPDATE question - SET view_number = view_number + 1 - WHERE id = %(question_id)s - """, {'question_id': question_id}); +def modify_view_number(cursor, question_id): + cursor.execute(""" + UPDATE question + SET view_number = view_number + 1 + WHERE id = %(question_id)s + """, {'question_id': question_id}); @connection.connection_handler diff --git a/server.py b/server.py index 46b1a5f71..293de7d05 100644 --- a/server.py +++ b/server.py @@ -62,14 +62,14 @@ def add_new_answer(question_id): return render_template('add_question_or_answer.html') -@app.route('/questions//') -def manage_questions(question_id, modify_view): +@app.route('/questions/') +def manage_questions(question_id): if request.args.getlist('addinganswer'): addinganswer = True else: addinganswer = False - data_manager.modify_view_number(question_id, modify_view) + data_manager.modify_view_number(question_id) current_question = data_manager.get_question_by_id(question_id) answers_to_question = data_manager.get_answers_by_question_id(question_id) diff --git a/templates/list.html b/templates/list.html index 5e3a14661..02250e8fc 100644 --- a/templates/list.html +++ b/templates/list.html @@ -56,7 +56,7 @@

AskMate

- + {% endfor %} From f17278485b6c6277910f97fbb1a8b078186ab7ae Mon Sep 17 00:00:00 2001 From: Rhyvan Date: Tue, 26 Nov 2019 14:26:04 +0100 Subject: [PATCH 136/290] merge --- data_manager.py | 248 ++++++++++------------- sample_data/askmatepart2-sample-data.sql | 4 +- server.py | 41 ++-- templates/edit-answer.html | 25 +++ templates/list.html | 2 +- templates/question-child.html | 1 + util.py | 22 -- 7 files changed, 160 insertions(+), 183 deletions(-) create mode 100644 templates/edit-answer.html diff --git a/data_manager.py b/data_manager.py index c58414984..281a25f2a 100644 --- a/data_manager.py +++ b/data_manager.py @@ -10,13 +10,6 @@ ANSWER_HEADERS = ["id", "submission_time", "vote_number", "question_id", "message", "image"] -def get_single_line_by_id_and_convert_time(story_id, filename): - """Reads single answer or question from file by the given ID. Returns dictionary.""" - story = get_single_line_by_key(story_id, filename, "id") - story["submission_time"] = util.convert_unix_time_to_readable(story["submission_time"]) - return story - - def get_single_line_by_key(value_to_find, filename, key): """Reads single answer or question from file by the given ID and cell name. Returns dictionary.""" all_stories = read_file(filename) @@ -35,6 +28,7 @@ def wrapper(*args, reverse=True, key="submission_time"): return wrapper + @sort_dict @connection.connection_handler def get_all_questions(cursor): @@ -44,99 +38,52 @@ def get_all_questions(cursor): return data -@sort_dict -def get_all_questions2(filename): - """ returns a dictionary, has sorting decorator function. - ARGS: - filename (string), - reverse=False (boolean): decorator keyname parameter with default value, - key="submission_time" (string): decorator keyname parameter with default value, - """ - all_questions = read_file(filename) - modded_questions = [] - - for question in all_questions: - question["submission_time"] = util.convert_unix_time_to_readable(question["submission_time"]) - question["view_number"] = int(question["view_number"]) - question["vote_number"] = int(question["vote_number"]) - modded_questions.append(question) - - return modded_questions - - -def get_csv_file(filename): - return read_file(filename) - - -def get_answers_to_question(question_id, answers_file): - """Reads 'answer_file' to find any answers that have the 'question_id'.""" - all_answers = read_file(answers_file) - answers_to_question = [] - - for answer in all_answers: - if answer["question_id"] == question_id: - answer["submission_time"] = util.convert_unix_time_to_readable(answer["submission_time"]) - answers_to_question.append(answer) - - return answers_to_question - - -def modify_vote_story(filename, vote_method, story_id): - vote_to_modify = get_single_line_by_key(story_id, filename, "id") - vote_number = int(vote_to_modify["vote_number"]) - - if vote_number == 0 and vote_method != "vote_up": - pass - elif vote_method == "vote_up": - vote_number += 1 - elif vote_method == "vote_down": - vote_number -= 1 - - vote_to_modify["vote_number"] = str(vote_number) - - write_changes_to_csv_file(filename, new_dataset=vote_to_modify, adding=False) - - -def modify_view_number(filename, story_id): - view_to_modify = get_single_line_by_key(story_id, filename, "id") - view_number = int(view_to_modify["view_number"]) - view_number += 1 - - view_to_modify["view_number"] = str(view_number) - - write_changes_to_csv_file(filename, view_to_modify, adding=False) - +@connection.connection_handler +def modify_view_number(cursor, question_id, modify_view=False): + if modify_view: + cursor.execute(""" + UPDATE question + SET view_number = view_number + 1 + WHERE id = %(question_id)s + """, {'question_id': question_id}); -def fill_out_missing_question(new_data, filename): - """Fills out the missing question data in the new question/answer(id, date, view number, vote number)""" - new_data['submission_time'] = util.get_unix_time() - new_data['id'] = util.generate_id(filename) - new_data['view_number'] = 0 - new_data['vote_number'] = 0 - return new_data +@connection.connection_handler +def delete_answer(cursor, answer_id): + cursor.execute(""" + DELETE FROM comment + WHERE answer_id = %(answer_id)s""", + {'answer_id': answer_id}); -def fill_out_missing_answer(new_data, question_id, filename): - """Fills out the missing answer data in the new question/answer(id, date, view number, vote number)""" - new_data['submission_time'] = util.get_unix_time() - new_data['id'] = util.generate_id(filename) - new_data['vote_number'] = 0 - new_data['question_id'] = question_id - return new_data + cursor.execute(""" + DELETE FROM answer + WHERE id = %(answer_id)s""", + {'answer_id': answer_id}); -def delete_records(answer_file=None, question_file=None, id=None): - """ delete question by its ID from question_file and the answers attached to that ID from answer_file""" - line_to_delete = get_single_line_by_key(id, question_file, "id") - if line_to_delete["image"] is not "": - delete_file(line_to_delete["image"]) +@connection.connection_handler +def delete_question(cursor, question_id): + cursor.execute(""" + DELETE FROM comment + WHERE question_id = %(question_id)s + """, + {'question_id': question_id} + ); - delete_answers(answer_file, q_id=id) - delete_question(question_file, id) + cursor.execute(""" + DELETE FROM answer + WHERE question_id = %(question_id)s + """, + {'question_id': question_id} + ); + cursor.execute(""" + DELETE FROM question + WHERE id = %(question_id)s + """, + {'question_id': question_id} + ); -def delete_answer(answer_file, id): - delete_answers(answer_file, a_id=id) def allowed_image(filename, extensions): @@ -151,7 +98,7 @@ def allowed_image(filename, extensions): else: return False - +''' def upload_image_path(filename, question_id, image_name): """ appends the image_name to the 'imgage' column at the question_id" in given file ARGS: @@ -163,10 +110,11 @@ def upload_image_path(filename, question_id, image_name): content["image"] = image_name write_changes_to_csv_file(filename, content, adding=False) +''' @connection.connection_handler def write_new_question_to_database(cursor, title, message): - dt = datetime.now() + dt = datetime.now().strftime("%Y-%m-%d %H:%M:%S") cursor.execute(""" INSERT INTO question (submission_time, view_number, vote_number, title, message, image) VALUES (%(time)s, %(view_number)s, %(vote_number)s, %(title)s, %(message)s, %(image)s); @@ -182,7 +130,7 @@ def write_new_question_to_database(cursor, title, message): @connection.connection_handler def write_new_answer_to_database(cursor, question_id, answer): - dt = datetime.now() + dt = datetime.now().strftime("%Y-%m-%d %H:%M:%S") new_answer = answer["message"] new_image = answer["image"] cursor.execute(""" @@ -244,7 +192,7 @@ def get_answers_by_question_id(cursor, question_id): @connection.connection_handler def update_question(cursor, question_id, updated_question): - dt = datetime.now() + dt = datetime.now().strftime("%Y-%m-%d %H:%M:%S") cursor.execute(""" UPDATE question SET submission_time = %(time)s, title = %(title)s, message = %(message)s @@ -253,13 +201,47 @@ def update_question(cursor, question_id, updated_question): {'time':dt, 'title':updated_question['title'], 'message':updated_question['message'], - 'question_id':question_id}) + 'question_id':question_id}); + +@connection.connection_handler +def vote_question(cursor, direction, question_id): + if direction == "vote_up": + cursor.execute(""" + UPDATE question + SET vote_number = vote_number + 1 + WHERE id = %(question_id)s + """, {'question_id': question_id}); + else: + cursor.execute(""" + UPDATE question + SET vote_number = vote_number - 1 + WHERE id = %(question_id)s and vote_number > 0 + """, {'question_id': question_id}); + + +@connection.connection_handler +def vote_answer(cursor, direction, answer_id): + if direction == "vote_up": + cursor.execute(""" + UPDATE answer + SET vote_number = vote_number + 1 + WHERE id = %(answer_id)s + """, {'answer_id': answer_id}); + else: + cursor.execute(""" + UPDATE answer + SET vote_number = vote_number - 1 + WHERE id = %(answer_id)s AND vote_number > 0 + """, {'answer_id': answer_id}); + + +''' def write_changes_to_csv_file(filename, new_dataset, adding=True): """Adds new or update existing question or answer to the csv file""" existing_submits = read_file(filename) - open_option = "a" if adding is True else "w" + open_option = "a" if adding is True elsanswer_ide "w" with open(filename, open_option) as csv_file: fieldnames = QUESTION_HEADERS if "question" in filename else ANSWER_HEADERS @@ -274,48 +256,7 @@ def write_changes_to_csv_file(filename, new_dataset, adding=True): if new_dataset["id"] == submit["id"]: submit = new_dataset writer.writerow(submit) - - -def delete_question(filename, q_id): - """rewrites the entire csv excluding the given ids""" - content = read_file(filename) - - with open(filename, "w+") as f: - writer = csv.DictWriter(f, fieldnames=QUESTION_HEADERS, delimiter=',') - writer.writeheader() - for question in content: - if question['id'] != q_id: - writer.writerow(question) - - -def delete_answers(filename, q_id=None, a_id=None): - content = read_file(filename) - - with open(filename, "w+") as f: - writer = csv.DictWriter(f, fieldnames=ANSWER_HEADERS, delimiter=',') - writer.writeheader() - for answer in content: - if q_id: - if answer['question_id'] != q_id: - writer.writerow(answer) - if a_id: - if answer['id'] != a_id: - writer.writerow(answer) - - -def delete_file(filename): - if os.path.exists(f"./static/images/{filename}"): - os.remove(f"./static/images/{filename}") - else: - print("The file does not exist") - pass - - -def get_data_header_with_convert_format(filename): - with open(filename, 'r') as csv_file: - data_header = csv_file.readline() - return data_header.strip('\n').replace('_', ' ').split(',') - +''' def read_file(filename): all_data = [] @@ -323,4 +264,29 @@ def read_file(filename): csv_reader = csv.DictReader(csv_file) for line in csv_reader: all_data.append(dict(line)) - return all_data \ No newline at end of file + return all_data + + +@connection.connection_handler +def get_answer_by_answer_id(cursor, answer_id): + cursor.execute(""" + SELECT * from answer + WHERE id = %(answer_id)s""", + {'answer_id': answer_id} + ) + data = cursor.fetchone() + return data + + +@connection.connection_handler +def update_answer(cursor, answer_id, update_answer): + dt = datetime.now().strftime("%Y-%m-%d %H:%M:%S") + message = update_answer['message'] + cursor.execute(""" + UPDATE answer + SET submission_time = %(time)s, message = %(message)s + WHERE id = %(answer_id)s; + """, + {'time': dt, + 'message': message, + 'answer_id': answer_id}); \ No newline at end of file diff --git a/sample_data/askmatepart2-sample-data.sql b/sample_data/askmatepart2-sample-data.sql index 369355a65..637f590e6 100644 --- a/sample_data/askmatepart2-sample-data.sql +++ b/sample_data/askmatepart2-sample-data.sql @@ -109,8 +109,8 @@ INSERT INTO question VALUES (2, '2017-05-01 10:41:00', 1364, 57, 'Drawing canvas ', NULL); SELECT pg_catalog.setval('question_id_seq', 2, true); -INSERT INTO answer VALUES (1, '2017-04-28 16:49:00', 4, 1, 'You need to use brackets: my_list = []', NULL); -INSERT INTO answer VALUES (2, '2017-04-25 14:42:00', 35, 1, 'Look it up in the Python docs', 'images/image2.jpg'); +INSERT INTO answer VALUES (1, '2017-04-28 16:49:00', 4, 0, 'You need to use brackets: my_list = []', NULL); +INSERT INTO answer VALUES (2, '2017-04-25 14:42:00', 35, 0, 'Look it up in the Python docs', 'images/image2.jpg'); SELECT pg_catalog.setval('answer_id_seq', 2, true); INSERT INTO comment VALUES (1, 0, NULL, 'Please clarify the question as it is too vague!', '2017-05-01 05:49:00'); diff --git a/server.py b/server.py index fc0a76c2a..2083f162e 100644 --- a/server.py +++ b/server.py @@ -13,9 +13,8 @@ QUESTIONS_FILE_PATH = "./sample_data/question.csv" ANSWERS_FILE_PATH = "./sample_data/answer.csv" -QUESTION_HEADERS = data_manager.get_data_header_with_convert_format(QUESTIONS_FILE_PATH) -ANSWERS_HEADERS = data_manager.get_data_header_with_convert_format(ANSWERS_FILE_PATH) - +QUESTION_HEADERS = ["id", "submission_time", "view_number", "vote_number", "title", "message", "image"] +ANSWER_HEADERS = ["id", "submission_time", "vote_number", "question_id", "message", "image"] @app.route('/') def show_questions(): @@ -63,14 +62,14 @@ def add_new_answer(question_id): return render_template('add_question_or_answer.html') -@app.route('/questions/') -def manage_questions(question_id): +@app.route('/questions//') +def manage_questions(question_id, modify_view): if request.args.getlist('addinganswer'): addinganswer = True else: addinganswer = False - data_manager.modify_view_number(QUESTIONS_FILE_PATH, question_id) + data_manager.modify_view_number(question_id, modify_view) current_question = data_manager.get_question_by_id(question_id) answers_to_question = data_manager.get_answers_by_question_id(question_id) @@ -79,7 +78,7 @@ def manage_questions(question_id): answers=answers_to_question, addinganswer=addinganswer, question_headers=QUESTION_HEADERS, - answer_headers=ANSWERS_HEADERS) + answer_headers=ANSWER_HEADERS) @app.route('/question//edit', methods=['GET', 'POST']) @@ -94,6 +93,20 @@ def edit_question(question_id): question=current_question) +@app.route('/answer///edit', methods=['GET', 'POST']) +def edit_answer(question_id, answer_id): + if request.method == "POST": + update_answer = dict(request.form) + print(update_answer) + data_manager.update_answer(answer_id, update_answer) + return redirect(f'/questions/{question_id}') + + current_answer = data_manager.get_answer_by_answer_id(answer_id) + return render_template("edit-answer.html", + answer_id=answer_id, + answer=current_answer) + + @app.route('/question//new-comment', methods=['GET', 'POST']) @app.route('/answer///new-comment', methods=['GET', 'POST']) def write_new_comment(question_id, answer_id=None): @@ -121,34 +134,28 @@ def write_new_comment(question_id, answer_id=None): labelaction=labelaction, method="POST") -@app.route('/answer/', methods=('GET', 'POST')) -def manage_answer(answer_id): - if request.method == "POST": - pass - pass - @app.route('/question//') def vote_questions(vote_method, question_id): - data_manager.modify_vote_story(QUESTIONS_FILE_PATH, vote_method, question_id) + data_manager.vote_question(vote_method, question_id) return redirect('/') @app.route('/answer///') def vote_answers(vote_method, answer_id, question_id): - data_manager.modify_vote_story(ANSWERS_FILE_PATH, vote_method, answer_id) + data_manager.vote_answer(vote_method, answer_id) return redirect(url_for("manage_questions", question_id=question_id)) @app.route('/answer///delete') def delete_answer(question_id, answer_id): - data_manager.delete_answer(ANSWERS_FILE_PATH, answer_id) + data_manager.delete_answer(answer_id) return redirect(url_for("manage_questions", question_id=question_id)) @app.route('/question//delete') def delete_question(question_id): - data_manager.delete_records(answer_file=ANSWERS_FILE_PATH, question_file=QUESTIONS_FILE_PATH, id=question_id) + data_manager.delete_question(question_id) return redirect('/') diff --git a/templates/edit-answer.html b/templates/edit-answer.html new file mode 100644 index 000000000..75ba1c0c5 --- /dev/null +++ b/templates/edit-answer.html @@ -0,0 +1,25 @@ + + + + + {{ 'Edit answer' if answer_id else 'Add new answer' }} + + + + +
+

{{ 'Edit answer' if answer_id else 'Add new answer' }}

+
+
+
+
+
+ + +
+ +
+ +
+ + \ No newline at end of file diff --git a/templates/list.html b/templates/list.html index 02250e8fc..5e3a14661 100644 --- a/templates/list.html +++ b/templates/list.html @@ -56,7 +56,7 @@

AskMate

- + {% endfor %} diff --git a/templates/question-child.html b/templates/question-child.html index 4be7b251e..8273dba39 100644 --- a/templates/question-child.html +++ b/templates/question-child.html @@ -56,6 +56,7 @@

{{ question['title'] }}

{% if answer['image'] %}
{% endif %} +
diff --git a/util.py b/util.py index 38e8ad256..0199149c9 100644 --- a/util.py +++ b/util.py @@ -18,25 +18,3 @@ def sort_array(array, key, reverse): array = sorted(array, key=lambda x: x[key], reverse=reverse) return array - -def convert_unix_time_to_readable(input_time): - return datetime.fromtimestamp(int(input_time)) - - -def get_unix_time(): - date_time = datetime.utcnow() - return(calendar.timegm(date_time.utctimetuple())) - - -def generate_id(filename): - """ - with open(filename, 'r') as csv_file: - csv_reader = csv.DictReader(csv_file) - data_id = sum(1 for row in csv_reader) - return data_id - """ - actual_stories = data_manager.read_file(filename) - if len(actual_stories) == 1: - return LIST_START - - return int(actual_stories[-1]["id"]) + 1 From 2cbba391625886f74cfa9354a5045cb055c7e54c Mon Sep 17 00:00:00 2001 From: Rhyvan Date: Tue, 26 Nov 2019 14:40:52 +0100 Subject: [PATCH 137/290] add comment functions --- server.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server.py b/server.py index e7d6dd1ce..4a6ee8a0e 100644 --- a/server.py +++ b/server.py @@ -70,7 +70,8 @@ def write_new_comment(question_id, answer_id=None): comment.update({"question_id": question_id}) print(comment) data_manager.write_new_comment_to_database(comment) - return url_for("manage_questions", question_id=question_id) + return redirect(url_for("manage_questions", question_id=question_id)) + if answer_id: id_type = "answer_id" id = answer_id From 543201952b484ead21902016a4975e71a8b8d072 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Tue, 26 Nov 2019 14:44:34 +0100 Subject: [PATCH 138/290] Add search --- data_manager.py | 12 ++++++++++++ server.py | 28 ++++++++++++++++++++++++++++ static/index.css | 20 +++++++++++--------- static/questions-table.css | 1 + templates/list.html | 6 +++++- 5 files changed, 57 insertions(+), 10 deletions(-) diff --git a/data_manager.py b/data_manager.py index dd793a671..7d6f532c6 100644 --- a/data_manager.py +++ b/data_manager.py @@ -236,6 +236,18 @@ def update_question(cursor, question_id, updated_question): 'question_id':question_id}) +@connection.connection_handler +def search_question(cursor, search_phrase): + cursor.execute(""" + SELECT * FROM question + WHERE LOWER(title) LIKE %(search_phrase)s OR LOWER(message) LIKE %(search_phrase)s + """, + {'search_phrase':'%' + search_phrase + '%'}) + + search_result = cursor.fetchall() + return search_result + + def write_changes_to_csv_file(filename, new_dataset, adding=True): """Adds new or update existing question or answer to the csv file""" existing_submits = read_file(filename) diff --git a/server.py b/server.py index a34652a7c..8e5727e16 100644 --- a/server.py +++ b/server.py @@ -172,6 +172,34 @@ def add_newstuff_withimage(question_id): return redirect(url_for("manage_questions", question_id=question_id)) +@app.route('/search') +def search_question(): + LABEL = 0 + ORDER = 1 + try: + label_to_sortby = request.args.getlist('sorting')[LABEL] + except: + label_to_sortby = "submission_time" + try: + order = request.args.getlist('sorting')[ORDER] + order = bool(order == "True") + except: + order = True + + header = ["submission time", "view number", "vote number", "title", "message"] + labels = ["submission_time", "view_number", "vote_number", "title", "message"] + search_phrase = request.args.get('q') + search_results = data_manager.search_question(search_phrase.lower()) + return render_template("list.html", + all_questions=search_results, + question_header=header, + file_labels=labels, + order={True: "Descending", False: "Ascending"}, + userpick_label=label_to_sortby, + userpick_order=order, + ) + + if __name__ == '__main__': app.run( host='0.0.0.0', diff --git a/static/index.css b/static/index.css index 65862a166..566a0f792 100644 --- a/static/index.css +++ b/static/index.css @@ -25,29 +25,30 @@ body{ font-size: 100px; } -.inner-container nav{ - text-align: center; - padding-top: 100px; -} .navigator-container{ overflow: auto; background-color: #0B2329; - padding-top: 10px; - padding-bottom: 5px; border-bottom: silver 4px solid; + justify-content: space-around; + display: flex; + flex-direction: column; +} + +.navigator-container input{ + margin-left: 25%; + padding-right: 10%; } .navigator-container nav a{ - text-align: left; - margin-right: 10px; - margin-left: 10px; color: white; text-decoration: none; font-weight: bold; font-family: 'Permanent Marker', cursive; font-size: 25px; background-clip: content-box; + + } .navigator-container form label{ @@ -58,6 +59,7 @@ body{ background-clip: content-box; opacity: 0.7; } + .navigator-float { float: right; margin-top: auto; diff --git a/static/questions-table.css b/static/questions-table.css index 407af8349..a25a64fbb 100644 --- a/static/questions-table.css +++ b/static/questions-table.css @@ -3,6 +3,7 @@ text-align: center; color: white; overflow: hidden; + width: 100%; } .table-container thead th{ diff --git a/templates/list.html b/templates/list.html index 02250e8fc..ca91c450e 100644 --- a/templates/list.html +++ b/templates/list.html @@ -20,7 +20,11 @@

AskMate

-+ {% endblock %} From ab50c6693d82c25d7f24c0485023f7fb3c6b67bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Tue, 26 Nov 2019 17:02:31 +0100 Subject: [PATCH 140/290] index.css fixed --- static/index.css | 12 +++++++++--- templates/list.html | 12 +++++++----- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/static/index.css b/static/index.css index 566a0f792..1275cfbb2 100644 --- a/static/index.css +++ b/static/index.css @@ -30,14 +30,19 @@ body{ overflow: auto; background-color: #0B2329; border-bottom: silver 4px solid; - justify-content: space-around; display: flex; flex-direction: column; + width: 100%; + padding: 15px 0; } -.navigator-container input{ +.search-bar{ + display: inline-block; margin-left: 25%; - padding-right: 10%; +} + +.search-bar input{ + padding-right: 150px; } .navigator-container nav a{ @@ -47,6 +52,7 @@ body{ font-family: 'Permanent Marker', cursive; font-size: 25px; background-clip: content-box; + margin-left: 1%; } diff --git a/templates/list.html b/templates/list.html index 9af6a831d..6d31df433 100644 --- a/templates/list.html +++ b/templates/list.html @@ -20,11 +20,13 @@

AskMate

+ {% if all_questions %}
{{ header | title}}{{ header | title}}
{{ question['id'] }} {{ question['submission_time'] }} {{ question['view_number'] }} {{ question['vote_number'] }}{{ question['vote_number'] }} {{ question['title'] }} {{ question['message'] }}No imageNo image
{{ question['vote_number'] }} {{ question['title'] }} {{ question['message'] }}No image
{{ question['submission_time'] }} {{ question['view_number'] }} {{ question['vote_number'] }}{{ question['title'] }}{{ question['title'] }} {{ question['message'] }}
{{ question['submission_time'] }} {{ question['view_number'] }} {{ question['vote_number'] }}{{ question['title'] }}{{ question['title'] }} {{ question['message'] }}
{{ question['submission_time'] }} {{ question['view_number'] }} {{ question['vote_number'] }}{{ question['title'] }}{{ question['title'] }} {{ question['message'] }}
- {% for header in question_header %} - {% if header != "id" %} - - {% endif %} - {% endfor %} + + + + + @@ -66,6 +67,9 @@ {% endfor %} + {% else %} +

No questions found

+ {% endif %}
{{ header | title}}Submission timeViewsVotesTitleMessage
{{ question['message'] }}
From b7e8f3c05c256eee2c70028dc81d89280a4a2c5f Mon Sep 17 00:00:00 2001 From: Bogi Kiss Date: Tue, 26 Nov 2019 20:41:08 +0100 Subject: [PATCH 143/290] restyle Edit/Delete/Comment Answers links --- templates/question-child.html | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/templates/question-child.html b/templates/question-child.html index af124e443..97b80c482 100644 --- a/templates/question-child.html +++ b/templates/question-child.html @@ -15,7 +15,9 @@ .votes { float: right; padding-rigt: 15px;} .button { float: right; padding-right: 20px; padding-left: 25px} .head {background: lightgrey; width: fit-content} - .delbtn {float:right; padding-right: 5px;} + .delbtn, .editbtn, .combtn {float:right; padding-right: 5px;} + + {% endblock %} @@ -57,7 +59,7 @@

{{ question['title'] }}

{% endif %} - +
From 3225f68bd4baa50960519de6790609fb08ee16ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 26 Nov 2019 22:56:20 +0100 Subject: [PATCH 144/290] Refactor old functions --- data_manager.py | 61 ++++++++----------------------------------------- server.py | 2 +- 2 files changed, 11 insertions(+), 52 deletions(-) diff --git a/data_manager.py b/data_manager.py index 2dcaa0bf3..05dff69db 100644 --- a/data_manager.py +++ b/data_manager.py @@ -6,18 +6,6 @@ import util from datetime import datetime -QUESTION_HEADERS = ["id", "submission_time", "view_number", "vote_number", "title", "message", "image"] -ANSWER_HEADERS = ["id", "submission_time", "vote_number", "question_id", "message", "image"] - - -def get_single_line_by_key(value_to_find, filename, key): - """Reads single answer or question from file by the given ID and cell name. Returns dictionary.""" - all_stories = read_file(filename) - - for story in all_stories: - if story[key] == value_to_find: - return story - def sort_dict(func): """decorator function, sorts data by given key and order""" @@ -106,17 +94,20 @@ def allowed_image(filename, extensions): return False ''' -def upload_image_path(filename, question_id, image_name): - """ appends the image_name to the 'imgage' column at the question_id" in given file +@connection.connection_handler +def upload_image_to_question(cursor, question_id, image_name): + """ appends the image_name to the 'image' column at the question_id ARGS: - filename(string) question_id(string): this is the ID that the image_name appends to image_name(string): validation is not happening here """ - content = get_single_line_by_key(question_id, filename, "id") - - content["image"] = image_name - write_changes_to_csv_file(filename, content, adding=False) + cursor.execute(""" + UPDATE question + SET image = %(image_name)s + WHERE id = %(question_id)s; + """, + {'image_name': image_name, + 'question_id': question_id}); ''' @connection.connection_handler @@ -257,38 +248,6 @@ def vote_answer(cursor, direction, answer_id): - -''' ->>>>>>> 2cbba391625886f74cfa9354a5045cb055c7e54c -def write_changes_to_csv_file(filename, new_dataset, adding=True): - """Adds new or update existing question or answer to the csv file""" - existing_submits = read_file(filename) - open_option = "a" if adding is True elsanswer_ide "w" - - with open(filename, open_option) as csv_file: - fieldnames = QUESTION_HEADERS if "question" in filename else ANSWER_HEADERS - writer = csv.DictWriter(csv_file, fieldnames=fieldnames) - - if adding is True: - writer.writerow(new_dataset) - - else: - writer.writeheader() - for submit in existing_submits: - if new_dataset["id"] == submit["id"]: - submit = new_dataset - writer.writerow(submit) -''' - -def read_file(filename): - all_data = [] - with open(filename, 'r') as csv_file: - csv_reader = csv.DictReader(csv_file) - for line in csv_reader: - all_data.append(dict(line)) - return all_data - - @connection.connection_handler def get_answer_by_answer_id(cursor, answer_id): cursor.execute(""" diff --git a/server.py b/server.py index d62e57390..f14f5a3b6 100644 --- a/server.py +++ b/server.py @@ -170,7 +170,7 @@ def upload_image(): filename = secure_filename(image.filename) image.save(os.path.join(app.config["IMAGE_UPLOADS"], filename)) question_id = request.form.get("question_id") - data_manager.upload_image_path(QUESTIONS_FILE_PATH, question_id, filename) + data_manager.upload_image_to_question(question_id, filename) print("Image saved") return redirect(request.referrer) From bac58046a5d7707c84b1d423dd158e17022b3efe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 26 Nov 2019 23:15:37 +0100 Subject: [PATCH 145/290] Add picture mechanics Old problems are back: you can only upload images at answers, it does not work anywhere else. Further problem: new question and answer form must have an 'image' part. --- data_manager.py | 4 +++- server.py | 2 +- templates/add_question_or_answer.html | 4 ++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/data_manager.py b/data_manager.py index 05dff69db..0ebc3edea 100644 --- a/data_manager.py +++ b/data_manager.py @@ -193,14 +193,16 @@ def update_question(cursor, question_id, updated_question): dt = datetime.now().strftime("%Y-%m-%d %H:%M:%S") cursor.execute(""" UPDATE question - SET submission_time = %(time)s, title = %(title)s, message = %(message)s + SET submission_time = %(time)s, title = %(title)s, message = %(message)s, image = %(new_image)s WHERE id = %(question_id)s; """, {'time':dt, 'title':updated_question['title'], 'message':updated_question['message'], + 'new_image': updated_question['image'], 'question_id':question_id}); + @connection.connection_handler def vote_question(cursor, direction, question_id): if direction == "vote_up": diff --git a/server.py b/server.py index f14f5a3b6..9861374bc 100644 --- a/server.py +++ b/server.py @@ -7,7 +7,7 @@ app = Flask(__name__) -app.config["IMAGE_UPLOADS"] = "./static/images/" +app.config["IMAGE_UPLOADS"] = "./static/" app.config["ALLOWED_IMAGE_EXTENSIONS"] = ["JPEG", "JPG", "PNG", "GIF"] app.config["MAX_IMAGE_FILESIZE"] = 0.5 * 1024 * 1024 diff --git a/templates/add_question_or_answer.html b/templates/add_question_or_answer.html index ba70897eb..79a7f2891 100644 --- a/templates/add_question_or_answer.html +++ b/templates/add_question_or_answer.html @@ -22,6 +22,10 @@

{{ 'Edit question' if question_id else 'Add new question' }}

+
+
+ +
From e8d76255bd99e5a77a9309c68f3cbed92d3ff83c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 26 Nov 2019 23:21:32 +0100 Subject: [PATCH 146/290] Add show picture on main page --- templates/list.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/templates/list.html b/templates/list.html index 666c4fc34..f05c40168 100644 --- a/templates/list.html +++ b/templates/list.html @@ -55,6 +55,7 @@ Votes Title Message + Image @@ -65,6 +66,7 @@ {{ question['vote_number'] }} {{ question['title'] }} {{ question['message'] }} + No image {% endfor %} {% else %} From bdf4a2d9b1af4d47daba52397b56467f02adeb62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Tue, 26 Nov 2019 23:28:45 +0100 Subject: [PATCH 147/290] Add image capabilities to /static/images folder Previous solution required upload to static folder only. Now can use older pictures from library. --- data_manager.py | 3 ++- server.py | 2 +- templates/edit-answer.html | 4 ++++ templates/list.html | 2 +- templates/question-child.html | 4 ++-- 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/data_manager.py b/data_manager.py index 0ebc3edea..2ff49618e 100644 --- a/data_manager.py +++ b/data_manager.py @@ -267,9 +267,10 @@ def update_answer(cursor, answer_id, update_answer): message = update_answer['message'] cursor.execute(""" UPDATE answer - SET submission_time = %(time)s, message = %(message)s + SET submission_time = %(time)s, message = %(message)s, image=%(new_image)s WHERE id = %(answer_id)s; """, {'time': dt, 'message': message, + 'new_image': update_answer['image'], 'answer_id': answer_id}); \ No newline at end of file diff --git a/server.py b/server.py index 9861374bc..0b2d4dda0 100644 --- a/server.py +++ b/server.py @@ -7,7 +7,7 @@ app = Flask(__name__) -app.config["IMAGE_UPLOADS"] = "./static/" +app.config["IMAGE_UPLOADS"] = "./static/images" app.config["ALLOWED_IMAGE_EXTENSIONS"] = ["JPEG", "JPG", "PNG", "GIF"] app.config["MAX_IMAGE_FILESIZE"] = 0.5 * 1024 * 1024 diff --git a/templates/edit-answer.html b/templates/edit-answer.html index 75ba1c0c5..e1a8dc6e3 100644 --- a/templates/edit-answer.html +++ b/templates/edit-answer.html @@ -16,6 +16,10 @@

{{ 'Edit answer' if answer_id else 'Add new answer' }}

+
+
+ +
diff --git a/templates/list.html b/templates/list.html index f05c40168..0ffb2bd0a 100644 --- a/templates/list.html +++ b/templates/list.html @@ -66,7 +66,7 @@ {{ question['vote_number'] }} {{ question['title'] }} {{ question['message'] }} - No image + No image {% endfor %} {% else %} diff --git a/templates/question-child.html b/templates/question-child.html index 97b80c482..23246d656 100644 --- a/templates/question-child.html +++ b/templates/question-child.html @@ -30,7 +30,7 @@

{{ question['title'] }}

No image

{{ question['submission_time'] }}

Voted: {{ question['vote_number'] }}

@@ -55,7 +55,7 @@

{{ question['title'] }}

{{ answer["message"] }}
{% if answer['image'] %} -
+
{% endif %} From 52f47a56b6696281ba7659bfa18622562ca71ad5 Mon Sep 17 00:00:00 2001 From: Rhyvan Date: Wed, 27 Nov 2019 09:13:06 +0100 Subject: [PATCH 148/290] replace python sort decorator with SQL sorting --- data_manager.py | 16 +++------------- server.py | 14 +++++++++----- 2 files changed, 12 insertions(+), 18 deletions(-) diff --git a/data_manager.py b/data_manager.py index 2ff49618e..df3559478 100644 --- a/data_manager.py +++ b/data_manager.py @@ -7,21 +7,11 @@ from datetime import datetime -def sort_dict(func): - """decorator function, sorts data by given key and order""" - def wrapper(*args, reverse=True, key="submission_time"): - data = func(*args) - array = sorted(data, key=lambda x: x[key], reverse=reverse) - return array - - return wrapper - - -@sort_dict @connection.connection_handler -def get_all_questions(cursor): +def get_all_questions(cursor, sortby, order): cursor.execute(""" - SELECT * from question""") + SELECT * from question + ORDER BY {0} {1}""".format(sortby, order)) # careful with this, no userinput allowed to go into here data = cursor.fetchall() return data diff --git a/server.py b/server.py index 0b2d4dda0..27fce8cd2 100644 --- a/server.py +++ b/server.py @@ -22,20 +22,24 @@ def show_questions(): ORDER = 1 try: label_to_sortby = request.args.getlist('sorting')[LABEL] + if label_to_sortby == None: #if has no value, request.args returns empty dict with value None + raise ValueError except: label_to_sortby = "submission_time" + try: order = request.args.getlist('sorting')[ORDER] - order = bool(order == "True") - except: - order = True + if order == None: + raise ValueError + except (IndexError, ValueError): + order = "DESC" - data = data_manager.get_all_questions(reverse=order, key=label_to_sortby) + data = data_manager.get_all_questions(label_to_sortby, order) labels = ["submission_time", "view_number", "vote_number", "title", "message"] return render_template("list.html", all_questions=data, file_labels=labels, - order={True: "Descending", False: "Ascending"}, + order={"DESC": "Descending", "ASC": "Ascending"}, userpick_label=label_to_sortby, userpick_order=order, ) From dd2b1bafba9c30e1e4824d26bc02afa37da5c642 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Wed, 27 Nov 2019 09:28:50 +0100 Subject: [PATCH 149/290] Add picture upload and modify --- data_manager.py | 8 ++++---- server.py | 17 +++++++++++++++-- templates/add_question_or_answer.html | 6 +++--- 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/data_manager.py b/data_manager.py index 2ff49618e..cc37f62b1 100644 --- a/data_manager.py +++ b/data_manager.py @@ -111,7 +111,7 @@ def upload_image_to_question(cursor, question_id, image_name): ''' @connection.connection_handler -def write_new_question_to_database(cursor, title, message): +def write_new_question_to_database(cursor, new_question): dt = datetime.now().strftime("%Y-%m-%d %H:%M:%S") cursor.execute(""" INSERT INTO question (submission_time, view_number, vote_number, title, message, image) @@ -120,9 +120,9 @@ def write_new_question_to_database(cursor, title, message): {"time": dt, "view_number": 0, "vote_number": 0, - "title": title, - "message": message, - "image": "" + "title": new_question['title'], + "message": new_question['message'], + "image": new_question["image"] }) diff --git a/server.py b/server.py index 0b2d4dda0..fbe4b6eee 100644 --- a/server.py +++ b/server.py @@ -45,7 +45,13 @@ def show_questions(): def add_new_question(): if request.method == 'POST': new_question = dict(request.form) - data_manager.write_new_question_to_database(new_question.get("title"), new_question.get("message")) + image = request.files['image'] + if image.filename == "" or image.filename is None: + new_question['image'] = "" + else: + image.save(os.path.join(app.config['IMAGE_UPLOADS'], image.filename)) + new_question["image"] = image.filename + data_manager.write_new_question_to_database(new_question) return redirect('/') return render_template('add_question_or_answer.html') @@ -109,11 +115,18 @@ def manage_questions(question_id): @app.route('/question//edit', methods=['GET', 'POST']) def edit_question(question_id): + current_question = data_manager.get_question_by_id(question_id) + if request.method == 'POST': updated_question = dict(request.form) + image = request.files['image'] + if image.filename == "" or image.filename is None: + updated_question['image'] = current_question["image"] + else: + image.save(os.path.join(app.config['IMAGE_UPLOADS'], image.filename)) + updated_question["image"] = image.filename data_manager.update_question(question_id, updated_question) return redirect("/") - current_question = data_manager.get_question_by_id(question_id) return render_template("add_question_or_answer.html", question_id=question_id, question=current_question) diff --git a/templates/add_question_or_answer.html b/templates/add_question_or_answer.html index 79a7f2891..121eb16ec 100644 --- a/templates/add_question_or_answer.html +++ b/templates/add_question_or_answer.html @@ -11,7 +11,7 @@

{{ 'Edit question' if question_id else 'Add new question' }}

- +
@@ -24,8 +24,8 @@

{{ 'Edit question' if question_id else 'Add new question' }}

- - + +
From 50e592b7b73e4b9d11939c0c67a02548955373d4 Mon Sep 17 00:00:00 2001 From: Rhyvan Date: Wed, 27 Nov 2019 10:20:52 +0100 Subject: [PATCH 150/290] add index page --- data_manager.py | 11 +++++++++++ server.py | 20 +++++++++++++++++--- templates/list.html | 3 ++- 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/data_manager.py b/data_manager.py index 29a2bba83..42fa6b660 100644 --- a/data_manager.py +++ b/data_manager.py @@ -16,6 +16,17 @@ def get_all_questions(cursor, sortby, order): return data +@connection.connection_handler +def get_latest_questions(cursor): + cursor.execute(""" + SELECT * from question + ORDER BY submission_time DESC + LIMIT 5; + """) + data = cursor.fetchall() + return data + + @connection.connection_handler def modify_view_number(cursor, question_id, modify_view=False): if modify_view: diff --git a/server.py b/server.py index 88a6acfd2..014fb4603 100644 --- a/server.py +++ b/server.py @@ -16,7 +16,21 @@ QUESTION_HEADERS = ["id", "submission_time", "view_number", "vote_number", "title", "message", "image"] ANSWER_HEADERS = ["id", "submission_time", "vote_number", "question_id", "message", "image"] + @app.route('/') +def index(): + data = data_manager.get_latest_questions() + labels = ["submission_time", "view_number", "vote_number", "title", "message"] + return render_template("list.html", + all_questions=data, + file_labels=labels, + order={"DESC": "Descending", "ASC": "Ascending"}, + userpick_label="submission_time", + userpick_order="DESC", + ) + + +@app.route('/list') def show_questions(): LABEL = 0 ORDER = 1 @@ -56,7 +70,7 @@ def add_new_question(): image.save(os.path.join(app.config['IMAGE_UPLOADS'], image.filename)) new_question["image"] = image.filename data_manager.write_new_question_to_database(new_question) - return redirect('/') + return redirect('/list') return render_template('add_question_or_answer.html') @@ -153,7 +167,7 @@ def edit_answer(question_id, answer_id): @app.route('/question//') def vote_questions(vote_method, question_id): data_manager.vote_question(vote_method, question_id) - return redirect('/') + return redirect('/list') @app.route('/answer///') @@ -171,7 +185,7 @@ def delete_answer(question_id, answer_id): @app.route('/question//delete') def delete_question(question_id): data_manager.delete_question(question_id) - return redirect('/') + return redirect('/list') @app.route('/upload-image', methods=['GET', 'POST']) diff --git a/templates/list.html b/templates/list.html index 0ffb2bd0a..1461635bd 100644 --- a/templates/list.html +++ b/templates/list.html @@ -13,13 +13,14 @@
{% endblock %} diff --git a/templates/question.html b/templates/question.html index b8c4adaaa..f033c2663 100644 --- a/templates/question.html +++ b/templates/question.html @@ -11,14 +11,16 @@ {% if addinganswer %} {% else %} - - - - - + + +
+ +
+ + {% endif %}

From ec6af631495df8617e86109cb8578a0db71e6827 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Wed, 27 Nov 2019 10:50:03 +0100 Subject: [PATCH 154/290] comment implement(not working) --- data_manager.py | 29 ++++++++++++----------------- server.py | 5 ++++- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/data_manager.py b/data_manager.py index 29a2bba83..913b555b7 100644 --- a/data_manager.py +++ b/data_manager.py @@ -83,22 +83,6 @@ def allowed_image(filename, extensions): else: return False -''' -@connection.connection_handler -def upload_image_to_question(cursor, question_id, image_name): - """ appends the image_name to the 'image' column at the question_id - ARGS: - question_id(string): this is the ID that the image_name appends to - image_name(string): validation is not happening here - """ - cursor.execute(""" - UPDATE question - SET image = %(image_name)s - WHERE id = %(question_id)s; - """, - {'image_name': image_name, - 'question_id': question_id}); -''' @connection.connection_handler def write_new_question_to_database(cursor, new_question): @@ -263,4 +247,15 @@ def update_answer(cursor, answer_id, update_answer): {'time': dt, 'message': message, 'new_image': update_answer['image'], - 'answer_id': answer_id}); \ No newline at end of file + 'answer_id': answer_id}) + +# @connection.connection_handler +# def find_comments(cursor, question_id, answers=None): +# cursor.execute(""" +# SELECT * FROM comment +# WHERE answer_id = %(answer_id)s OR question_id = %(question_id)s;""", +# {'answer_id':answers, +# 'question_id':question_id}) +# +# comments = cursor.fetchall() +# return comments diff --git a/server.py b/server.py index 88a6acfd2..79f80ee66 100644 --- a/server.py +++ b/server.py @@ -108,7 +108,10 @@ def manage_questions(question_id): data_manager.modify_view_number(question_id) current_question = data_manager.get_question_by_id(question_id) answers_to_question = data_manager.get_answers_by_question_id(question_id) - + # if answers_to_question: + # comments = data_manager.find_comments(question_id, answers_to_question) + # else: + # comments = data_manager.find_comments(question_id) return render_template("question-child.html", question=current_question, answers=answers_to_question, From 40c89b9a70ff6d919f8ec65db05f11fb008394ff Mon Sep 17 00:00:00 2001 From: Bogi Kiss Date: Wed, 27 Nov 2019 11:25:04 +0100 Subject: [PATCH 155/290] fix view counter --- data_manager.py | 10 ---------- server.py | 14 ++++++++++---- templates/list.html | 2 +- 3 files changed, 11 insertions(+), 15 deletions(-) diff --git a/data_manager.py b/data_manager.py index bf5169834..86a140c01 100644 --- a/data_manager.py +++ b/data_manager.py @@ -28,16 +28,6 @@ def get_latest_questions(cursor): return data -@connection.connection_handler -def modify_view_number(cursor, question_id, modify_view=False): - if modify_view: - cursor.execute(""" - UPDATE question - SET view_number = view_number + 1 - WHERE id = %(question_id)s - """, {'question_id': question_id}); - - @connection.connection_handler def modify_view_number(cursor, question_id): cursor.execute(""" diff --git a/server.py b/server.py index a5e2f0acd..7ed1d7375 100644 --- a/server.py +++ b/server.py @@ -36,7 +36,7 @@ def show_questions(): ORDER = 1 try: label_to_sortby = request.args.getlist('sorting')[LABEL] - if label_to_sortby == None: #if has no value, request.args returns empty dict with value None + if label_to_sortby == None: # if has no value, request.args returns empty dict with value None raise ValueError except: label_to_sortby = "submission_time" @@ -74,7 +74,7 @@ def add_new_question(): return render_template('add_question_or_answer.html') -@app.route('/question//new-answerD', methods=['GET', 'POST']) #### del the D from the end +@app.route('/question//new-answerD', methods=['GET', 'POST']) #### del the D from the end def add_new_answer(question_id): if request.method == 'POST': new_answer = dict(request.form) @@ -119,7 +119,7 @@ def manage_questions(question_id): else: addinganswer = False - data_manager.modify_view_number(question_id) + # data_manager.modify_view_number(question_id) current_question = data_manager.get_question_by_id(question_id) answers_to_question = data_manager.get_answers_by_question_id(question_id) @@ -131,6 +131,12 @@ def manage_questions(question_id): answer_headers=ANSWER_HEADERS) +@app.route('/modify_view/') +def modify_view(question_id): + data_manager.modify_view_number(question_id) + return redirect(url_for('manage_questions', question_id=question_id)) + + @app.route('/question//edit', methods=['GET', 'POST']) def edit_question(question_id): current_question = data_manager.get_question_by_id(question_id) @@ -227,7 +233,7 @@ def add_newstuff_withimage(question_id): new_answer = dict(request.form) if image.filename: - new_answer.update({"image": filename}) # ugly solution, a band-aid + new_answer.update({"image": filename}) # ugly solution, a band-aid else: new_answer.update({"image": ""}) diff --git a/templates/list.html b/templates/list.html index 1461635bd..3e7df0546 100644 --- a/templates/list.html +++ b/templates/list.html @@ -65,7 +65,7 @@ {{ question['submission_time'] }} {{ question['view_number'] }} {{ question['vote_number'] }} - {{ question['title'] }} + {{ question['title'] }} {{ question['message'] }} No image From 2d80f840fb93f66188cf2df91b123838444f263d Mon Sep 17 00:00:00 2001 From: Bogi Kiss Date: Wed, 27 Nov 2019 11:29:36 +0100 Subject: [PATCH 156/290] refactor --- server.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/server.py b/server.py index 8b56551fb..502e8b843 100644 --- a/server.py +++ b/server.py @@ -119,7 +119,6 @@ def manage_questions(question_id): else: addinganswer = False - # data_manager.modify_view_number(question_id) current_question = data_manager.get_question_by_id(question_id) answers_to_question = data_manager.get_answers_by_question_id(question_id) # if answers_to_question: @@ -241,7 +240,7 @@ def add_newstuff_withimage(question_id): new_answer.update({"image": ""}) data_manager.write_new_answer_to_database(question_id, new_answer) - return redirect(url_for("manage_questions", question_id=question_id, modify_view=False)) + return redirect(url_for("manage_questions", question_id=question_id)) @app.route('/search') From 472670dde20579d4bea5779ec8548f4c495a69a3 Mon Sep 17 00:00:00 2001 From: Rhyvan Date: Wed, 27 Nov 2019 11:44:20 +0100 Subject: [PATCH 157/290] display comments on html --- data_manager.py | 19 +++++++++---------- server.py | 9 +++++---- templates/question-child.html | 20 ++++++++++++++++---- 3 files changed, 30 insertions(+), 18 deletions(-) diff --git a/data_manager.py b/data_manager.py index c1fb4826f..5218defd4 100644 --- a/data_manager.py +++ b/data_manager.py @@ -287,13 +287,12 @@ def update_answer(cursor, answer_id, update_answer): 'new_image': update_answer['image'], 'answer_id': answer_id}) -# @connection.connection_handler -# def find_comments(cursor, question_id, answers=None): -# cursor.execute(""" -# SELECT * FROM comment -# WHERE answer_id = %(answer_id)s OR question_id = %(question_id)s;""", -# {'answer_id':answers, -# 'question_id':question_id}) -# -# comments = cursor.fetchall() -# return comments +@connection.connection_handler +def find_comments(cursor, question_id): + cursor.execute(""" + SELECT * FROM comment + WHERE question_id = %(question_id)s;""", + {'question_id': question_id}) + + comments = cursor.fetchall() + return comments diff --git a/server.py b/server.py index 502e8b843..2727908cb 100644 --- a/server.py +++ b/server.py @@ -121,11 +121,12 @@ def manage_questions(question_id): current_question = data_manager.get_question_by_id(question_id) answers_to_question = data_manager.get_answers_by_question_id(question_id) - # if answers_to_question: - # comments = data_manager.find_comments(question_id, answers_to_question) - # else: - # comments = data_manager.find_comments(question_id) + + comments = data_manager.find_comments(question_id) + return render_template("question-child.html", + question_id=int(question_id), + comments=comments, question=current_question, answers=answers_to_question, addinganswer=addinganswer, diff --git a/templates/question-child.html b/templates/question-child.html index de54c26e0..7ee5c2d65 100644 --- a/templates/question-child.html +++ b/templates/question-child.html @@ -16,6 +16,8 @@ .button { float: right; padding-right: 20px; padding-left: 25px} .head {background: lightgrey; width: fit-content} .delbtn, .editbtn, .combtn {float:right; padding-right: 5px;} + .comments {margin-top: 30px; margin-left: 30px; margin-right:30px; margin-bottom: 5px; color: black;} + @@ -37,11 +39,11 @@

{{ question['title'] }}

Viewed: {{ question['view_number'] }}

{{ question['message'] }}
-
+
{% for comment in comments %} - {% if comment["question_id"] == question_id %} -

{{ comment["message"] }}

-

{{ comment["submission_time"] }}, {{ comment["edited_count"] }}

+ {% if comment["question_id"] == question_id and comment["answer_id"] == None %} +
{{ comment["message"] }} +

{{ comment["submission_time"] }}, {{ comment["edited_count"] }}

{% endif %} {% endfor %}
@@ -62,9 +64,19 @@

{{ question['title'] }}

{{ answer["message"] }}
+ {% if answer['image'] %}
{% endif %} + +
+ {% for comment in comments %} + {% if comment["answer_id"] == answer["id"] %} +
{{ comment["submission_time"] }} edited: {{ comment["edited_count"] }}
+ {{ comment["message"] }} + {% endif %} + {% endfor %} +
From ce0e5b2f496dabc91801cf5182804d0b35220d10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Wed, 27 Nov 2019 11:51:46 +0100 Subject: [PATCH 158/290] modified data --- sample_data/askmatepart2-sample-data.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sample_data/askmatepart2-sample-data.sql b/sample_data/askmatepart2-sample-data.sql index 637f590e6..2043553f1 100644 --- a/sample_data/askmatepart2-sample-data.sql +++ b/sample_data/askmatepart2-sample-data.sql @@ -104,13 +104,13 @@ BUT in my theme i also using jquery via webpack so the loading order is now foll jquery booklet -app.js (bundled file with webpack, including jquery)', 'images/image1.png'); +app.js (bundled file with webpack, including jquery)', 'image1.png'); INSERT INTO question VALUES (2, '2017-05-01 10:41:00', 1364, 57, 'Drawing canvas with an image picked with Cordova Camera Plugin', 'I''m getting an image from device and drawing a canvas with filters using Pixi JS. It works all well using computer to get an image. But when I''m on IOS, it throws errors such as cross origin issue, or that I''m trying to use an unknown format. ', NULL); SELECT pg_catalog.setval('question_id_seq', 2, true); INSERT INTO answer VALUES (1, '2017-04-28 16:49:00', 4, 0, 'You need to use brackets: my_list = []', NULL); -INSERT INTO answer VALUES (2, '2017-04-25 14:42:00', 35, 0, 'Look it up in the Python docs', 'images/image2.jpg'); +INSERT INTO answer VALUES (2, '2017-04-25 14:42:00', 35, 0, 'Look it up in the Python docs', 'image2.jpg'); SELECT pg_catalog.setval('answer_id_seq', 2, true); INSERT INTO comment VALUES (1, 0, NULL, 'Please clarify the question as it is too vague!', '2017-05-01 05:49:00'); From eceb600d0326fa427f18b0b436dc9f4b5f1d44bf Mon Sep 17 00:00:00 2001 From: Rhyvan Date: Wed, 27 Nov 2019 12:39:04 +0100 Subject: [PATCH 159/290] add delete comments function --- server.py | 6 ++++++ templates/question-child.html | 9 ++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/server.py b/server.py index 2727908cb..74a4e9e33 100644 --- a/server.py +++ b/server.py @@ -191,6 +191,12 @@ def delete_answer(question_id, answer_id): return redirect(url_for("manage_questions", question_id=question_id)) +@app.route('///delete') +def delete_comment(question_id, comment_id): + data_manager.delete_comment(comment_id) + return redirect(url_for("manage_questions", question_id=question_id)) + + @app.route('/question//delete') def delete_question(question_id): data_manager.delete_question(question_id) diff --git a/templates/question-child.html b/templates/question-child.html index 7ee5c2d65..fabf7483d 100644 --- a/templates/question-child.html +++ b/templates/question-child.html @@ -43,7 +43,9 @@

{{ question['title'] }}

{% for comment in comments %} {% if comment["question_id"] == question_id and comment["answer_id"] == None %}
{{ comment["message"] }} -

{{ comment["submission_time"] }}, {{ comment["edited_count"] }}

+

{{ comment["submission_time"] }}, {{ comment["edited_count"] }} +

+
{% endif %} {% endfor %} @@ -69,11 +71,12 @@

{{ question['title'] }}

{% endif %} -
+
{% for comment in comments %} {% if comment["answer_id"] == answer["id"] %} -
{{ comment["submission_time"] }} edited: {{ comment["edited_count"] }}
+
{{ comment["submission_time"] }} edited: {{ comment["edited_count"] }}
{{ comment["message"] }} + {% endif %} {% endfor %}
From b800fc21bd7d6dc8e49dd3752b7b55c20cc12d76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tajti=20Bendeg=C3=BAz?= Date: Wed, 27 Nov 2019 12:41:22 +0100 Subject: [PATCH 160/290] main page messages sliced --- templates/list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/list.html b/templates/list.html index 3e7df0546..e783f5fb7 100644 --- a/templates/list.html +++ b/templates/list.html @@ -66,7 +66,7 @@ {{ question['view_number'] }} {{ question['vote_number'] }} {{ question['title'] }} - {{ question['message'] }} + {{ question['message'][:200] + '...' }} No image {% endfor %} From a41a134fdc8b59c57a68ca999377cff8285727f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Wed, 27 Nov 2019 12:49:42 +0100 Subject: [PATCH 161/290] add list page filter to show message --- templates/list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/list.html b/templates/list.html index e783f5fb7..5110cd134 100644 --- a/templates/list.html +++ b/templates/list.html @@ -66,7 +66,7 @@ {{ question['view_number'] }} {{ question['vote_number'] }} {{ question['title'] }} - {{ question['message'][:200] + '...' }} + {{ (question['message'][:200] + '...') if question['message'] | length > 200 else question['message'] }} No image {% endfor %} From 2b999606bd292377bed25d483e51c09b628b8fae Mon Sep 17 00:00:00 2001 From: Rhyvan Date: Wed, 27 Nov 2019 12:52:09 +0100 Subject: [PATCH 162/290] recycle bin image as delete --- static/images/recyclebin.jpg | Bin 0 -> 26475 bytes templates/question-child.html | 12 ++++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 static/images/recyclebin.jpg diff --git a/static/images/recyclebin.jpg b/static/images/recyclebin.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9c6d4e775e48c9ed74a2dc5b26173250ac91a28b GIT binary patch literal 26475 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 ZINC!1Nbb-?1TdK2Mi;?V@PUuF{vGBWwdnu= literal 0 HcmV?d00001 diff --git a/templates/question-child.html b/templates/question-child.html index fabf7483d..6206279f0 100644 --- a/templates/question-child.html +++ b/templates/question-child.html @@ -44,7 +44,11 @@

{{ question['title'] }}

{% if comment["question_id"] == question_id and comment["answer_id"] == None %}
{{ comment["message"] }}

{{ comment["submission_time"] }}, {{ comment["edited_count"] }} -

+
+ + + +
{% endif %} {% endfor %} @@ -76,7 +80,11 @@

{{ question['title'] }}

{% if comment["answer_id"] == answer["id"] %}
{{ comment["submission_time"] }} edited: {{ comment["edited_count"] }}
{{ comment["message"] }} - +
+ + + +
{% endif %} {% endfor %}
From e6337bfd07484a7ee83c9e4bd39e85c4ae8fee5e Mon Sep 17 00:00:00 2001 From: Rhyvan Date: Wed, 27 Nov 2019 13:07:10 +0100 Subject: [PATCH 163/290] add confirmation before delete --- templates/question-child.html | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/templates/question-child.html b/templates/question-child.html index 6206279f0..3c01f4b97 100644 --- a/templates/question-child.html +++ b/templates/question-child.html @@ -45,7 +45,8 @@

{{ question['title'] }}

{{ comment["message"] }}

{{ comment["submission_time"] }}, {{ comment["edited_count"] }}

@@ -81,7 +82,8 @@

{{ question['title'] }}

{{ comment["submission_time"] }} edited: {{ comment["edited_count"] }}
{{ comment["message"] }} From c8d3eeda0a8648cbcc57a54811f53b7b43e892ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Wed, 27 Nov 2019 13:13:32 +0100 Subject: [PATCH 164/290] Change commit submission time upon edition --- data_manager.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/data_manager.py b/data_manager.py index 5218defd4..ade162be1 100644 --- a/data_manager.py +++ b/data_manager.py @@ -159,12 +159,14 @@ def write_new_comment_to_database(cursor, data): @connection.connection_handler def edit_comment(cursor, comment_id, message): + dt = datetime.now().strftime("%Y-%m-%d %H:%M:%S") cursor.execute(""" UPDATE comment - SET message = %(message)s, edited_count = edited_count + 1 + SET message = %(message)s, edited_count = edited_count + 1, submission_time = %(submission_time)s WHERE id = %(comment_id)s; """, {'comment_id': comment_id, + 'submission_time': dt, 'message': message}) From 28ab269bc35e9852f876a695212f067986679938 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Wed, 27 Nov 2019 13:18:09 +0100 Subject: [PATCH 165/290] Add sort answers on questions page by vote and submission time --- data_manager.py | 1 + 1 file changed, 1 insertion(+) diff --git a/data_manager.py b/data_manager.py index ade162be1..8e3d954a2 100644 --- a/data_manager.py +++ b/data_manager.py @@ -196,6 +196,7 @@ def get_answers_by_question_id(cursor, question_id): cursor.execute(""" SELECT * FROM answer WHERE question_id = %(question_id)s + ORDER BY vote_number DESC, submission_time ASC; """, {'question_id': question_id}) From a4d600524c9636700e3b32856951dd59d60c096d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Wed, 27 Nov 2019 13:25:03 +0100 Subject: [PATCH 166/290] Add get commit function --- data_manager.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/data_manager.py b/data_manager.py index 8e3d954a2..bb97c8351 100644 --- a/data_manager.py +++ b/data_manager.py @@ -276,6 +276,15 @@ def get_answer_by_answer_id(cursor, answer_id): return data +@connection.connection_handler +def get_comment_by_comment_id(cursor, comment_id): + cursor.execute(""" + SELECT * FROM comment + WHERE id = %(comment_id)s + """, + {'comment_id': comment_id}) + + @connection.connection_handler def update_answer(cursor, answer_id, update_answer): dt = datetime.now().strftime("%Y-%m-%d %H:%M:%S") From fb25c8956c0f6d729ee80779d93358c88b3723e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Wed, 27 Nov 2019 13:26:16 +0100 Subject: [PATCH 167/290] Corrects get comment data --- data_manager.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/data_manager.py b/data_manager.py index bb97c8351..4135f8178 100644 --- a/data_manager.py +++ b/data_manager.py @@ -283,6 +283,8 @@ def get_comment_by_comment_id(cursor, comment_id): WHERE id = %(comment_id)s """, {'comment_id': comment_id}) + data = cursor.fetchone() + return data @connection.connection_handler From 2fce565f0dc7f114451057913e49babe33fca383 Mon Sep 17 00:00:00 2001 From: Rhyvan Date: Wed, 27 Nov 2019 13:35:15 +0100 Subject: [PATCH 168/290] add edit comment functions --- server.py | 17 +++++++++++++++++ templates/question-child.html | 2 ++ 2 files changed, 19 insertions(+) diff --git a/server.py b/server.py index 74a4e9e33..eeb32bc76 100644 --- a/server.py +++ b/server.py @@ -173,6 +173,23 @@ def edit_answer(answer_id): answer=current_answer) +@app.route('/comment//edit', methods=['GET', 'POST']) +def edit_comment(comment_id): + if request.method == "POST": + message = request.form.get("message") + data_manager.edit_comment(comment_id, message) + return redirect(request.referrer) + + message = data_manager.get_comment_by_comment_id(comment_id) + return render_template("comment.html", + id_type=None, + id=None, + sending_route='/comment//edit', + labelaction='Edit comment', + method="POST", + message=message,) + + @app.route('/question//') def vote_questions(vote_method, question_id): data_manager.vote_question(vote_method, question_id) diff --git a/templates/question-child.html b/templates/question-child.html index 3c01f4b97..dc82daef2 100644 --- a/templates/question-child.html +++ b/templates/question-child.html @@ -44,6 +44,7 @@

{{ question['title'] }}

{% if comment["question_id"] == question_id and comment["answer_id"] == None %}
{{ comment["message"] }}

{{ comment["submission_time"] }}, {{ comment["edited_count"] }} +

@@ -81,6 +82,7 @@

{{ question['title'] }}

{% if comment["answer_id"] == answer["id"] %}
{{ comment["submission_time"] }} edited: {{ comment["edited_count"] }}
{{ comment["message"] }} +
From b52b04c582b458605ed2f5b11b661ede50b2874c Mon Sep 17 00:00:00 2001 From: Rhyvan Date: Wed, 27 Nov 2019 13:51:55 +0100 Subject: [PATCH 169/290] add edit comment functions --- server.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/server.py b/server.py index eeb32bc76..c0a0e0384 100644 --- a/server.py +++ b/server.py @@ -177,17 +177,20 @@ def edit_answer(answer_id): def edit_comment(comment_id): if request.method == "POST": message = request.form.get("message") + question_id = request.form.get("question_id") data_manager.edit_comment(comment_id, message) - return redirect(request.referrer) - message = data_manager.get_comment_by_comment_id(comment_id) + return redirect(url_for('manage_questions', question_id=question_id)) + + commentdata = data_manager.get_comment_by_comment_id(comment_id) + return render_template("comment.html", - id_type=None, - id=None, - sending_route='/comment//edit', + id_type="question_id", + id=commentdata["question_id"], # need this for the post request redirection + sending_route=f'/comment/{comment_id}/edit', labelaction='Edit comment', method="POST", - message=message,) + message=commentdata["message"],) @app.route('/question//') From 4183debbcdfd4989809deb6957d0280724f09b64 Mon Sep 17 00:00:00 2001 From: Rhyvan Date: Wed, 27 Nov 2019 14:01:46 +0100 Subject: [PATCH 170/290] comment display sorted by id --- data_manager.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/data_manager.py b/data_manager.py index 4135f8178..ed80680a9 100644 --- a/data_manager.py +++ b/data_manager.py @@ -305,7 +305,8 @@ def update_answer(cursor, answer_id, update_answer): def find_comments(cursor, question_id): cursor.execute(""" SELECT * FROM comment - WHERE question_id = %(question_id)s;""", + WHERE question_id = %(question_id)s + ORDER BY id;""", {'question_id': question_id}) comments = cursor.fetchall() From 46780a51e9aed6bb6b98c44124b8b39d673778ca Mon Sep 17 00:00:00 2001 From: Bogi Kiss Date: Wed, 27 Nov 2019 14:01:58 +0100 Subject: [PATCH 171/290] add manage-question.css --- static/manage-question.css | 60 +++++++++++++++++++++++++++++++++++ templates/question-child.html | 20 ------------ templates/question.html | 3 +- 3 files changed, 62 insertions(+), 21 deletions(-) create mode 100644 static/manage-question.css diff --git a/static/manage-question.css b/static/manage-question.css new file mode 100644 index 000000000..ba12aa3f6 --- /dev/null +++ b/static/manage-question.css @@ -0,0 +1,60 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; + font-family: sans-serif; +} + +body { + background-color: #0B2329; + + } + +h1 { + color: #F7F7F7F7; + margin-bottom: 50px; + padding-top: 50px; + text-align: center; +} + +.block { + background-color: #F7F7F7F7; +} + +.questioncontent { + display: block; +} + +.message:nth-of-type(odd) { + background-color: #285369; + border: 3px solid lightgrey; + color: #f7f7f7f7; +} + +.head { + color: black; +} + + + + diff --git a/templates/question-child.html b/templates/question-child.html index fabf7483d..cfa247c05 100644 --- a/templates/question-child.html +++ b/templates/question-child.html @@ -1,26 +1,6 @@ {% extends "question.html" %} {% block head %} - {% endblock %} {% block title %}{% endblock %} diff --git a/templates/question.html b/templates/question.html index f033c2663..1a90b3ceb 100644 --- a/templates/question.html +++ b/templates/question.html @@ -3,6 +3,7 @@ {{ question['title'] }} + {% block head %} {% endblock %} @@ -23,7 +24,7 @@ {% endif %}

-

+ {% if answers %} {% for answer in answers %} {% block comment scoped %} From 431ec6abd4bc7fb42303dbc1aee9ad3b962d2942 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Wed, 27 Nov 2019 14:19:50 +0100 Subject: [PATCH 172/290] Refactor: delete util.py and dependencies --- data_manager.py | 1 - server.py | 1 - util.py | 20 -------------------- 3 files changed, 22 deletions(-) delete mode 100644 util.py diff --git a/data_manager.py b/data_manager.py index ed80680a9..150fb3b62 100644 --- a/data_manager.py +++ b/data_manager.py @@ -3,7 +3,6 @@ import connection import psycopg2 import connection -import util from datetime import datetime diff --git a/server.py b/server.py index c0a0e0384..f8da576bb 100644 --- a/server.py +++ b/server.py @@ -3,7 +3,6 @@ import os import data_manager import connection -import util app = Flask(__name__) diff --git a/util.py b/util.py deleted file mode 100644 index 0199149c9..000000000 --- a/util.py +++ /dev/null @@ -1,20 +0,0 @@ -from datetime import datetime -import calendar -import csv -import connection -import data_manager - -LIST_START = 0 - -def sort_array(array, key, reverse): - """sorts a dictionary by given keyname - - ARGS: - array(dictionary) - key(string): key of dictionary, you want to sort by - reverse(boolean): sorting is reversed (True) or not (False) - """ - - array = sorted(array, key=lambda x: x[key], reverse=reverse) - return array - From 1809c6fd781f9585025b388582b701bfb4d4cb1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Wed, 27 Nov 2019 14:29:37 +0100 Subject: [PATCH 173/290] Refactor vote on answer --- server.py | 6 ++++-- templates/question-child.html | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/server.py b/server.py index f8da576bb..b60f8c4fb 100644 --- a/server.py +++ b/server.py @@ -198,9 +198,11 @@ def vote_questions(vote_method, question_id): return redirect('/list') -@app.route('/answer///') -def vote_answers(vote_method, answer_id, question_id): +@app.route('/answer//') +def vote_answers(vote_method, answer_id): data_manager.vote_answer(vote_method, answer_id) + question = data_manager.get_answer_by_answer_id(answer_id) + question_id = question["question_id"] return redirect(url_for("manage_questions", question_id=question_id)) diff --git a/templates/question-child.html b/templates/question-child.html index 52dd30d62..80b7fa895 100644 --- a/templates/question-child.html +++ b/templates/question-child.html @@ -46,9 +46,9 @@

{{ question['title'] }}

{{ answer["submission_time"] }}
Username
Posted:
-
+
{{ answer["vote_number"] }}
-
+
{{ answer["message"] }}
From aa434f1e7571d9814b3e8b392708812c4c663d19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Wed, 27 Nov 2019 14:32:57 +0100 Subject: [PATCH 174/290] Refactor delete answer to original spec --- server.py | 10 ++++++---- templates/question-child.html | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/server.py b/server.py index b60f8c4fb..f14a8efcb 100644 --- a/server.py +++ b/server.py @@ -201,13 +201,15 @@ def vote_questions(vote_method, question_id): @app.route('/answer//') def vote_answers(vote_method, answer_id): data_manager.vote_answer(vote_method, answer_id) - question = data_manager.get_answer_by_answer_id(answer_id) - question_id = question["question_id"] + answer = data_manager.get_answer_by_answer_id(answer_id) + question_id = answer["question_id"] return redirect(url_for("manage_questions", question_id=question_id)) -@app.route('/answer///delete') -def delete_answer(question_id, answer_id): +@app.route('/answer//delete') +def delete_answer(answer_id): + answer = data_manager.get_answer_by_answer_id(answer_id) + question_id = answer["question_id"] data_manager.delete_answer(answer_id) return redirect(url_for("manage_questions", question_id=question_id)) diff --git a/templates/question-child.html b/templates/question-child.html index 80b7fa895..1c0e05801 100644 --- a/templates/question-child.html +++ b/templates/question-child.html @@ -73,7 +73,7 @@

{{ question['title'] }}

{% endfor %}
- +
From ed521806fdbd64c2fbb59940e9fcf6a924b74a62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Wed, 27 Nov 2019 14:38:34 +0100 Subject: [PATCH 175/290] Refactor code --- server.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/server.py b/server.py index f14a8efcb..5fdb5e535 100644 --- a/server.py +++ b/server.py @@ -2,7 +2,6 @@ from werkzeug.utils import secure_filename import os import data_manager -import connection app = Flask(__name__) @@ -226,7 +225,7 @@ def delete_question(question_id): return redirect('/list') -@app.route('/upload-image', methods=['GET', 'POST']) +'''@app.route('/upload-image', methods=['GET', 'POST']) def upload_image(): if request.method == "POST": if request.files: @@ -246,10 +245,11 @@ def upload_image(): else: print("not allowed image") return redirect(request.referrer) +''' @app.route('/question//new-answer', methods=['GET', 'POST']) -def add_newstuff_withimage(question_id): +def add_new_answer_with_image(question_id): if request.method == "POST": if request.files: image = request.files["image"] From ab49e6b631c66126d6efe604a67bb83203546e62 Mon Sep 17 00:00:00 2001 From: Bogi Kiss Date: Wed, 27 Nov 2019 14:55:54 +0100 Subject: [PATCH 176/290] change nav links in question --- static/images/26012951.jpg | Bin 0 -> 59131 bytes static/manage-question.css | 26 ++++++++++++++++++-------- templates/question-child.html | 12 +++++++++++- templates/question.html | 20 +++++++------------- 4 files changed, 36 insertions(+), 22 deletions(-) create mode 100644 static/images/26012951.jpg diff --git a/static/images/26012951.jpg b/static/images/26012951.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0c8ed30811939dfda6a4ca7a473a070b1b817cd9 GIT binary patch literal 59131 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%0D<^Tf1)G4#3t~pPcjAFjK$Hu%<-U0Ic6wZr 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 literal 0 HcmV?d00001 diff --git a/static/manage-question.css b/static/manage-question.css index ba12aa3f6..a2ba15444 100644 --- a/static/manage-question.css +++ b/static/manage-question.css @@ -10,15 +10,15 @@ body { } -h1 { - color: #F7F7F7F7; - margin-bottom: 50px; - padding-top: 50px; - text-align: center; -} + .block { background-color: #F7F7F7F7; + overflow: hidden; + margin: 30px; + padding: 20px 20px; + border-radius: 10px; + } .questioncontent { @@ -27,18 +27,28 @@ h1 { .message:nth-of-type(odd) { background-color: #285369; - border: 3px solid lightgrey; + border: 2.5px solid lightgrey; color: #f7f7f7f7; + width: 90%; + margin: 20px 20px 20px 100px; + border-radius: 10px; } .head { color: black; + border-bottom-right-radius: 3px; + padding-bottom: 4px; +} + +.nav { + float:right; + padding-right: 5px; } -{% endblock %} + --> -{% block title %}{% endblock %} -{% block header %}{% endblock %} +{% block answer %} +
+
+
+ +

{{ answer["vote_number"] }}

+ +
+
-{% block question %} -

{{ question['title'] }}

-
-
- No image -

{{ question['submission_time'] }}

-

Voted: {{ question['vote_number'] }}

-

Viewed: {{ question['view_number'] }}

+
+
+ {{ answer["message"] }} + {% if answer['image'] %} +
+ {% endif %} +
+ +
-
{{ question['message'] }}
{% for comment in comments %} - {% if comment["question_id"] == question_id and comment["answer_id"] == None %} -
{{ comment["message"] }} -

{{ comment["submission_time"] }}, {{ comment["edited_count"] }} -

-
- - - -
-
- {% endif %} - {% endfor %} -
-
+ {% if comment["answer_id"] == answer["id"] %} -{% endblock %} - - -{% block comment %} -
-
-
{{ answer["submission_time"] }} -
Username
-
Posted:
-
-
{{ answer["vote_number"] }}
-
-
-
-
{{ answer["message"] }}
- - {% if answer['image'] %} -
- {% endif %} - -
- {% for comment in comments %} - {% if comment["answer_id"] == answer["id"] %} -
{{ comment["submission_time"] }} edited: {{ comment["edited_count"] }}
- {{ comment["message"] }} - -
+
{{ comment["message"] }}
+ - {% endif %} - {% endfor %} -
- - - -
+ {% endif %} +
+ {% endif %} + {% endfor %}
+
{% endblock %} diff --git a/templates/question.html b/templates/question.html index f033c2663..54d92f5a4 100644 --- a/templates/question.html +++ b/templates/question.html @@ -1,45 +1,102 @@ + {{ question['title'] }} {% block head %} {% endblock %} - {% block question %} {% endblock %} - - {% if addinganswer %} +
+ + No image +

{{ question['title'] }}

+
+
+
- {% else %} - +

Viewed: {{ question['view_number'] }}

-
- -
+
+
+
{{ question['message'] }}
+ +
+
- +
+
+ {% for comment in comments %} + {% if comment["question_id"] == question_id and comment["answer_id"] == None %} + {{ comment["message"] }} + + + {% endif %} + {% endfor %} +
+
+ + + {% if addinganswer %} + {% block givinganswer %}{% endblock %} + {% else %} + +
+ +
{% endif %} +

{% if answers %} {% for answer in answers %} - {% block comment scoped %} - {% endblock%} + {% block answer scoped %} {% endblock%} {% endfor %} {% else %}

There are no answers to this question yet

{% endif %} - {% if addinganswer %} - {% block givinganswer %}{% endblock %} - {% else %} -
- -
- {% endif %} From 4b415f68ed49d15674bb36fbbc8c0302951de223 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Thu, 28 Nov 2019 13:05:48 +0100 Subject: [PATCH 186/290] Add style to add and edit comment page --- static/comment.css | 41 +++++++++++++++++++++++++++++++++++++++++ templates/comment.html | 3 ++- 2 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 static/comment.css diff --git a/static/comment.css b/static/comment.css new file mode 100644 index 000000000..eada1c8d0 --- /dev/null +++ b/static/comment.css @@ -0,0 +1,41 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; + font-family: sans-serif; +} + +title { + color: #f7f7f7f7; + background-color: #327594; +} + +body { + background-color: #0B2329; + + } + +body form label { + color: #f7f7f7f7; + background-color: #327594; + margin: 2em 1em; + padding: 10px 10px; + border-radius: 3px; +} + +body form textarea { + margin: 2em 1em; +} + +body form button { + margin-left: 20em; +} + +.block { + background-color: #F7F7F7F7; + overflow: hidden; + margin: 30px; + padding: 20px 20px; + border-radius: 10px; + +} \ No newline at end of file diff --git a/templates/comment.html b/templates/comment.html index 1c91b4525..6cd221b61 100644 --- a/templates/comment.html +++ b/templates/comment.html @@ -2,6 +2,7 @@ + {{ labelaction }} @@ -10,7 +11,7 @@
                 
                 
-                
+                
             
From b609ba9bbaef2cf152282d72b45b037f9f45b2d5 Mon Sep 17 00:00:00 2001 From: Rhyvan Date: Thu, 28 Nov 2019 14:06:18 +0100 Subject: [PATCH 187/290] fix css --- static/manage-question.css | 65 ++++++++++++++++++++--------------- templates/question-child.html | 31 +++++++++-------- templates/question.html | 18 ++++++---- 3 files changed, 65 insertions(+), 49 deletions(-) diff --git a/static/manage-question.css b/static/manage-question.css index fc3ab687f..68f64e215 100644 --- a/static/manage-question.css +++ b/static/manage-question.css @@ -1,65 +1,76 @@ -* { - margin: 0; - padding: 0; - box-sizing: border-box; - font-family: sans-serif; -} - body { background-color: #0B2329; } +ul {list-style-type: none;} +h1, h3 {color: white;} +a {text-decoration: none; color: white;} +#bignum {font-size: 2em; color: blue;} +.title {display: flex; align-items: baseline} .block { - background-color: #F7F7F7F7; - overflow: hidden; - margin: 30px; - padding: 20px 20px; border-radius: 10px; - + background-color: #F7F7F7F7; + border: 2px solid #285369; + /* overflow: hidden; */ + display:flex; + flex-direction:row; } +.column {display: flex; flex-direction: column; max-width: 25vh; align-items: center; padding: 10px; border-radius: 10px} +.content {display: flex; flex: 1 1 auto; flex-direction: column; border-left: 4px solid #285369;} +.msg {background: white; flex: 1 1 auto; border-radius: 0 10px 0 0; padding: 10px;} +.navbar {display: flex; justify-content: right; align-items: center; background-color: #327594; height: min-content; border-radius: 0 0 10px 0; color: white;} +.navbar > * {margin-right: 10px;} +.comments {padding-left: 25vh; margin-top: 10px; opacity: 0.8;} +.comments > * {margin: 10px;} +.answerblock {margin: 20px;} -.questioncontent { - display: block; -} -.message:nth-of-type(odd) { +/* * { + margin: 0; + padding: 0; + box-sizing: border-box; + font-family: sans-serif; +} */ + + +/**.message:nth-of-type(odd) { background-color: #285369; border: 2.5px solid lightgrey; color: #f7f7f7f7; width: 90%; margin: 20px 20px 20px 100px; border-radius: 10px; -} +} **/ -.head { +/*.head { color: black; border-bottom-right-radius: 3px; padding-bottom: 4px; -} +} */ -.nav { +/* .nav { float:top; padding-right: 5px; -} +} */ -.comments { +/* .comments { background-color: #327594; width: 60%; margin: 30px 30px 5px auto; color: black; -} +} */ -.block .comments { +/* .block .comments { float:right; padding: 0; margin: 0; border-radius: 0; -} +} */ .imgblock:hover { position: absolute; @@ -73,7 +84,7 @@ body { transition: transform .25s ease; } - + */ diff --git a/templates/question-child.html b/templates/question-child.html index 945cb00c0..dd0a71392 100644 --- a/templates/question-child.html +++ b/templates/question-child.html @@ -55,21 +55,22 @@
{% for comment in comments %} {% if comment["answer_id"] == answer["id"] %} - -
{{ comment["message"] }}
-
-
+ {% for comment in comments %} {% if comment["question_id"] == question_id and comment["answer_id"] == None %} - {{ comment["message"] }} - +
+
+ {{ comment["message"] }} +
+
{% endif %} {% endfor %} -
+
@@ -88,7 +92,7 @@

{{ question['title'] }}

{% endif %}

-

+

Answers:

{% if answers %} {% for answer in answers %} {% block answer scoped %} {% endblock%} From 87a6305796995e324ae1b5df8b5566a5a2c086da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Thu, 28 Nov 2019 14:25:33 +0100 Subject: [PATCH 188/290] Rewrite zoom picture and edit time --- static/manage-question.css | 19 +++++++++++++++---- templates/question-child.html | 6 ++++-- templates/question.html | 12 +++++++----- 3 files changed, 26 insertions(+), 11 deletions(-) diff --git a/static/manage-question.css b/static/manage-question.css index 68f64e215..57297fc26 100644 --- a/static/manage-question.css +++ b/static/manage-question.css @@ -8,7 +8,7 @@ h1, h3 {color: white;} a {text-decoration: none; color: white;} #bignum {font-size: 2em; color: blue;} -.title {display: flex; align-items: baseline} +.title {display: flex; min-height: 280px; align-items: baseline} .block { border-radius: 10px; @@ -72,16 +72,27 @@ a {text-decoration: none; color: white;} } */ +#no_answer { + color: white; +} + +.imgblock { + max-height: 300px; + max-width: 300px; +} + .imgblock:hover { position: absolute; - align-items: center; - transform: scale(4) translate(+50%, +20%); + transform: scale(3) translate(+35%, +35%); transition: transform .25s ease; + z-index: 1; } .image:hover { - transform: scale(5) translate(+50%); + position: absolute; + transform: scale(5) translate(+40%, +20%); transition: transform .25s ease; + z-index: 1; } /* */ diff --git a/templates/question.html b/templates/question.html index 6319a1c3f..4f5c46b43 100644 --- a/templates/question.html +++ b/templates/question.html @@ -23,12 +23,12 @@
- No image

{{ question['title'] }}

+
From 6a81c692d1cdd0f3406a0da3eb585eb583e5a7d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Thu, 28 Nov 2019 15:09:29 +0100 Subject: [PATCH 193/290] Reverse changes --- static/manage-question.css | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/static/manage-question.css b/static/manage-question.css index 0861f418b..64295deef 100644 --- a/static/manage-question.css +++ b/static/manage-question.css @@ -61,7 +61,7 @@ a {text-decoration: none; color: white;} border-radius: 10px; } **/ -/* + .imgblock { max-height: 300px; @@ -76,7 +76,8 @@ a {text-decoration: none; color: white;} position: absolute; transform: scale(3) translate(+35%, +35%); transition: transform .25s ease; - z-index: 1; + z-index: 1;No image + } .image:hover { From 3b9ae9afd4b60986f0e68e7211d7ca07225d3513 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dr=2E=20Simon=20B=C3=A1lint?= Date: Thu, 28 Nov 2019 15:18:06 +0100 Subject: [PATCH 194/290] Corrects none input in comment edit time on dispaly --- templates/question.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/templates/question.html b/templates/question.html index 4f5c46b43..f618e3016 100644 --- a/templates/question.html +++ b/templates/question.html @@ -64,7 +64,9 @@

{{ question['title'] }}

diff --git a/templates/question.html b/templates/question.html index c89329475..6eb73e539 100644 --- a/templates/question.html +++ b/templates/question.html @@ -41,11 +41,11 @@

{{ question['title'] }}

{{ question['message'] | safe }}