From 835dac1b22c9920f0c418b75809822415b3a61d5 Mon Sep 17 00:00:00 2001 From: Felix Chadwick-Smith <chadwick-smithff@cardiff.ac.uk> Date: Wed, 10 Jan 2024 15:59:04 +0000 Subject: [PATCH] Add Flask-WTF to requirements.txt --- requirements.txt | 1 + .../INSTALLER | 0 .../METADATA | 2 +- .../RECORD | 16 ++++++------- .../REQUESTED | 0 .../WHEEL | 0 .../licenses/LICENSE.rst | 0 venv/Lib/site-packages/flask_wtf/__init__.py | 2 +- .../__pycache__/__init__.cpython-311.pyc | Bin 532 -> 532 bytes .../__pycache__/_compat.cpython-311.pyc | Bin 698 -> 698 bytes .../__pycache__/csrf.cpython-311.pyc | Bin 15040 -> 15040 bytes .../__pycache__/file.cpython-311.pyc | Bin 8377 -> 8532 bytes .../__pycache__/form.cpython-311.pyc | Bin 7261 -> 7261 bytes .../__pycache__/i18n.cpython-311.pyc | Bin 2060 -> 2060 bytes venv/Lib/site-packages/flask_wtf/file.py | 22 +++++++++++------- .../__pycache__/__init__.cpython-311.pyc | Bin 380 -> 380 bytes .../__pycache__/fields.cpython-311.pyc | Bin 1134 -> 1134 bytes .../__pycache__/validators.cpython-311.pyc | Bin 3739 -> 3739 bytes .../__pycache__/widgets.cpython-311.pyc | Bin 2875 -> 2875 bytes wsgi.py | 5 +++- 20 files changed, 28 insertions(+), 20 deletions(-) rename venv/Lib/site-packages/{flask_wtf-1.2.1.dist-info => flask_wtf-1.2.0.dist-info}/INSTALLER (100%) rename venv/Lib/site-packages/{flask_wtf-1.2.1.dist-info => flask_wtf-1.2.0.dist-info}/METADATA (99%) rename venv/Lib/site-packages/{flask_wtf-1.2.1.dist-info => flask_wtf-1.2.0.dist-info}/RECORD (70%) rename venv/Lib/site-packages/{flask_wtf-1.2.1.dist-info => flask_wtf-1.2.0.dist-info}/REQUESTED (100%) rename venv/Lib/site-packages/{flask_wtf-1.2.1.dist-info => flask_wtf-1.2.0.dist-info}/WHEEL (100%) rename venv/Lib/site-packages/{flask_wtf-1.2.1.dist-info => flask_wtf-1.2.0.dist-info}/licenses/LICENSE.rst (100%) diff --git a/requirements.txt b/requirements.txt index 65df85b..b7475d8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,6 +4,7 @@ click==8.1.7 colorama==0.4.6 Flask==3.0.0 Flask-SQLAlchemy==3.1.1 +Flask-WTF==1.2.0 gevent==23.9.1 greenlet==3.0.3 gunicorn==21.2.0 diff --git a/venv/Lib/site-packages/flask_wtf-1.2.1.dist-info/INSTALLER b/venv/Lib/site-packages/flask_wtf-1.2.0.dist-info/INSTALLER similarity index 100% rename from venv/Lib/site-packages/flask_wtf-1.2.1.dist-info/INSTALLER rename to venv/Lib/site-packages/flask_wtf-1.2.0.dist-info/INSTALLER diff --git a/venv/Lib/site-packages/flask_wtf-1.2.1.dist-info/METADATA b/venv/Lib/site-packages/flask_wtf-1.2.0.dist-info/METADATA similarity index 99% rename from venv/Lib/site-packages/flask_wtf-1.2.1.dist-info/METADATA rename to venv/Lib/site-packages/flask_wtf-1.2.0.dist-info/METADATA index 92f1ff2..cb81ed4 100644 --- a/venv/Lib/site-packages/flask_wtf-1.2.1.dist-info/METADATA +++ b/venv/Lib/site-packages/flask_wtf-1.2.0.dist-info/METADATA @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: Flask-WTF -Version: 1.2.1 +Version: 1.2.0 Summary: Form rendering, validation, and CSRF protection for Flask with WTForms. Project-URL: Documentation, https://flask-wtf.readthedocs.io/ Project-URL: Changes, https://flask-wtf.readthedocs.io/changes/ diff --git a/venv/Lib/site-packages/flask_wtf-1.2.1.dist-info/RECORD b/venv/Lib/site-packages/flask_wtf-1.2.0.dist-info/RECORD similarity index 70% rename from venv/Lib/site-packages/flask_wtf-1.2.1.dist-info/RECORD rename to venv/Lib/site-packages/flask_wtf-1.2.0.dist-info/RECORD index a781466..c0e003b 100644 --- a/venv/Lib/site-packages/flask_wtf-1.2.1.dist-info/RECORD +++ b/venv/Lib/site-packages/flask_wtf-1.2.0.dist-info/RECORD @@ -1,10 +1,10 @@ -flask_wtf-1.2.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -flask_wtf-1.2.1.dist-info/METADATA,sha256=9Y5upDJ7WU2m2l4erWImF3HcVSWIZKH3TdX6klYpq4M,3373 -flask_wtf-1.2.1.dist-info/RECORD,, -flask_wtf-1.2.1.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -flask_wtf-1.2.1.dist-info/WHEEL,sha256=9QBuHhg6FNW7lppboF2vKVbCGTVzsFykgRQjjlajrhA,87 -flask_wtf-1.2.1.dist-info/licenses/LICENSE.rst,sha256=1fGQNkUVeMs27u8EyZ6_fXyi5w3PBDY2UZvEIOFafGI,1475 -flask_wtf/__init__.py,sha256=x6ydw5SJzsXZgz-Y6IM_95Sy8VufRepvZH1DUIlFoTo,214 +flask_wtf-1.2.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +flask_wtf-1.2.0.dist-info/METADATA,sha256=DzMrNjYSRoyVUkYdVzRXCc0AOriWm1nM4HzNyd8VSMo,3373 +flask_wtf-1.2.0.dist-info/RECORD,, +flask_wtf-1.2.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +flask_wtf-1.2.0.dist-info/WHEEL,sha256=9QBuHhg6FNW7lppboF2vKVbCGTVzsFykgRQjjlajrhA,87 +flask_wtf-1.2.0.dist-info/licenses/LICENSE.rst,sha256=1fGQNkUVeMs27u8EyZ6_fXyi5w3PBDY2UZvEIOFafGI,1475 +flask_wtf/__init__.py,sha256=ObJw25Z-Uq2HgLhMKhfKk-BVr2hBXxBdEx_fyV4geBA,214 flask_wtf/__pycache__/__init__.cpython-311.pyc,, flask_wtf/__pycache__/_compat.cpython-311.pyc,, flask_wtf/__pycache__/csrf.cpython-311.pyc,, @@ -13,7 +13,7 @@ flask_wtf/__pycache__/form.cpython-311.pyc,, flask_wtf/__pycache__/i18n.cpython-311.pyc,, flask_wtf/_compat.py,sha256=N3sqC9yzFWY-3MZ7QazX1sidvkO3d5yy4NR6lkp0s94,248 flask_wtf/csrf.py,sha256=O-fjnWygxxi_FsIU2koua97ZpIhiOJVDHA57dXLpvTA,10171 -flask_wtf/file.py,sha256=AsfkYTCgtqGWySimc_NjeAxg-DtpdcthhqMLrXIDAhU,4706 +flask_wtf/file.py,sha256=CKr7kAgGqmKyC47gPuYoR7EHVSgl06xKtkyMmEPsXhs,4759 flask_wtf/form.py,sha256=TmR7xCrxin2LHp6thn7fq1OeU8aLB7xsZzvv52nH7Ss,4049 flask_wtf/i18n.py,sha256=TyO8gqt9DocHMSaNhj0KKgxoUrPYs-G1nVW-jns0SOw,1166 flask_wtf/recaptcha/__init__.py,sha256=m4eNGoU3Q0Wnt_wP8VvOlA0mwWuoMtAcK9pYT7sPFp8,106 diff --git a/venv/Lib/site-packages/flask_wtf-1.2.1.dist-info/REQUESTED b/venv/Lib/site-packages/flask_wtf-1.2.0.dist-info/REQUESTED similarity index 100% rename from venv/Lib/site-packages/flask_wtf-1.2.1.dist-info/REQUESTED rename to venv/Lib/site-packages/flask_wtf-1.2.0.dist-info/REQUESTED diff --git a/venv/Lib/site-packages/flask_wtf-1.2.1.dist-info/WHEEL b/venv/Lib/site-packages/flask_wtf-1.2.0.dist-info/WHEEL similarity index 100% rename from venv/Lib/site-packages/flask_wtf-1.2.1.dist-info/WHEEL rename to venv/Lib/site-packages/flask_wtf-1.2.0.dist-info/WHEEL diff --git a/venv/Lib/site-packages/flask_wtf-1.2.1.dist-info/licenses/LICENSE.rst b/venv/Lib/site-packages/flask_wtf-1.2.0.dist-info/licenses/LICENSE.rst similarity index 100% rename from venv/Lib/site-packages/flask_wtf-1.2.1.dist-info/licenses/LICENSE.rst rename to venv/Lib/site-packages/flask_wtf-1.2.0.dist-info/licenses/LICENSE.rst diff --git a/venv/Lib/site-packages/flask_wtf/__init__.py b/venv/Lib/site-packages/flask_wtf/__init__.py index be2649e..3f884c0 100644 --- a/venv/Lib/site-packages/flask_wtf/__init__.py +++ b/venv/Lib/site-packages/flask_wtf/__init__.py @@ -5,4 +5,4 @@ from .recaptcha import Recaptcha from .recaptcha import RecaptchaField from .recaptcha import RecaptchaWidget -__version__ = "1.2.1" +__version__ = "1.2.0" diff --git a/venv/Lib/site-packages/flask_wtf/__pycache__/__init__.cpython-311.pyc b/venv/Lib/site-packages/flask_wtf/__pycache__/__init__.cpython-311.pyc index 304531c8dd034ce8289de1e379acd11a66bf38cd..cc492fb7f408d036f111ed881bee398192c91b20 100644 GIT binary patch delta 25 hcmbQjGKGbEIWI340|Ntt#J+hGxvwx9Y<ytC2mnrn2I2q! delta 25 hcmbQjGKGbEIWI340|Ns?qR!lj+*cS4H$E_71OQ8>2AKc= diff --git a/venv/Lib/site-packages/flask_wtf/__pycache__/_compat.cpython-311.pyc b/venv/Lib/site-packages/flask_wtf/__pycache__/_compat.cpython-311.pyc index beb00be94d82d4c7316bfcf1139bf843f1194cc5..d3b114711695270b6f6b23c27085d8d5a9e4ac65 100644 GIT binary patch delta 20 ccmdnRx{H;2IWI340|Ntt#J+hOxz{rR05vNGHUIzs delta 20 bcmdnRx{H;2IWI340|Ns?qR!ln-0PVDGr0up diff --git a/venv/Lib/site-packages/flask_wtf/__pycache__/csrf.cpython-311.pyc b/venv/Lib/site-packages/flask_wtf/__pycache__/csrf.cpython-311.pyc index 3a6e9a34361fdea3a9249ed18fe09ac5474f45b6..3fd39c21ef0bbb6810a3f32664d89d8534bea2f1 100644 GIT binary patch delta 20 ccmX?5dZ3hhIWI340|Ntt#J+hOxwl#Y07erAU;qFB delta 20 bcmX?5dZ3hhIWI340|Ns?qR!ln+*_>xM4<*2 diff --git a/venv/Lib/site-packages/flask_wtf/__pycache__/file.cpython-311.pyc b/venv/Lib/site-packages/flask_wtf/__pycache__/file.cpython-311.pyc index bac198e45ca285c998a6e60eec1a57deacb716eb..d747ca899480b04119d65dc0245885758a6377a7 100644 GIT binary patch delta 1626 zcmdn#c*Ti#IWI340|Ntt#J+i{(>L-;bFzG3U|^X1p3l^rw}vT;5hMq~>5Mf@@o-)V zJ4g(IQy5zqkX25SlILYd7TCOnlbMmxbn*_aRte@J83qQ1TP$h$MY*?F(=t<YQi_>D z7AA4)88$L7Ff=gS<(HhHI!9}1%0+(dEBx9Y7#KO#Zb-?`(V8LC;o9T%l!yNUzv~5l z*Bz>RCLiDyXZAm%HTed2IHS>I10HKp4pzPo4Cut>2A<!HjAoN-_)HnSCU4?1XX{~N zU}$Hd(3`d>-YjNHVF+eOVL}ZJ7lvgF3=FFwLB+tpP|IAy?7|THpo?YlTz+pxmd!8u z85t*Ab8<6vvP^y}kj(gSa-iTk#-K?;ry0X0pAp)^Xg#@6*p4x3@&Vy<jAoPjMV#wd z!GTz0z`(#zWC#jQ&a}*&)V##p)Z!v*1_p*=Rt5$J1qB5KhazE+8Y2b<hAI)a%$!um zoSgjf)D*q=_~gW#ocMS@km>|R28JIbgu9{Y9<2-ft{3@TukgEG<Z->i<NAS_nN#?N zm;V_pFzW*w1Fvw0+XE4s3nDffM7K<C7TwOox@EGJShlh`%tb}wAeI=20K3uz!~zla zlV#-OCO;Dsk&|K-`oMrm6oECFOzz~-+3X^IpHU9vjUr!=em#(fSfJjA_}+Z7qof#P z<>UxSI~Fk}iqp0!mPkiV?Jf+ln`)U$IN>qQP{X`{b#kJB$m9?ySzDG8USydXmKugE zcxI|$$l`#>E@NR}SPk+CSbz~^3g_fR0ny3bQbL{}U2v7zU=_vOsAgq@^%i-Qh=QfT zL=8h0H<-b|z))aZ!?b`0WFj;30$z~&1dy!<Icu_#v^nGE$x+g)8Ji}v$@p-CgBTRp zntYREWfbaJ3yL!HN{T=t;NZW-Qk<HaT?F!b5hx~#^g(gr%D}*&iJoSQY~cwvzBscg z6`p1lAh8Bcvx1;B8=P5{3Qw?gp!gMIgp?EYlEfAiM5b3ku_;m?82C7az(j}RT?y$K zj`Q7Sxy|&L<1v$W4sVC&T^_*+iW4Fiuq@$S!BeuP_9Bn%6&~9QJhqcFW$R42VS2$y zRFkQQiGhK^ugDV=3~0&S8zcrI@+Qm38Oe!(k~$^<HmAsYa*o_WZcyGRatCYMEFsUy zSTD%P_kjVEm|*h}B>DwJK;$(T1Z5j|Kd@;s3VmR}BtC+~zJLgbYy=~NfOG@T2R1d3 cdQ9RYgBqjI7Y0eVOb{ajuV@1&2!b6903|?SSO5S3 delta 1467 zcmccOw9}DyIWI340|Ns?qR!mZq>a4NoQw}9YjRo`a?~(oF@hvOIGr(%4VhodT*3|# zhu{>(7KR$;$%*{(%uF@Rn~!iZGcuY?KEc(h%2Fi5z`$^eB`v=w_ZDkfW@=8#EiNz> zpORRTSj@t}z@RWWm0QoFj)8%pf#I&E@dno|UPoCjYPw$0biE)NIw5sR)`XY|F(*vV zSaonc<>9};?|OmXb%)jke%Fiqu2=Y7FY>rv;c@-I%*x4k!z*O+J??Nu<H=?`)}rjJ zd><IliOp?1zZn_LCpYn#GI~zl!Dr5v!NkDO&N^9#)08|vYcka^7c-?W1T&;Cfx^Ls zVHpDh!)i#-FfcIGvedA+FvQ;OVx7E~-<y$jGp7I}BQtX+>tu1kWX3y_s|D9F229ox zI?Wg|`J2!dMw`j2h3yz4CchFs$7nuzr--vT8#ok;3>X*~iVQ)75hzeO(=u~X^AdAY zi;HX+7#ND#Kw+t%prGJTBn(nyJXu#%(##hm70JlJ@Pm}lom?v_E)w#AnVD1g0~-Uc zaEIFi5t|DlHXA0d5#2sHRV-WC0&E3{5C;)rAOdWyDToCk>?UuQlbb9kE+Qw%D)fN? zlPCgfGM(Jdqq8|*{63?pKS-+|h|mMM8k{&36cixd0a;ij=$4t28k|{`suv%hnU`4- zA74JXS<;T_2;*cePIL0&PZ1t}HOwvyvD0c<N;u(>$56wvfOT@CfXL)pA->7l0(@+> ztTikP*d{j$h)({=$?wI;P{UfokOj{T*<h{3++a}-Fo%JGAsgfuh9Zv=P!K@{YZ$V? z84tuQFs@;mTrVKb$UHewT1)`hz#4`uj>+?-&Dp1el9(pz<VL}U$+0r3jP;Y7Wqi27 z!37F9P2S13WEARIic?dwi{PR~Ag>gGg0n~;6tHd#3=EoB(^HWhJW<6LXI7;m(i1cS zj2RdhP$D2XF()TJz6KOkKVi97oyhD9N?`h^2~1G>0|PIo5SZw2yelC+!*RabEVr2+ zb3A79&f)FwoXjFuXUYjv0!}@eOhrr#3=DonULen*r9>Z)7>LN3yj{*nP6U(+F$u6a zMLv_+<ri{;l5LR(Sli~!@|=wI0*rhg7%+(mHXlKvUqA#zUX4Lewt@Epn+BuM2L?>y uBS`EEh=9n3F)|29H}HI5Qvs>RBt9~zFbaKPkc7+lF*5LqHgJL<*uemb6H<Tx diff --git a/venv/Lib/site-packages/flask_wtf/__pycache__/form.cpython-311.pyc b/venv/Lib/site-packages/flask_wtf/__pycache__/form.cpython-311.pyc index 156609e14de7e83103f2a2c776a0a668e0e6b194..434265db1bc141bd6e9e00db52dc7ece9afde4a3 100644 GIT binary patch delta 20 bcmca>ao2)-IWI340|Ntt#J+hOxr1Z?K<Nda delta 20 bcmca>ao2)-IWI340|Ns?qR!ln+(9w`KX(OH diff --git a/venv/Lib/site-packages/flask_wtf/__pycache__/i18n.cpython-311.pyc b/venv/Lib/site-packages/flask_wtf/__pycache__/i18n.cpython-311.pyc index 04d2d7e2cbe3df7f61e7c03d89b95925494f4bec..d4ee7b4c91f2cf66961434de6bc21c4f859e9c8c 100644 GIT binary patch delta 20 bcmeAX=n>#v&dbZiz`(#Dv2Wf+Zbl9OE{z08 delta 20 bcmeAX=n>#v&dbZiz`($es55sXHzNlCEgJ*= diff --git a/venv/Lib/site-packages/flask_wtf/file.py b/venv/Lib/site-packages/flask_wtf/file.py index a720dff..5646600 100644 --- a/venv/Lib/site-packages/flask_wtf/file.py +++ b/venv/Lib/site-packages/flask_wtf/file.py @@ -47,9 +47,10 @@ class FileRequired(DataRequired): """ def __call__(self, form, field): - field_data = [field.data] if not isinstance(field.data, list) else field.data + if not isinstance(field.data, list): + field.data = [field.data] if not ( - all(isinstance(x, FileStorage) and x for x in field_data) and field_data + all(isinstance(x, FileStorage) and x for x in field.data) and field.data ): raise StopValidation( self.message or field.gettext("This field is required.") @@ -75,13 +76,14 @@ class FileAllowed: self.message = message def __call__(self, form, field): - field_data = [field.data] if not isinstance(field.data, list) else field.data + if not isinstance(field.data, list): + field.data = [field.data] if not ( - all(isinstance(x, FileStorage) and x for x in field_data) and field_data + all(isinstance(x, FileStorage) and x for x in field.data) and field.data ): return - filenames = [f.filename.lower() for f in field_data] + filenames = [f.filename.lower() for f in field.data] for filename in filenames: if isinstance(self.upload_set, abc.Iterable): @@ -95,7 +97,7 @@ class FileAllowed: ).format(extensions=", ".join(self.upload_set)) ) - if not self.upload_set.file_allowed(field_data, filename): + if not self.upload_set.file_allowed(field.data, filename): raise StopValidation( self.message or field.gettext("File does not have an approved extension.") @@ -122,14 +124,16 @@ class FileSize: self.message = message def __call__(self, form, field): - field_data = [field.data] if not isinstance(field.data, list) else field.data + if not isinstance(field.data, list): + field.data = [field.data] if not ( - all(isinstance(x, FileStorage) and x for x in field_data) and field_data + all(isinstance(x, FileStorage) and x for x in field.data) and field.data ): return - for f in field_data: + for f in field.data: file_size = len(f.read()) + print(f, file_size, self.max_size, self.min_size) f.seek(0) # reset cursor position to beginning of file if (file_size < self.min_size) or (file_size > self.max_size): diff --git a/venv/Lib/site-packages/flask_wtf/recaptcha/__pycache__/__init__.cpython-311.pyc b/venv/Lib/site-packages/flask_wtf/recaptcha/__pycache__/__init__.cpython-311.pyc index ad5312065a905cf14e41f922291566616856c8fb..fe79a9aef7d9d7147a94eab5c4c4a48536547539 100644 GIT binary patch delta 20 bcmeyv^oNOiIWI340|Ntt#J+hOxeFNqJ`M$S delta 20 bcmeyv^oNOiIWI340|Ns?qR!ln+=Yw)Je&n9 diff --git a/venv/Lib/site-packages/flask_wtf/recaptcha/__pycache__/fields.cpython-311.pyc b/venv/Lib/site-packages/flask_wtf/recaptcha/__pycache__/fields.cpython-311.pyc index 1eb5b704de329b4e160ea7d0eefa8dd48b16104d..eba47cb335209d9abc36f31be5779b684315a9cc 100644 GIT binary patch delta 20 bcmaFI@s5LgIWI340|Ntt#J+hOxszD{Jh=s0 delta 20 bcmaFI@s5LgIWI340|Ns?qR!ln+{r8eJ4Xc& diff --git a/venv/Lib/site-packages/flask_wtf/recaptcha/__pycache__/validators.cpython-311.pyc b/venv/Lib/site-packages/flask_wtf/recaptcha/__pycache__/validators.cpython-311.pyc index b8a1ffd5e1f5b5180ec496e94c61d8d59e9302f6..1fd4e8df320b2b9c464813d4b27e912dd20f570a 100644 GIT binary patch delta 20 ccmbO&J6o1}IWI340|Ntt#J+hOxhL=e05iV@6#xJL delta 20 bcmbO&J6o1}IWI340|Ns?qR!ln+!Oc!GED@_ diff --git a/venv/Lib/site-packages/flask_wtf/recaptcha/__pycache__/widgets.cpython-311.pyc b/venv/Lib/site-packages/flask_wtf/recaptcha/__pycache__/widgets.cpython-311.pyc index 6f5bb03a28b7e7b55f3ef3a93a63eda13b3d3754..6a613bad6fb737df45ae0e6d900e6d7b2bdaea14 100644 GIT binary patch delta 20 bcmdljwp)yQIWI340|Ntt#J+hOxed4hHoyer delta 20 bcmdljwp)yQIWI340|Ns?qR!ln+y>kLHBJPY diff --git a/wsgi.py b/wsgi.py index 7868190..ab58b4e 100644 --- a/wsgi.py +++ b/wsgi.py @@ -1,8 +1,11 @@ import sys import logging from app import app as application +from markupsafe import Markup + +sys.modules['flask'].Markup = Markup logging.basicConfig(stream=sys.stderr) if __name__ == '__main__': - application.run(host='0.0.0.0', port=int(os.environ.get('PORT', 8080))) + application.run(host='0.0.0.0', port=8080) -- GitLab