From 3f0c355578f6913820b6b410f29cec748c961820 Mon Sep 17 00:00:00 2001 From: Eljakim Herrewijnen Date: Thu, 22 Sep 2022 17:15:32 +0200 Subject: [PATCH] Cleaning up code --- __pycache__/main.cpython-39.pyc | Bin 1381 -> 644 bytes __pycache__/plots.cpython-39.pyc | Bin 1365 -> 818 bytes flaskapp.py | 9 ++-- main.py | 31 +++---------- plots.py | 74 ++++++++++++++++++++----------- 5 files changed, 58 insertions(+), 56 deletions(-) diff --git a/__pycache__/main.cpython-39.pyc b/__pycache__/main.cpython-39.pyc index 88ded3b5ea9c0865adbe2786b9ed7a1629149e8b..c544e39d5feb84410125841e85411f8d6043710c 100644 GIT binary patch delta 434 zcmXX>O-lnY5KXe1-R*wWst8JN#Y3Tr2k|5xEEK#{&|5CDHL27lUCC|*QBbf~54C@w zJ^CXA5B><*y9fV;nQasDX7XNU-sIPx&^U=AADQ+2*t-6)rg8mwVs0F9ED?i9BvynG zyyPrq8P1ZnqKqnsIm%^jsoBy~73P;Ym4OObxT=X*B&djAF{_H|e2qH`%w6tHkYQ>f z=9MAQFQR(8&V3&6diVxr_!2dvKbWlB#D#nMkc;f>eEM~9Kn&M5C-V&CXpR@iyv5xn zDd?R{^NiULK9GiwX@54yjqL!atN!3-tVIOH&;=14&YtYX-bUf*WW-ZdkU^?JDx6-D ziKD}U_GOX{wPiSM1JK#0z1wn3%EC_BubqtUlZ@3=l7ovJ^!ArV+J%D3JKgDoCMzsG l9<7D~p&Ty&!8=wdA4_opHrbW|4~N*pn+8oJW@F#-@IS8fVEzCA literal 1381 zcmZ8hOK%%D5awfdwOXxY$teP-KwGsJK|moDMUJwNHf@St>;U#@fnq_6^mgrig`@)8 zSe+d75FiEm52R!N60be^+?!7wuIgG1g_-4WhQs+dAH}-e0Kqsu7%hJH5c=H;!(Z{|+c&VwkxNKnza#Zf52b(gyv z%st+EhhU{A!iz5Vd7B3b;hhhJhrHW(_C$yGE{XgNBKmxf_xa!hfvorhjrZ@M9&|LO z#(kABb!oaeyA-h$swxX5OiPM4OQG}_o4r?QvXtT_E8a5oU6R0(w_Uo&(}hj5J1`h8 zL6k+_97T?9E@tPY%!h2D)3P`mO{=Wbld4EY!(8ZJOMW=2N~K5hSz1&}J=E8gI2>tl zrANbp|B0jzCqJtD&!)00_4KtYFT_Ht>CrM5GM(lu zEhg2qajdszD<+^2k+z{X?f+^t^rs(Bjr02WnEN=uA@*<+ zYy3F2JdWej^!<~j2QC+9%LKrbQjZ660D0tBpe%fN=hF7JDZja>=!=|bi#totCTDDM zDGIJ0CNWDAX?ZQb1QiW-LIETEB{a8hYp{M1CIM?L{~A@wN$rF|Sc_3=MD#$8PS diff --git a/__pycache__/plots.cpython-39.pyc b/__pycache__/plots.cpython-39.pyc index 5bc26365ce7eec3780a781e3deff3d0ce5f3e152..3cec24381170f0365aa98f3e337453567955de1b 100644 GIT binary patch literal 818 zcmYjOJ5Ss|5Z;Gh2X_ZVsS+unLzWOOf+!M#k{}_aAxP=mSbN?%%iukmT^j{-RHTiR zK8kc#<}YoVioZaWSreoiYd+6w=P5>`HG=f>ayNey5%Sk5tHe?HfNW+6l1N$+MN>+h z%qpgM%9WRTz0UvZe(I|r4SJhbg(^x1z3f+OYCT==<)9j-L*OvFqv;sNiwzkrsf^^{ zJ3-5)48D?h?H+5AnA-5ubqnV6mzY`qq!Q-BZfKZE&{+$rsYDAg*RE4LQsM$K4W_AQ z25hL|vIEm%j*XMD=rkOQ*_ALKivmr-qv`a4Cb_HhL>>x`kCDw8LQC$*Et!)AU6NZm zrwb;jWCdH|9$Jn*HYexaoJlUd9}I2&BABy9xFk!uh@`)yw_FBu{)@=)H^<4M(|d|} z?-_#S&8+WcT5Ba*>kE^Y<<0hCsful*^Y=SawBl{4L;(qgzMBXG2m8A>d?z`I2O6(N zY-GAgQ`N1pp8M%OacIO9Ov}Osk5BAia$$prh<&L$Qsk>o+FzxoNeFp)8eT^G%IjeHAHxc;-UfDbenJ5Y!x~SpmE$!CI8yod|&4hw1vs^Td^>y8~(0A0&wE{2u@IzJ0u7V@CK;s4)(oLLUh+o8_Afo>OlAY4F literal 1365 zcmZuw&2H2%5VoD4O}D$SMHT9*v`8EfInd?A1%!YC1q7>#MMy+Qk%`?UyV)ezUQk!d ziE`w`Q}9Z;a^e*@G2^sVD0Sq?j6MFwo^OVCyKMsF+U@Jf50{W%Xf%fd#(kLjItW1o z%}7M;pGA&fk-JBPBith*+^;P11Rask`whNixVXBTP7b8fH=jzSwsB0(I#OH zWYj&FyD;??5KFowF)?()jDz69`R>4qD+mC&!{2z|54{tzDA3ciRK;gqIa-#XSGC8A z3mIprHWe#H6e!6>49}_Bd#@fmdK|xaHhK*^I%JirWp}285jg@`$PeXfk%F& zhEAD!2Rb{^mt?|l3fhO&DeIFj&JsQW+7i6Mc9-x8rw^n~L4NU;@LAhKdqji}6I0b1 zF1AL=hoZ3$Ry% zYD-ToItbF+lV()oJUo00I2U16;})SCbe;B`9__Kkl_oJ~k0cb`j|b{lR+gX(pa3ak z0u<3Ym2?ONe<_&Q3pR<IxUM0Fd!y$aUUW> z7n5(6eoG}AF8VdpIedi7X1H>)A_?94Vm&}pYak+j4_o5D6kgorSu)SKkuRl4dA<$4 z^{v@rvw7" +def plot_figure(): + return plots.plot() -@app.route('/plot.png', methods = ['GET', 'POST']) -def plot() : - fig = Figure() - axis = fig.add_subplot(1, 1, 1) - - if request.method == 'GET' : - xs = range(100) - ys = [random.randint(1, 50) for x in xs] - - if request.method == 'POST' : - ys = map( float, request.form['data'].strip().split(',') ) - xs = range(len(ys)) - - axis.plot(xs, ys) - canvas = FigureCanvas(fig) - output = io.BytesIO() - canvas.print_png(output) - response = make_response(output.getvalue()) - response.mimetype = 'image/png' - return response - - if __name__ == '__main__': app.run(debug=True, port=5002) diff --git a/plots.py b/plots.py index fe5ca09..75ef879 100644 --- a/plots.py +++ b/plots.py @@ -1,32 +1,56 @@ -import pandas as pd -import numpy as np -GRADE_LIST = "Cijfers-HerrewijnenJonathan.csv" +from io import BytesIO +from flask import Flask, render_template +# app = Flask("Project Numeri") +from flask import Flask, make_response, request +from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas +from matplotlib.figure import Figure +import base64 -class Cijferlijst: - def __init__(self, grade_list=GRADE_LIST): - self.grade_list = grade_list - self.ps = pd.read_csv(GRADE_LIST, skiprows=2, sep=';') +app = Flask(__name__) - ''' - Get all data from a subject and a (yearly) period: - GetSubjectByYear("godsdienst", "2010/2011") - ''' - def GetSubjectByYear(self, subject, year): - if(type(subject) == str and type(year) == str): - select_year = self.ps[self.ps['Schooljaar(Voortgangsdossier)'] == year] - select_subject = select_year[select_year["Vak(Voortgangsdossier)"] == subject] +def plot(): + # Generate the figure **without using pyplot**. + fig = Figure() + ax = fig.subplots() + ax.plot([1, 2]) + # Save it to a temporary buffer. + buf = BytesIO() + fig.savefig(buf, format="png") + # Embed the result in the html output. + data = base64.b64encode(buf.getbuffer()).decode("ascii") + return f"" - #filter period and rapport - rapports = select_subject[select_subject['Cijfertype(Voortgangsdossier)'] != "Periodegemiddelde"] - return rapports[rapports ['Cijfertype(Voortgangsdossier)'] != "Rapportcijfer"] - else: - return False + +# import pandas as pd +# import numpy as np + +# GRADE_LIST = "Cijfers-HerrewijnenJonathan.csv" + +# class Cijferlijst: +# def __init__(self, grade_list=GRADE_LIST): +# self.grade_list = grade_list +# self.ps = pd.read_csv(GRADE_LIST, skiprows=2, sep=';') + +# ''' +# Get all data from a subject and a (yearly) period: +# GetSubjectByYear("godsdienst", "2010/2011") +# ''' +# def GetSubjectByYear(self, subject, year): +# if(type(subject) == str and type(year) == str): +# select_year = self.ps[self.ps['Schooljaar(Voortgangsdossier)'] == year] +# select_subject = select_year[select_year["Vak(Voortgangsdossier)"] == subject] + +# #filter period and rapport +# rapports = select_subject[select_subject['Cijfertype(Voortgangsdossier)'] != "Periodegemiddelde"] +# return rapports[rapports ['Cijfertype(Voortgangsdossier)'] != "Rapportcijfer"] +# else: +# return False - def iets(self): - print(self.grade_list) +# def iets(self): +# print(self.grade_list) - def CalculateMedian(self, subject, year): - # Calculates average for all scores without weight! - Grades = self.ps['Cijfer(Voortgangsdossier)'].loc[:] \ No newline at end of file +# def CalculateMedian(self, subject, year): +# # Calculates average for all scores without weight! +# Grades = self.ps['Cijfer(Voortgangsdossier)'].loc[:] \ No newline at end of file