From 652dfb2f63da4a2d2ff1302e7bd88a794b88aa53 Mon Sep 17 00:00:00 2001 From: ArsPro13 Date: Fri, 21 Apr 2023 13:29:38 +0300 Subject: [PATCH 01/10] First_commit --- .DS_Store | Bin 0 -> 6148 bytes proj/.DS_Store | Bin 0 -> 6148 bytes proj/database.sqlite3 | Bin 0 -> 131072 bytes proj/frame/.DS_Store | Bin 0 -> 6148 bytes proj/frame/__init__.py | 0 .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 136 bytes .../__pycache__/settings.cpython-310.pyc | Bin 0 -> 2303 bytes proj/frame/__pycache__/urls.cpython-310.pyc | Bin 0 -> 1065 bytes proj/frame/__pycache__/wsgi.cpython-310.pyc | Bin 0 -> 535 bytes proj/frame/asgi.py | 16 +++ proj/frame/settings.py | 124 ++++++++++++++++++ proj/frame/urls.py | 28 ++++ proj/frame/wsgi.py | 16 +++ proj/manage.py | 22 ++++ proj/wrapper/.DS_Store | Bin 0 -> 6148 bytes proj/wrapper/__init__.py | 0 .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 138 bytes .../wrapper/__pycache__/admin.cpython-310.pyc | Bin 0 -> 179 bytes proj/wrapper/__pycache__/apps.cpython-310.pyc | Bin 0 -> 419 bytes .../__pycache__/models.cpython-310.pyc | Bin 0 -> 176 bytes .../__pycache__/services.cpython-310.pyc | Bin 0 -> 382 bytes .../wrapper/__pycache__/views.cpython-310.pyc | Bin 0 -> 731 bytes proj/wrapper/admin.py | 3 + proj/wrapper/apps.py | 6 + proj/wrapper/migrations/__init__.py | 0 .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 149 bytes proj/wrapper/models.py | 3 + proj/wrapper/services.py | 6 + proj/wrapper/tests.py | 3 + proj/wrapper/views.py | 20 +++ 30 files changed, 247 insertions(+) create mode 100644 .DS_Store create mode 100644 proj/.DS_Store create mode 100644 proj/database.sqlite3 create mode 100644 proj/frame/.DS_Store create mode 100644 proj/frame/__init__.py create mode 100644 proj/frame/__pycache__/__init__.cpython-310.pyc create mode 100644 proj/frame/__pycache__/settings.cpython-310.pyc create mode 100644 proj/frame/__pycache__/urls.cpython-310.pyc create mode 100644 proj/frame/__pycache__/wsgi.cpython-310.pyc create mode 100644 proj/frame/asgi.py create mode 100644 proj/frame/settings.py create mode 100644 proj/frame/urls.py create mode 100644 proj/frame/wsgi.py create mode 100755 proj/manage.py create mode 100644 proj/wrapper/.DS_Store create mode 100644 proj/wrapper/__init__.py create mode 100644 proj/wrapper/__pycache__/__init__.cpython-310.pyc create mode 100644 proj/wrapper/__pycache__/admin.cpython-310.pyc create mode 100644 proj/wrapper/__pycache__/apps.cpython-310.pyc create mode 100644 proj/wrapper/__pycache__/models.cpython-310.pyc create mode 100644 proj/wrapper/__pycache__/services.cpython-310.pyc create mode 100644 proj/wrapper/__pycache__/views.cpython-310.pyc create mode 100644 proj/wrapper/admin.py create mode 100644 proj/wrapper/apps.py create mode 100644 proj/wrapper/migrations/__init__.py create mode 100644 proj/wrapper/migrations/__pycache__/__init__.cpython-310.pyc create mode 100644 proj/wrapper/models.py create mode 100644 proj/wrapper/services.py create mode 100644 proj/wrapper/tests.py create mode 100644 proj/wrapper/views.py diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..17b27c7ecb8ed05ac89a09b6a28e4e0930707d5d GIT binary patch literal 6148 zcmeHKJx{|x41I1pL}Ka4cpDoMD^pa`nE|mwp+bSEiD;2v%Z9|y;8*bTc(#v^DrIE= zJF;KS@w-#r5XS&y_Hca!OaT;hMLcU5nm$(_*eGX&Nar4F9ODxA#O0uRcS5-bI5&p! zzW6KDc;dR^UTfT8gBBgv9rtf>i$i9Xcw{_5!`hBljTLULnz~yw?SeZOaw@N*xADvF z!y_9CgaV;JC=d$#Lj|<=(uzIDh@n6z5DI)Mpx=i?S1dF3j`rzbun~YbVcLxMHcJqb zCWvLm-jNxaIF;yB$s>k1o%xjO%8b3E(;;>;_sJ(qo>0V2XFgduq;!lJ3WNgN3XFX@ z)&4)H|1ke=lVTMLgaUs`0hv^1)r_x{d+XrkwAUv31^vTVYvl~qiiy^WxzJX;|E(_R ZJ)f5udq<-)Z**e(2&gV$p}=n_@D9?vB2WMT literal 0 HcmV?d00001 diff --git a/proj/.DS_Store b/proj/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..047e3b377387f2507643f889344a1e787c1a6153 GIT binary patch literal 6148 zcmeHKJ5Iwu5S8-ADsfh+_&QuciMK0PWkq8x)vm62ZN zXLv+9Eo13jx`q$z=9SWYwGgwBD`bi8Y{@C5$QV`GG?~xNmtGpESpLof7FS{vC7_xV zSYdt3u=jMf_VQ+hDzS=Eys{K(|3?9w*=&tfhZG@;x>O@q4CB(#?+MQr%pAIOGIIGaGP98zim|g}e9zL! z_zpFy0;)h!fd%*21wH`?ppkn3 literal 0 HcmV?d00001 diff --git a/proj/database.sqlite3 b/proj/database.sqlite3 new file mode 100644 index 0000000000000000000000000000000000000000..8bc883cc7eda08a226ba88dcf8332f0bf85f26f7 GIT binary patch literal 131072 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 literal 0 HcmV?d00001 diff --git a/proj/frame/__pycache__/settings.cpython-310.pyc b/proj/frame/__pycache__/settings.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a8753468b47ac8fc9583512aac8d001f237f0134 GIT binary patch literal 2303 zcmb7FTT|Oc6qbarje`>cxix8~>I_Y4Qe;SILOV?wVF}{Kw?T4f^`a5p#VqJzc2{xH zYyU44%WweuD-Hwtz$=d7>}bk| zsy+ehO+fTRiWL$7xbJcj1`0fUpMX2!;V-~DF79*QXJ1z;DC{zI=;I`UZs=EVPyxUS z5BsFcDktGqhVXnJD|?aWDIQ^53HQ!^#|;oT!h|ZXT`$7y|M;SKZ_Lr3u)IQ9Oysu9 z_v4Kb3nXB;8&SM`aBuPG@%~`YUHtU$>Hf;`;nIP(MDIQR%pddyELx0SKX@9gtf0k5 zUy4nNq#`xejif^aCxNW6NEfG za4A+ZDhNMT&6E@9G*0K@wMo=b9O{_8Ih2iAmCrkYWbng4t!AJ9P-S#atwQsP;K7*c zlZjYdU~xPS4aPtq>1Me)W;pp1C!CENH-0CLK6{Afb?l*11goXnNwB)_3mUm8u_mi5}U znH02k+sS(QR@qG?pO4a<3H{E$rR#zto=DQWe3Ysb)?7cJ8= zlgqWHX@Lj?kRoPMY}9nUZtQ5=Ml!qIYFSQayIyTIHIGyE3ICG$rdDGsjfA*I@*@uR9m_MfVGC<*eytz zLI(n_t*$qdT-vj2h};6?YU(|i*NsiBQ@0#IZaJGZqptrd&`*GctoeJnlBN%QiA$ivUzJQvt^(8$8m35sv@> literal 0 HcmV?d00001 diff --git a/proj/frame/__pycache__/urls.cpython-310.pyc b/proj/frame/__pycache__/urls.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..52a33f10e94b8187ffc2de40cdfc110c12f5efac GIT binary patch literal 1065 zcma)5&2H2%5Vo_~pQgLC0v^EPvW-+?6>(Y>1hiCCLL7izBB3<9p54uo*ul>BhifHn zJOM&#kGxW@oOp#EfU&zPt&ouFDAw2>&wSrEW7X>g1jp|1h4|7S-T@zavyE>=w7+}MTiBhijVnsYr@mNwN5UYL9wB3$7Ql|)zGiz$jR}`bVirY>=(+ zA4G?8l+Q&bCn$o;XQ_>_m`i;QoiGfcV0o-BY=vyRkaBP%*G)MhEBF%R!gt$=a%;51 zTunF%xXjeI8!m1?41-_T@Fb*lGZjT9(eSO}cEjoOx#jkGO|B`or&jtm;bz@V66~5J ziSI0cBEL#!Lya9w>h%@$8Xp{~+ou{u2d#Zv#op;j?VGHE+P4I2-=5ZVT(7TGzosX3 z%U+VA?j(uLoFqSpzK0RqbRF^|1KRLZ8<5#K-v{#%yOrA}=I$N2hKYx15cN7~Qx;lrK%A{!P$XD`#0jAaq_$BIO%EwT%4OrMXE%<#p4Hk-Kd${F z^vDn5vR6+0gd5OSzh*Ly@)}y>i^i$eZ6zfDeK*_*{0CgKj=2 zzEjdDu?Arr$(3C}pd)hQMQ$v-79Jp8hEVwrQfkb6qF2fl_|H>@r35G6C-3AEuL4R9 zmBpJ9T##43Ff#r_&0v#Z)VwGlr0rR{Wutj{{N?jxbe>L6E-uEC(KJ0fKmPXh=ggQmN=uW z5*8X`s*>v0Q@rY-UPFHXxZ%TW0Q3QL=z^^?HhWAy7vHf~jC6@EjFICCITpCac!zC) zzo>xBU5~Rh#uAU5yRZ2h&sKRc^}gWLHc^WCV3hlEsg<3so0+B0vT5O`Wbn6CJw1QC zT^wT1j$khr+uvfsVbMj28_aRXg6`S#xW#I_puL28Ie2Lr=vy)Guj^3E-Z4vGE9D@! zUWoiB%}fDPz!dlq1!Q5Tb$W`{ngXVPDX>vM)`x^Hm`1D=!_vVfTmgt}hJ&#m&Mm}5 z0>m_8rN{`)X(~}uUA$sAO=mobyfk8^sOfOw%^WAb*~J@*i>D@+1Ug)*Xssz=3e*)i z(Z{~*|Ci18|9X-=nF6N3zf!=pvr#r=NpWx8DNgpg`k0yjqG6cGIwL?8o3AjbiSi&=m~3PUi1CZpdg`k0yjqG6nh~37{oyaOhAqU5Elyoi4=wu#vF!R#wbQch7_h?22JLdKv4!w z##^k3DY=<>ews{Cd?{IpdFlCj$@zIDMVU!OAOlu16fpxSF!4)EKO;XkRX-^+DKjU( sOh2tC5y*p(WT!wn#`+X_5;dvzC) z-$6L}Ar^$po~)bZM%Q^++`G!5F-lhC?UF!3!VqYhB^-p=qb ztqUDt7F8OhYNPA2Sa*B9DWyVt{4%h&;lu_))M+J!uu~z3+$k5&g?Q>xHFi!>=4q$) zA|(lt_Zq(IeSvY;=;1evA9N+-tjtQKpX1yRVZ`yjn09QV=GAZ-a))Y<2mW=;Y&k)V1W`oON;VXBd)(OsG$^QVtlw^qj literal 0 HcmV?d00001 diff --git a/proj/wrapper/__pycache__/models.cpython-310.pyc b/proj/wrapper/__pycache__/models.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ad7278ff76ba720d1de80f4d9e7466d58fd59c3d GIT binary patch literal 176 zcmd1j<>g`k0yjqG6iXoe7{oyaOhAqU5Elyoi4=wu#vF!R#wbQch7_h?22JLdKv4!w z##?N;`6;P6#eSMhw>VR>67$mY^-_|GK$=%F6tMs)F!4)UKO;XkRX-^+DKjU(Oh2tC m5y*p(g`kg6o{hDbYasF^GcxJzXn=kCX*aH;UaItA6LlH<5 zg7~GYpOK%Ns-KjZl$n!Xrk_@n2;@P?@}k6og481Y;?$zD%;eN!y@JYH%(;2lAQOr~ z?qy*tVg^ze?g9yd-NgfBlrWSqrZ6@GA=rH{Q-ETcOt+YeOLK3r7A5ATry^VfVS$Xk u#gb=eU;y$L*d`vvB6c9#Pm>93Bbb9#8;4D9eoARhsvX#oApIN+Jj?(E&r1FP literal 0 HcmV?d00001 diff --git a/proj/wrapper/__pycache__/views.cpython-310.pyc b/proj/wrapper/__pycache__/views.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ed366bd21f9a63e4e91c8139d8a2b3b12598dc81 GIT binary patch literal 731 zcmY*W&2AGx3?9$^O_NPksem|gjfAp1Kvf~=fm043E-RtcD&wRH``4LCsvwY%wo*Cp z5OC}(?Uhqsfdj(M1~pi+$1`Jp{%qHy(Lj)V&tB;T2=R+AhZ51{C8?d0(LzHZN=O0N zmxV07)Fa>1e&Lrv8h}`cG}M6(Z$ujDNGm!O9%0bJh4^ri4)hTYHeg<0_+y9)V+?T6 z$`*bS=G8Mjcqhigd#WYI(1ivojfTAVjdRUgv`t-EyeFdktt^_&a)x%s@rS|zuSu;> zMgw8WsbT+4n2?SK^ZR-7o?vW}8;jL)n_Qs%=;|hEOub63P2MzUlFbsY?WEauFjovK z$@pN{pK+~!!tdT*?Nf4Y#T+zfd859-H?b0*AtNO|-t@mj2I0h0QhQ9s2}cR7XrbkB zn2x34fX=gy2ND^)TBCJ$J&V2}URD>C+l=|f48??w;nQPoWO7#2v%Ik9lYIn_Fw3gE z#4ICt?#6Id4>n|Phv;)QUoFor1|_L?CfPwY9gorzy~?XaJ+YUyakI6vhRb%t{qrTQ zuIDaHz#qYGoPE6=jHj2TgQ^R8+Li921-jfh^RT9a{?u7n>ve(WJTv=*OiY|&=}RS* N7l#TSf&A+K`3u#5m3;sJ literal 0 HcmV?d00001 diff --git a/proj/wrapper/admin.py b/proj/wrapper/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/proj/wrapper/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/proj/wrapper/apps.py b/proj/wrapper/apps.py new file mode 100644 index 0000000..c17b4f6 --- /dev/null +++ b/proj/wrapper/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class WrapperConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'wrapper' diff --git a/proj/wrapper/migrations/__init__.py b/proj/wrapper/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/proj/wrapper/migrations/__pycache__/__init__.cpython-310.pyc b/proj/wrapper/migrations/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..51bac5886b80bdb6e0ac050dfa2fec2f4afc7895 GIT binary patch literal 149 zcmd1j<>g`k0yjqG6cGIwL?8o3AjbiSi&=m~3PUi1CZpd Date: Mon, 24 Apr 2023 12:48:57 +0300 Subject: [PATCH 02/10] trying_to_work_with_forms --- .DS_Store | Bin 6148 -> 6148 bytes proj/frame/__pycache__/urls.cpython-310.pyc | Bin 1065 -> 1137 bytes proj/frame/urls.py | 3 ++- .../__pycache__/functions.cpython-310.pyc | Bin 0 -> 272 bytes .../wrapper/__pycache__/views.cpython-310.pyc | Bin 731 -> 663 bytes proj/wrapper/functions.py | 2 ++ proj/wrapper/views.py | 3 --- 7 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 proj/wrapper/__pycache__/functions.cpython-310.pyc create mode 100644 proj/wrapper/functions.py diff --git a/.DS_Store b/.DS_Store index 17b27c7ecb8ed05ac89a09b6a28e4e0930707d5d..91bc4985822ec9441f3e659e4ce6f88d08e76607 100644 GIT binary patch delta 470 zcmZoMXfc=|#>B)qu~2NHo}wr_0|Nsi1A_oVQh9MfQcivnkiTOyBja+$dXN+gLjgk( zLq09_j~5Ve&d)1J%*;zI0&B=jNd+p23D3++$uD=xFU?CS2I~#ZtOv_*aB^_Q3rJK~ zo0}QvC>WX<)aocyTN(k`CT51UwVWKH%KFwp@!2`KdHG#H2Lk~k&_7_n3#DOHH;@7M zP)c!fP7=_8AjNROoOHwBo;>S*0XG8=iui6#uhL}zB5ne7cmq7NjE^0 MfmLn}5ZS^E0JOqxKmY&$ delta 182 zcmZoMXfc=|#>CJ*u~2NHo}wrt0|NsP3otMgGgvVsG86&n)QN@a=^zPphENa}EC`om z$YaQ4s01o@0m>9JWHXd7h6*6*%#Z_ATL6TaKwas{Ihh4X zIr&LIlQ|gu85c3_VD8%7$lS)Vc>;4k(`I%Keh#3+fFj?SC-aLKGBQlI;gQ}PBeH@S E09$-0pa1{> diff --git a/proj/frame/__pycache__/urls.cpython-310.pyc b/proj/frame/__pycache__/urls.cpython-310.pyc index 52a33f10e94b8187ffc2de40cdfc110c12f5efac..e8295378657c506cc8b9997d610a87e37c6f345b 100644 GIT binary patch delta 282 zcmZ3<@sWc!pO=@50SKPvI;E_c$Scd(GErMQE`>3LHHS5qBZ`xeA(bVCEtM&YD~r3C z3CLzoWnaLP%9+Kxkg=I5ohgbhl|75ig&|fbia(Wafj}xtDu0&XY=#t$xlF12P&Q{T z^Fl^OhCv8XsTFSAnLB|o_|H#M)M zSl>Of#G^DxKcFZ-D>bG delta 209 zcmey!v66!~pO=@50SIi8oKo5*^2#z+Ow`s6N@Yo5O=ZgB$l`2f0g`kf>XIpDWX97F^Gc(44TZzKoJzc2;?~f zaWM;!NMQu3Ve)$k5?skp1TqIf{0i0&Elw>e)=w-dPR+}#)OX2GF3nBND=F4@&n)pM zP0|l2%FjwoE{XTgOVv$GF3HT#3r;O6%S=wyF96Eumlq`#6r>jEr-&X@6O*okfTweCKnlVDccn{ZQaAB>TrQGugfuV1mChpYgx zgXUWwdpJM?Sw$*%2hg520y@`5tbW;VPGNc5!u^N#Gv${Oh2)-)7>6Zy5=FD2MZ|CL9D3;+>4RbIAqd1ldZ#*_K%fIkD?^VAMqHJKU9AA!6G`L M#4;%ifh_gkKaTWF=Kufz delta 337 zcmbQvdYhFupO=@50SJ2Hol?>#^2#!%P1H8FNMTRmXkm!rNaajrZDw>~h!u$9O5sf9 zDq}1%NM&2Voyw8QlggUP)y&k)xR8;Np->@(E0{r(dt#qq5XdxSzzF0x19346kVs(! zDr5310gQ0SO)k9!4G}7A6iR4rU%U4n`41 IrUsUO06M)ruK)l5 diff --git a/proj/wrapper/functions.py b/proj/wrapper/functions.py new file mode 100644 index 0000000..a3b94fb --- /dev/null +++ b/proj/wrapper/functions.py @@ -0,0 +1,2 @@ +def f(): + return 1 \ No newline at end of file diff --git a/proj/wrapper/views.py b/proj/wrapper/views.py index 380816f..c7663a0 100644 --- a/proj/wrapper/views.py +++ b/proj/wrapper/views.py @@ -5,9 +5,6 @@ views = [] -def f(): - return 1 - def wrap(f): def my_view(request): return HttpResponse(str(f())) From 033bd555ad057a047dc04f65805d3a4682e6d608 Mon Sep 17 00:00:00 2001 From: ArsPro13 Date: Tue, 25 Apr 2023 17:00:14 +0300 Subject: [PATCH 03/10] idkitdoesn'twork --- .../wrapper/__pycache__/forms.cpython-310.pyc | Bin 0 -> 449 bytes .../__pycache__/functions.cpython-310.pyc | Bin 272 -> 314 bytes .../wrapper/__pycache__/views.cpython-310.pyc | Bin 663 -> 832 bytes proj/wrapper/forms.py | 4 +++ proj/wrapper/functions.py | 2 +- proj/wrapper/templates/trial.html | 17 ++++++++++ proj/wrapper/views.py | 29 +++++++++++++----- 7 files changed, 43 insertions(+), 9 deletions(-) create mode 100644 proj/wrapper/__pycache__/forms.cpython-310.pyc create mode 100644 proj/wrapper/forms.py create mode 100644 proj/wrapper/templates/trial.html diff --git a/proj/wrapper/__pycache__/forms.cpython-310.pyc b/proj/wrapper/__pycache__/forms.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f82a1bb166b784e90b010dd8efe1413d4c6f6e88 GIT binary patch literal 449 zcmYk2y-ve05P=!)}VW$sn&QHc9H+X3p+(kwRSaFo!b{*GZAj zKtCoiuo5fmNsF=s&Dsw*FE`pnwAIQU-zSH(%}fK&^kgdXWzlWq*=yU<|1zC7!a38w O=+3#Mzo;QOa()20L2l3h literal 0 HcmV?d00001 diff --git a/proj/wrapper/__pycache__/functions.cpython-310.pyc b/proj/wrapper/__pycache__/functions.cpython-310.pyc index d62e82f0dc9a3613b908cfa831fc502d5c99858d..19307b79771c8d8ac3b6bba0c517a9943474d23f 100644 GIT binary patch delta 194 zcmbQhw2LV`pO=@50SML}b4yVN(vLwLWWWsMH~?`mACO34OJPo7X<>Bk@rGGGF79Dul(2S}taq%gKHL@}f=1v6+eCj&(g yU}Cr&PZ3Bpl$h9&Zps4W`e`y2foNno5SJN9+~Tmw%}*)KNws4H@`^#ac^ClQAQSrl diff --git a/proj/wrapper/__pycache__/views.cpython-310.pyc b/proj/wrapper/__pycache__/views.cpython-310.pyc index e7722d2ef6ab60a16904bbd13f0efcd0cfff905d..c838772b94f4b12c765647db6885a66d5e2c8802 100644 GIT binary patch literal 832 zcmY+C&2rN)5XZItisLvRKwlyU;uq*J%)ro|l1>8`Up#K4Bo4A2R&qM+q^H1pz>(+S z<}0VZLNBmV%1n^PtN*UPe!EuP??;T9{B^; zbW_)AS9+zN`c`|SgEX+(mz^?9L(&27$Zi>>k=3E>m2nyaTd}myyFB{J(gE-Bn8qRR z&)InJXgJ2u_VTK#b*_uLQsf3GDlU*ze5v*JTBt2e2=dQP{cFJs6bnu94vH_0Q2G&$ z2Zl=Eu2=|jT4&bahZ@U;nfup_Hs3pwctB#$HjI#9N;`&Gb^?@T6oTbXhB2*snkAp; zaFyh!L{;1+@9RZVib|{GqR^MkO>%|xhN!YxC0^$XlhgbNlWb`wxy5|D6`1S_ajPcV zyVlEbrOeUF{D}Z?K*N8qChpT`Vb4hzSPq{Ze5HZ3bASif!*}-w!)YzuO4=(= f7%i;@4bRJ(H&VPY4?!8Sn8onioftePbYk}}n#RE; literal 663 zcmY*W&1w`u5bo;v&rU+X2p)Wa1>Jdp5JUpzvkm+qboD+M5__L9E(cK?~}ms_XBo>UMvBPmuhmU#bfb;wL-*NPEOmRud%Tvc~#o8{(W+x+a(q@J8$rLUf8m2F1H&b9YvB`op&AT zWL4s=nRV+isMi@g5i{bw4&cLM&YB%pZIM^zWVXxTYh+oI*O+C*k_&Xqz`v?Ph6%yw zay7fgCx{`GE@<9$gls;I(?hk)n?*Y_*R8fiZ;j@$<7D@IO~0@`fzTcYybafF2S=59 ygl6=4i$;yX0&Q-s-g4Lw*}#TKcwD!tukeJgZjK0Iq7zG3hBEd;I0E_E{rv}3k(xdL diff --git a/proj/wrapper/forms.py b/proj/wrapper/forms.py new file mode 100644 index 0000000..6178f99 --- /dev/null +++ b/proj/wrapper/forms.py @@ -0,0 +1,4 @@ +from django import forms + +class OurForm(forms.Form): + x = forms.CharField(label='charfield name', max_length=100) \ No newline at end of file diff --git a/proj/wrapper/functions.py b/proj/wrapper/functions.py index a3b94fb..9831da9 100644 --- a/proj/wrapper/functions.py +++ b/proj/wrapper/functions.py @@ -1,2 +1,2 @@ -def f(): +def f(a: 'int', b: 'int'): return 1 \ No newline at end of file diff --git a/proj/wrapper/templates/trial.html b/proj/wrapper/templates/trial.html new file mode 100644 index 0000000..cc598c6 --- /dev/null +++ b/proj/wrapper/templates/trial.html @@ -0,0 +1,17 @@ + + + + + + + Document + + + +
+ + + +
+ + \ No newline at end of file diff --git a/proj/wrapper/views.py b/proj/wrapper/views.py index c7663a0..ca8dbd3 100644 --- a/proj/wrapper/views.py +++ b/proj/wrapper/views.py @@ -1,17 +1,30 @@ +from __future__ import annotations from django.shortcuts import render from django.http import HttpResponse +from django.http import HttpResponseRedirect +from urllib import request from . import services +from .forms import OurForm views = [] -def wrap(f): - def my_view(request): - return HttpResponse(str(f())) - my_view.__name__ = f.__name__ - return my_view +def args(f): + return(f.__annotations__) -for n in dir(services): - if "_" not in n: - views.append(wrap(getattr(services, n))) +def wrap(request): + if (request.method == 'POST'): + form = OurForm(request.POST) + if form.is_valid(): + return HttpResponseRedirect('/') + else: + form = OurForm() + + return render(request, 'name.html', {'form': form}) + + + +#for n in dir(services): +# if "_" not in n: +# views.append(wrap(getattr(services, n))) From 2e49a959060b8869b9a683201ca2ab13d2e4c7c0 Mon Sep 17 00:00:00 2001 From: ArsPro13 Date: Fri, 28 Apr 2023 18:44:03 +0300 Subject: [PATCH 04/10] =?UTF-8?q?=D0=B3=D0=BE=D1=82=D0=BE=D0=B2=D0=BE,=20?= =?UTF-8?q?=D1=87=D1=82=D0=BE=D0=B1=D1=8B=20=D1=81=D0=BB=D0=B8=D1=82=D1=8C?= =?UTF-8?q?=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- proj/frame/__pycache__/urls.cpython-310.pyc | Bin 1137 -> 1108 bytes proj/frame/urls.py | 1 - .../wrapper/__pycache__/forms.cpython-310.pyc | Bin 449 -> 208 bytes .../__pycache__/functions.cpython-310.pyc | Bin 314 -> 409 bytes .../__pycache__/services.cpython-310.pyc | Bin 382 -> 661 bytes .../wrapper/__pycache__/views.cpython-310.pyc | Bin 832 -> 1231 bytes proj/wrapper/forms.py | 4 +- proj/wrapper/functions.py | 2 - proj/wrapper/services.py | 5 ++ proj/wrapper/templates/trial.html | 7 +-- proj/wrapper/views.py | 43 +++++++++++------- 11 files changed, 38 insertions(+), 24 deletions(-) delete mode 100644 proj/wrapper/functions.py diff --git a/proj/frame/__pycache__/urls.cpython-310.pyc b/proj/frame/__pycache__/urls.cpython-310.pyc index e8295378657c506cc8b9997d610a87e37c6f345b..70c852fa0bc339e897a831ce1863debd2d67ed3f 100644 GIT binary patch delta 144 zcmey!afO37pO=@50SKBOxu^6^Ou3`&_0}UMQQRmw6#0BSWET3TH5bCfCL-%bECoG3skF-eSp1%uV&v6quaN969+c lvkIFa(2gR($={h1Bt(Er76u-E9!4-^X8F&>qQuDZ9{^A`A`1Wj delta 173 zcmcb@@sWc!pO=@50SKPvI;E_c$Scd(GEv*vEtMsOJ(Ya{Pby~???T3ArgWw#zEt)s zHW!9ip(y@Tz6AoQEUElig0mS?IOZ~?@mb}E=R6k9j$&t*F94zHUi3PV9(Bk@rGGGF79Dul307#@Tq%h_%P8n literal 449 zcmYk2y-ve05P=!)}VW$sn&QHc9H+X3p+(kwRSaFo!b{*GZAj zKtCoiuo5fmNsF=s&Dsw*FE`pnwAIQU-zSH(%}fK&^kgdXWzlWq*=yU<|1zC7!a38w O=+3#Mzo;QOa()20L2l3h diff --git a/proj/wrapper/__pycache__/functions.cpython-310.pyc b/proj/wrapper/__pycache__/functions.cpython-310.pyc index 19307b79771c8d8ac3b6bba0c517a9943474d23f..f64c48e6c7acab8ee2b5dfa10253fca043f18a1f 100644 GIT binary patch delta 243 zcmdnRG?SS(pO=@50SLCg@J1GiW?-yGx3A8857vhA|6!52pt?Yx%nxjIjMFaYl=ad IxfuAE0m)M(o&W#< delta 171 zcmbQqyo-r9pO=@50SML}b4yX5$SW(t2jrx%r7)+kw6H`mq_74vXtGcAP*E#p0ZA|d zxlDd98G-DTKvofmQN#=)Si!`^N%6tOOh6_JV-Y)$^3!C2r~!#V6oOcq5Lu`ukQ7)u X8<2I2!zMRBr8Fni4rDgiEItMRxF{NV diff --git a/proj/wrapper/__pycache__/services.cpython-310.pyc b/proj/wrapper/__pycache__/services.cpython-310.pyc index 9eecacc8290ef5aca5e7ff4b88cf26e9328545d8..b48e8d4eabcb0ffef12a21741d41de7c01f68bdb 100644 GIT binary patch literal 661 zcmZWmJ4?hs5Z*^lbDn1svp%87t(MT>R!T84hl-iq8bkYS?jZ9mybkL`UGok}-3 z+6(29<0gI-cBH!SU1`Vg$G%if97|;b34(e#?iD-;&#;YVpbV-wn17c?u)O>sJNL?7=N~?v#mz}1mG7+VYi`|EUK4zEAFyRVz zHA^}~VP(l?QB@!MWAxOU1oR7wO{(yH3wrEgI282%a9`1R;I?SHVrCUH4p}jm`^TDs xc^-1A2C62gwlz`isv3jqL{&|>A0}nO7{iFhTni$Rp38NFG!AGIlh5!u{sX@+dh`GQ delta 147 zcmbQr`j5#apO=@50SK;hDyKvP>Bk@rGGGF79Dul31W2SXq%gKHL@}f=r7#0&#uS!d z22Iw9DWOuj`WgATsrpHoNtrqMW%_AFi9jBhocJS{QFF2nqqQJA&;&nCrXpq_T?FDx UPGl6FT+PJC!2;xPFz_$~0LUpD`Tzg` diff --git a/proj/wrapper/__pycache__/views.cpython-310.pyc b/proj/wrapper/__pycache__/views.cpython-310.pyc index c838772b94f4b12c765647db6885a66d5e2c8802..00e129e36821c48abe54aee2be99bec288bcfb94 100644 GIT binary patch literal 1231 zcmZWp&u`l{6y}pCS(fG4akF2CZKoZ4sC{e?K~bPZ8lYHGG~GqOASfmsE7cF@kxt=4 z1`4=9bJ>nP3_G;IF8!By-DUk3b{P67Wmt;IAo)G=y~mH=BVG0TA)`g+xNpq1MZ%QY~pglD&7+ekw(Va;9m%gYse} zm4)8C!a{w7HgljPUS>0?W_IG=&tlsiSb=;3H9KcS2#zShAW3e}Ns

VE%z&pZxwl zp8iA`)igyV%WOS;Sj|?2EVY_G%JkvtbovCVbK;a7m-2QxvnM)f8BCY7GJS#Raw&0o znaLMwvRoUU;+cvlwQ{KQ0S7dEM%K=|Z3Fc+fj4Xp0)+EA*uWJLuOXpE^xdP+0`0+U zyJb)L8v)I(*cLXBv5iyPGKCvg!?{zt0)By-#(j1XkQT0Ro;!F)b79xLIjwEoE!*%K z-udqtMRqqX`E_dd8``>w`{9ZSKO^f8_!Tx@+53OAU>i?Ue!*+5yS29k;r&jTiF(H> z@8#*K%ng5XeDW-Ie_S8D3^itHK3V7@A3KKI(i#_~YKk!q8?n${b<=&YNbw+(xiEeq z^`a7n>-AC^eqe+6bGcTyOP*-8G_KM(_R-2?x>SO;h!i4=rGX4b){}%|*t4CjJ?>Cv zI>kD%#T$~*R3iWm0gNDYMi9XehR%p{_!3@zVQW3v&#PIQt9z5{I67vKBxPF2BpEws zE05pWuGym5tl5X#XnPl$`x!wn;(*_iZ6G-s@5Nz~%vXAalm_h$iHG7mEzhcnT2!cK zE3Mjt_O7QF^pKGLC>VM+iNC@;&rVwb{MM%xl3~|6c+CxM1#Y%=>9H9ojc+e-DNN@~ u(u>vD5^vc5r&6$ARAQCOd-j#7@2HDdMDkq!9PR{8;6`5sum{d7{?8}1nIiW9 delta 452 zcmYjNO-sW-5S`g1+ax5lejLSnC@5Z~h#=_6R;ecsO6jIFnl!STwjwDWia((C59rZ< z;mNB9Z@GH%FL=?}pwb!k@n(55Z+73D7hX?&-vx^J{ZQO9fDc_P2Hn9P0IGOa-}AYs z#7^R#xd?*KZZ^2^+YnS|uP5uDNXh^UTZM8IbwfqG(i+NxR3`In+;OPJ-ZMyVo?-8< zO6sm|`3r4i(b?B#4I(*Qg1{>#S2HBerZ~YIAB`uFE14;%Zo|OHa0(O5tQ>?P%p4<} z8nlwtEX?Cp`}7O9Zk<6V2{-#$5*KEVwh4H_MG|KHR7i)6B$1kCYzhfrr1zJT#fjJmUw-CRoV; diff --git a/proj/wrapper/forms.py b/proj/wrapper/forms.py index 6178f99..99c495b 100644 --- a/proj/wrapper/forms.py +++ b/proj/wrapper/forms.py @@ -1,4 +1,4 @@ from django import forms -class OurForm(forms.Form): - x = forms.CharField(label='charfield name', max_length=100) \ No newline at end of file + + diff --git a/proj/wrapper/functions.py b/proj/wrapper/functions.py deleted file mode 100644 index 9831da9..0000000 --- a/proj/wrapper/functions.py +++ /dev/null @@ -1,2 +0,0 @@ -def f(a: 'int', b: 'int'): - return 1 \ No newline at end of file diff --git a/proj/wrapper/services.py b/proj/wrapper/services.py index 1eaecdd..1aee40f 100644 --- a/proj/wrapper/services.py +++ b/proj/wrapper/services.py @@ -4,3 +4,8 @@ def mnk(): def n100(): return sum(range(100)) +def f(a: str): + return a * 100 + +def ff(a: int, b: int): + return a + b \ No newline at end of file diff --git a/proj/wrapper/templates/trial.html b/proj/wrapper/templates/trial.html index cc598c6..8aac295 100644 --- a/proj/wrapper/templates/trial.html +++ b/proj/wrapper/templates/trial.html @@ -8,10 +8,11 @@ -

- - + + {% csrf_token %} + {{ form.as_table }}
+ {{ res }} \ No newline at end of file diff --git a/proj/wrapper/views.py b/proj/wrapper/views.py index ca8dbd3..bdf650b 100644 --- a/proj/wrapper/views.py +++ b/proj/wrapper/views.py @@ -3,28 +3,39 @@ from django.http import HttpResponse from django.http import HttpResponseRedirect from urllib import request +from django import forms from . import services -from .forms import OurForm views = [] def args(f): return(f.__annotations__) -def wrap(request): - if (request.method == 'POST'): - form = OurForm(request.POST) - if form.is_valid(): - return HttpResponseRedirect('/') - else: - form = OurForm() - - return render(request, 'name.html', {'form': form}) - - - -#for n in dir(services): -# if "_" not in n: -# views.append(wrap(getattr(services, n))) +def wrap(f): + def my_view(request): + arguments = args(f) + temp = {} + for i in arguments: + temp[i] = forms.CharField(label = i) + + if (request.method == 'POST'): + form = type('MyF', (forms.Form, ), temp)() + for i in arguments.keys(): + arguments[i] = request.POST[i] + + res = f(**arguments) + + #в f передаем словарь + else: + form = type('MyF', (forms.Form, ), temp)() + res = None + return render(request, 'trial.html', {'form': form, 'res': str(res)}) + my_view.__name__ = f.__name__ + return my_view + + +for n in dir(services): + if "_" not in n: + views.append(wrap(getattr(services, n))) From 531cf06db15942834516d65842c00278e92fc838 Mon Sep 17 00:00:00 2001 From: ArsPro13 <131661233+ArsPro1323@users.noreply.github.com> Date: Fri, 19 May 2023 21:34:23 +0300 Subject: [PATCH 05/10] =?UTF-8?q?=F0=9F=91=89=F0=9F=8F=BC=F0=9F=91=88?= =?UTF-8?q?=F0=9F=8F=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- a.html | 14 ++++++++++ proj/frame/__pycache__/urls.cpython-310.pyc | Bin 1108 -> 1107 bytes proj/frame/urls.py | 2 +- .../__pycache__/services.cpython-310.pyc | Bin 661 -> 695 bytes .../wrapper/__pycache__/types.cpython-310.pyc | Bin 0 -> 327 bytes .../wrapper/__pycache__/views.cpython-310.pyc | Bin 1231 -> 1630 bytes proj/wrapper/services.py | 4 ++- proj/wrapper/types.py | 2 ++ proj/wrapper/views.py | 25 +++++++++++++----- 9 files changed, 39 insertions(+), 8 deletions(-) create mode 100644 a.html create mode 100644 proj/wrapper/__pycache__/types.cpython-310.pyc create mode 100644 proj/wrapper/types.py diff --git a/a.html b/a.html new file mode 100644 index 0000000..1bcb60c --- /dev/null +++ b/a.html @@ -0,0 +1,14 @@ + + + + + + + Document + + + {{ for i in range(3) }} + + {{endfor}} + + \ No newline at end of file diff --git a/proj/frame/__pycache__/urls.cpython-310.pyc b/proj/frame/__pycache__/urls.cpython-310.pyc index 70c852fa0bc339e897a831ce1863debd2d67ed3f..470362d2849f0a741a0e2f9a77ed8eb3124219ca 100644 GIT binary patch delta 36 qcmcb@ahZcRpO=@50SHQ((^Gmk^6D^ia1^H&m1QQUZgyf8VgvxNBMG1Y delta 37 rcmcc2afO37pO=@50SKBOxu^7PA17cqjxqW2)3dUgd`WR#0o)>BF&kksKy4V zNAXrwik+sU){UZ+GEO2g6H(e79qa}8R0*A$)?ckJpt2DM8)PxyQvVAt_ryIom-zw* zeP|K}u7Qfd8GnYiC}ZPtu7|HCJZ+FZ%ed@0$-C3-_h-FvIuzkQE^wXvShaV~&)~`b PV4jCA7DmRH%b~mh?lvyx delta 247 zcmZvWJqp4=5QTSkH)iv*mUgy63b7G{oInt4>{3q_Y*Z$>fw@2k9>B&cSb33LKznP! z*?^r>d^7LOW0-qz3GC6@Sa3aG8@#o4nlD+PKxjlEP@>`vs7vW21~_VTp;&1QOYJlo zjMxb<-ia(}PmeB#!fL)yNk$4}x+}~V-XUOQK+$g=4Dz`iT*&S1X9E;>A6Tu2T>2+0 no%0`4;$a!vY(&Zn!{}926Zt@|_J^8mcb2o%Z;UW%tS0IUxq&MA diff --git a/proj/wrapper/__pycache__/types.cpython-310.pyc b/proj/wrapper/__pycache__/types.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..67ac862a6489f2546d055f8b40baf754078ff28d GIT binary patch literal 327 zcmY*Uu};G<5IrXWMOC|X;S)N5f1pAgkjm5|6_zqsu6;s5jcshFB{M913cr+i51(5|IOerlvgJz!ugpYj7bhd$6u1GlxMr=U{ zV@e3*gKef6d9$u~#P_(G~>oWoA_zMfA<;t zlP0UJfs-#81N9pM&NyT&hX{bMlR3E?xfZ*bm-~@#v4=Q_0*n2uk%v)eaga6hR@Ab% zk+t)7)J7cgX4c8OQP<*Db}wIx)__e|)Z=a5dC8)6-sSi3zrojd5C5BDOLUj;n0?oa zw)wi)z5@BJ=)K+%o8kk}728W^32)HG%R|0#%KDq{$fG`(c2X3jPIOup3a5b-1s4)g z=TPhEQ=z7~AaK65I)5s7D#b{nydlNqOeli>xRg0*@kZrz{toIJLM7x?Iudr_nfP9h zXyLXIrv8Ws4G>i9f}w$MgnHKEc*VRpehUW1Z<$=feSaMfzd_Avm`EjxbUu7sj%K+i zv>JYu>ciRD@I;muXk&a_h%b^6d3ah|GMwVd@LDF*sgT2~R9vgUbZ)#vPE;3FD+h-F za;Mx$`nyzzxQ*f*8AX>CQninc}=j0sjL5ad=}nTtLbePDNR~zHl|7%Ds;( zz_eTA%3V5@Q@Q)>vW1D_aX==YXrDVexM+-_a+dCrEs+1$;Twi}c2EyPbDB$7_^8ph zk@86|o^RFqNjGX7+%WE^X!Nh}Gc1Cl{eQijEdt%H73E}YOjR6krT3NqM z`@Q%atCOU+D6vE%cQct~=~>N3Q17uETBZ$?RMO=G8tjAc?W?aNK;+k^xLDN;6egg` zP;k@0cb8}_S6&O19%(%a_w$m^GVzegm--Bc4*GTX^PJEL-LTo&3tOigXR^C2Bvgop zUKEyq2l3EC{~zyj@F@BhcoW}5(1Qv2-n_i`ec!y9ufZ2D8i%1z@ZsN|@Y`$|-GGnF zTTh?0xSO`KAP#`+kvQZY_ur8?;%y#a?1-)iD%c_~yK#?)qBjHiNQ7s7(Ge>m5WR|4 za1KC@hdg>t2A$=%xc39lW&qk%Le7%cLe(R90AYOraTs7pQ3MBMr@m}GK5nE_So@`w!vQTU4)3ABxJi!Pf*e?!9#VNXXWZ27H(0Bzij=H?Gv}Nj z(~!=> zr1d?vaT4Nw2fplJkSzr5J=`D3?L?$pJDJG$$6T{~F%g<=k7cIWp;#!{GwqgXw^S|% zjx_UYZzT7onK;T7Qbab8nt_JdXf$*-m!pZx9rz%=o5`* diff --git a/proj/wrapper/services.py b/proj/wrapper/services.py index 1aee40f..c86e97b 100644 --- a/proj/wrapper/services.py +++ b/proj/wrapper/services.py @@ -1,10 +1,12 @@ def mnk(): return "Это результат" +from .types import Text + def n100(): return sum(range(100)) -def f(a: str): +def f(a: Text): return a * 100 def ff(a: int, b: int): diff --git a/proj/wrapper/types.py b/proj/wrapper/types.py new file mode 100644 index 0000000..9aa7e06 --- /dev/null +++ b/proj/wrapper/types.py @@ -0,0 +1,2 @@ +class Text(str): + pass \ No newline at end of file diff --git a/proj/wrapper/views.py b/proj/wrapper/views.py index bdf650b..9d973b7 100644 --- a/proj/wrapper/views.py +++ b/proj/wrapper/views.py @@ -4,25 +4,38 @@ from django.http import HttpResponseRedirect from urllib import request from django import forms - +from copy import copy from . import services +from .types import Text views = [] def args(f): return(f.__annotations__) +def field(s, i): + print(type(s)) + if (s == int): + return forms.IntegerField(label = i) + if (s == str): + return forms.CharField(label = i) + if (s == Text): + return forms.CharField(label = i, widget=forms.Textarea) + def wrap(f): def my_view(request): - arguments = args(f) + arguments = copy(args(f)) temp = {} for i in arguments: - temp[i] = forms.CharField(label = i) - + print(arguments[i]) + temp[i] = field(arguments[i], i) + if (request.method == 'POST'): form = type('MyF', (forms.Form, ), temp)() - for i in arguments.keys(): - arguments[i] = request.POST[i] + for i in arguments.keys(): + types = copy(f.__annotations__) + print(types) + arguments[i] = types[i](request.POST[i]) res = f(**arguments) From 0101cd84073c58846bb504042d1af44381b89923 Mon Sep 17 00:00:00 2001 From: sikalovaliza <116655998+sikalovaliza@users.noreply.github.com> Date: Sun, 21 May 2023 17:58:33 +0300 Subject: [PATCH 06/10] =?UTF-8?q?=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8F=20?= =?UTF-8?q?=D1=81=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=BD?= =?UTF-8?q?=D0=BE=D0=B9=20=D0=B2=D0=B5=D1=80=D1=81=D1=82=D0=BA=D0=BE=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .DS_Store | Bin 6148 -> 6148 bytes proj/.DS_Store | Bin 6148 -> 6148 bytes proj/wrapper/.DS_Store | Bin 6148 -> 8196 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/.DS_Store b/.DS_Store index 91bc4985822ec9441f3e659e4ce6f88d08e76607..294fd98f4c6ceea42563db199af940957c2dfba6 100644 GIT binary patch delta 503 zcmZoMXfc=|#>B!ku~2NHo}wrR0|Nsi1A_nqLoP#(XHI@{Qcix-=0@h_%=I8CHikq7 zJ%$X15@czhI8Z%fH;~r*4+cOM0|N(8O(jr$5koRihXR8U%s8MNNWCnOMpn-WR$l;A zpU;rRkP6gQf~=z+sC+#T8z5PMMN3(5QC?1dUOG@E&>sve3{V4+jRH#j1j->>4p)~{ zUR(h3Gf@6yQbA5;afyM!bw(y;7A00Tb`B0M4lZ7<*x-!(^5BxhlG0+Q#G+^rFCeib zBWbcLlea$yCkJP|fJAk*iMfT2f}xpNt&T#qrICS-f{C$NZ7nBM8XF_geRdr2m z-Atf8K)?ucD+usIC^$K5awfC1E+<0}gDZn0gA0Q%kk$hRR0^tpfO2sE0AuSH<7Rda cehy%?0y*EAC-aLqasX{$0vWqGLSzjy0E$C=!vFvP delta 399 zcmZoMXfc=|#>B)qu~2NHo}wr_0|Nsi1A_oVQh9MfQcivnkiTPN;c`YRkPHh$0Yec( zK0_9=Y*Il^W^svu!8JxEW)@a9b`Ew9ZjRXCjQsN8lEjkIVyDU4tlssU9Gvk264lk_ zW(GP6hGqt}Itta6MnJZSnPF`$Cx@uAzI9N1c1~_yeizUtAYcT#0}ObfG>qy7GT<&r zDNfEw%FoXMDTWK?q#Fh&=jRrHbud-hGBDI5By;m!T%bPVU|?w2;{Ef8BeLe){1ha4 zh9GqLf(#_XnGb;MfLmM^T$GoSpO+34gSj3g&%m%*j)RkBVne}Zb`E|HU~q31a=mfA@mdz0&YnTBX^iy#F diff --git a/proj/.DS_Store b/proj/.DS_Store index 047e3b377387f2507643f889344a1e787c1a6153..036ede30303c1900db064bebdb3e15b2514b7560 100644 GIT binary patch delta 274 zcmZoMXfc@J&nU1lU^g?Pz-AtnV#fNU^5TM|octsP28NSK1v#0;B?bo98JU<_SlQS) zIJh{tc)4POGxE!WOA<>;i=7gSqCvcX#FC68C_5xSKL^fEObW|PEsqxvan8>xNzBYk zEdp!KOi2YQi3!ilOUW;H$}i1JDF&Mp90rl$;Naxoj2Doot~N2Z&`~fnGpp56sJ1jR z&`~fkHmj}WZC$+fkZb*-mt5x2C4!Jq!7ZQJES030BY^nG?pBX6(@~C2+AJB zjs*zu3;YBdzM$Vw@dd2l+?i<=Ck~VqNSU!_?!-Q4JU(|Gx)UN2wO&vm+8`naneF-- zih{(?InSgebBDcDw2y0x(iyb9VHL0nSOu&CRspNP|DXW&Y);OceP2JdrB%Qx zu#gJy`rsn7tr|PlRxKSUR0sgOg4-&gjyOPZTw|-ojtl~6lnr8J->dB`maxt%H2m-DfLtQq@K#yq=qcV-%n4=atPY@36H)sy+iwyf7p z$FVAm-@g0)l{-JD-L?$=0-d%ddvSnfv2b}5P#fYU>fmEaIB^Y_N#Rz3PjO|1=r>bn zhhC7R4%#oq|Cqv;RZkAV@NgItftyg4cgoV?c{r0UDQqNdg(4G=;z?Es(uR0fiubV0;N>M& zPX7bL?`NqQrr-QDj^bfcJO}c4c4tWa;`Y_}pTvW1lT~2R6j;_DyutDR zgZbzGizbWxUaP=DDIiwrjd~5Ae7dVoe?7$Br+s3WH6*M#BVHI z&dA6$Sy51G@+5&hlMRJLC#wo=*;pFGvY4HNLy#G$2M7eXfrKl_tc``=nJ4qhID#w# TnZ^R5nIN`-#Wu(D%wYxqn>iM6 From dcbbd41b75df73a28b1463bf1b1e3ecfed483980 Mon Sep 17 00:00:00 2001 From: sikalovaliza <116655998+sikalovaliza@users.noreply.github.com> Date: Sun, 21 May 2023 18:24:05 +0300 Subject: [PATCH 07/10] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=D0=B0=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F/=D0=B2=D0=B5=D1=80=D1=81=D1=82=D0=BA=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- a.html | 14 -- .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 215 bytes .../__pycache__/settings.cpython-311.pyc | Bin 0 -> 2688 bytes proj/frame/__pycache__/urls.cpython-311.pyc | Bin 0 -> 1540 bytes proj/frame/__pycache__/wsgi.cpython-311.pyc | Bin 0 -> 733 bytes proj/frame/urls.py | 5 +- .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 217 bytes .../wrapper/__pycache__/admin.cpython-311.pyc | Bin 0 -> 272 bytes proj/wrapper/__pycache__/apps.cpython-311.pyc | Bin 0 -> 590 bytes .../__pycache__/models.cpython-311.pyc | Bin 0 -> 269 bytes .../__pycache__/services.cpython-311.pyc | Bin 0 -> 1173 bytes .../wrapper/__pycache__/types.cpython-311.pyc | Bin 0 -> 437 bytes proj/wrapper/__pycache__/urls.cpython-311.pyc | Bin 0 -> 512 bytes .../wrapper/__pycache__/views.cpython-311.pyc | Bin 0 -> 3914 bytes .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 228 bytes proj/wrapper/services.py | 5 +- proj/wrapper/templates/home.html | 137 ++++++++++++++++++ proj/wrapper/templates/login.html | 119 +++++++++++++++ proj/wrapper/templates/trial.html | 130 ++++++++++++++++- proj/wrapper/urls.py | 8 + proj/wrapper/views.py | 19 +++ 21 files changed, 417 insertions(+), 20 deletions(-) delete mode 100644 a.html create mode 100644 proj/frame/__pycache__/__init__.cpython-311.pyc create mode 100644 proj/frame/__pycache__/settings.cpython-311.pyc create mode 100644 proj/frame/__pycache__/urls.cpython-311.pyc create mode 100644 proj/frame/__pycache__/wsgi.cpython-311.pyc create mode 100644 proj/wrapper/__pycache__/__init__.cpython-311.pyc create mode 100644 proj/wrapper/__pycache__/admin.cpython-311.pyc create mode 100644 proj/wrapper/__pycache__/apps.cpython-311.pyc create mode 100644 proj/wrapper/__pycache__/models.cpython-311.pyc create mode 100644 proj/wrapper/__pycache__/services.cpython-311.pyc create mode 100644 proj/wrapper/__pycache__/types.cpython-311.pyc create mode 100644 proj/wrapper/__pycache__/urls.cpython-311.pyc create mode 100644 proj/wrapper/__pycache__/views.cpython-311.pyc create mode 100644 proj/wrapper/migrations/__pycache__/__init__.cpython-311.pyc create mode 100644 proj/wrapper/templates/home.html create mode 100644 proj/wrapper/templates/login.html create mode 100644 proj/wrapper/urls.py diff --git a/a.html b/a.html deleted file mode 100644 index 1bcb60c..0000000 --- a/a.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - Document - - - {{ for i in range(3) }} - - {{endfor}} - - \ No newline at end of file diff --git a/proj/frame/__pycache__/__init__.cpython-311.pyc b/proj/frame/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..050f13a788e47895cd2c2f6f035db2e1b61005ce GIT binary patch literal 215 zcmZ3^%ge<81jlY}5inxr34l%JKFToUh}m#UkXT#}ie7o1vDmYJNY ze_`TLejxFInURt40|SgGVg`x<0FFsOE&u=k literal 0 HcmV?d00001 diff --git a/proj/frame/__pycache__/settings.cpython-311.pyc b/proj/frame/__pycache__/settings.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9f9e9ac00dba039baa5ec231e6e325f7864e56dd GIT binary patch literal 2688 zcmb7GO>Emn79Q$fvZTn4lDJ6Hoh%Bk5oV2_UG-oW2Ly-!9 zqBT!Cc7X-jJ?*83qK7UPy(|`3bT2(EuxF(RP=hA}ds?6e0!1%9^-({zpaf`2Q;#!m z-uvF0_cP z^bP!m&zG_BX!83tOuji`9K^@N(~+FOQ8|fYatg(gJDfrIdw4BA^ zEQV)*X1`)6gL7ZRT8x~-c{z{I-~vhDS#Jg*JoiO}GV&RG78gP4EIv1&=LhrxWm+-0 zfam2|{DwRSHqXMZh%d_L@Fn>?zAT}IH`PVhQl@;M8ZDExiQ`bCWwU#x#qL>Zo3I_r zJRq9GWip$@AeQP7%)L?9jv!aL749x*ZvbN3vOQ;qzPr4Puim~#mo#PV`nydp zx3n^tpe=7?~uQ)WoX{O;=be9{1+dDhWb-|ZQQ_N6>7>;w; zA+~p6YSAXP4GDO8p$!Xa3p6fHYdDZHEliZ{C%cx~=@1JXTpEeBDaJbKsutk}p`gwo zCxtPA!Pd!|w>phF@`IbumxjCvt%aA3KrysUgDVX_zaeT{dt3>~BTBjxqIai!Q6Y+x zeh4s!08(vGs}qXTn;6GzQh93_#|f=Fuh@i6wI>Iv_5}Kc`*)N7J=ei*K<-J%>6DMWaXK0k@cp6cq(NnzvN)9Bexb?T7YUID9)x~tky z#6!+P#7~H|%}P!5V>Mw*wBY7I-h(OU2bI%NZM$n)Sb-yk0uH2++p&oyIAQ0y4v}b^ z>T1{!kA@Pa<=uZ>q%CUDw%e`}qvhVNRM`ol(PjC?!=`0#ZBYHpiYRC^gAZn;aA z>qmE*B`*mV0W=Kny*Yw~Ah%6SbemhJEodlngAyIr7B2WnMS(M3QT${FPEwujT2TnC zpHh_Yj0yP`u}%FM@e>_5RSd^ZtqYPEX4}t5Vrg4!Di6g^{CHVh-`VtYLbY0dES8lA zb*U-&`ASV{0t*;WB9foks+7xB@v*Qi`q}Mzy{YVMS4;KUhM#VVTaBvF6eYj#SlX6YmxZPfnw9){VW;^(X$X?^xV~Lh9tqV7EY_h2b5)_Xxg%_fN~vBJ0kE;I$w zZU3J@zw7_|`Dc81kMe`=IJwWb&fzbq_aH;APVQSbz-svajr|a45M>x9h-8>pfI>2l zm^b=pe)0_xC|me+_4Cx9?*IAz4>MQ3pSkjU=B*duyZB;erI!lwD8J40G9Z}F_2S2~ z?3XwD1+JG1GO4*pfX1Yk4~nUL$QTh&DWbyVUN%UfqR1Q-=8lT<$5}Q&@wf65B$_N{ zf^;^X2vA6(`CO!z4p>xtr;iF?J)S?B*I(d1-%I60TQ9DyhV*U{{JFL#`s?WK=r&h%2pu*F1>MfnTheFmL>w~ywA JuXPQA`YT6yfVKbt literal 0 HcmV?d00001 diff --git a/proj/frame/__pycache__/urls.cpython-311.pyc b/proj/frame/__pycache__/urls.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d7c8b2e496fffa2785b017c08267777a7200927e GIT binary patch literal 1540 zcma)6&1)M+6rWvg@_G^^4hh6MfQbS83(@rOY$`D{Iqg|GCWf4RXuh>9l&<_w*j8(Q4?{hP!wb)hl)g zpgY_SD7p60d*m_;J6?Cl?Z{)HVSL=9{U$Xfj=L{~z`AG%)H1rpSLvNZ<|GvnuqB8C7II35{G z*XpD*qq3FKl^#b!5}tva#jYz-o*C_~&$=cMnC(=P4pp~SuN!~Mn_JhCyzK^FSl5%{ zEH1&4dig~W1x86wzUMhqBHMazQQWm!pe z))4Rzac@_}Cgr&T8;lpCg`R3v`o+|@oAYBP=4WX^XU1b>qpm*KOI%h zk1OX#cy)|dC%6P3R*ql0-ManGo#hxeN4Po0&1pWjq#u^21~L|JtxS=o?P#e!yfnc} zf8w)$;IqfkarE_P-yXy-tfz9vesJcubN5)hyfs?h8iU5$W4s+Jkxgbr_zHCWFG7XJ AY5)KL literal 0 HcmV?d00001 diff --git a/proj/frame/__pycache__/wsgi.cpython-311.pyc b/proj/frame/__pycache__/wsgi.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9d5360120055e027eb2b999818a26abdb1d8f4ef GIT binary patch literal 733 zcmY*XJ!lj`6n?Xpc)Br%h)F$!Gy$_?M9_$c2Z?7y6X6n+YxXuf@9rk-?kqcV7n3TW zy;#{=MI?;~5}UNv6NxBW1+44>!N$tjI}hTUnK%F6_q{jsZhYJYYhQi{{(=DfEG9!6 z`8PQ2*ufj%&;U-j6Ojh7eJOI{Qlmrw$;R*`yd520KHKvVKDz4w?AbOj0uEql*G~3^ zOVBvSojS~%+y3T0t=E=lD3g|G)0WI=D+^+zX(l%?)Sl}uX^PKNsZdefK{_}dL{YFF zAq^A_Xe@a*!r2IW7|~vkiT+k%VK{9zgEWmq7-%7rX4B%`w;Zv|kc!08#r+K`6ALaB zZHWl4QibStv`*D+#<&cX$2WqcEr*&y88b}S4R4Nhs?k%eA`ycx7Sj(c*TcAG@beYmv0oOgS(6z7^p6 zxg%A6X&}Q3t$MEj%}SOgFJsaZnM`umUgX#cx{=Pu&hWj5(?ZYh&^orJFjFkJIe%;Z zI$Mxow~(z^P3Q;Rb@pVCc7G+o*&r-(R>!O-LS*K(`DFH~IWQm0zWHeVf%$y+iWNy= zeck=oy>#o(`8$Ibxtmoiqy1^1o>_NNB7~ecWioOCg}V&I-MLVdW0*7l*JE&Ay5C{q lD@>S4&s@8A2-PE~8mJyurc7n(urhsAncf*IN_NqL{{@lH;SK-* literal 0 HcmV?d00001 diff --git a/proj/frame/urls.py b/proj/frame/urls.py index 2bf4e40..78b80f2 100644 --- a/proj/frame/urls.py +++ b/proj/frame/urls.py @@ -14,12 +14,13 @@ 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) """ from django.contrib import admin -from django.urls import path +from django.urls import include, path from wrapper import views as wv from wrapper import services as fun urlpatterns = [ - path('admin/', admin.site.urls), + path('', include('wrapper.urls')), + path('admin/', admin.site.urls, name='admin'), ] for v in wv.views: diff --git a/proj/wrapper/__pycache__/__init__.cpython-311.pyc b/proj/wrapper/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..931cd24a971167ba8ea30d7540e575c4dc47b393 GIT binary patch literal 217 zcmZ3^%ge<81jlY}5inxr34l%JKFToUh}m#UkXT#}ie7o1vDmYJNY ze_`T(44TX@K?*b( zZ?Pt(lXlZ=$98I78Ilw>4Tl2S5Wzj!zMRBr8Fniu80F@DI*XU W%L0iH%#4hTHy9KyU_(W0KotN*W>TU6 literal 0 HcmV?d00001 diff --git a/proj/wrapper/__pycache__/apps.cpython-311.pyc b/proj/wrapper/__pycache__/apps.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a1562ac46975dbf820aef02285f39a50971de4bd GIT binary patch literal 590 zcmZuu&r94u6n>Lrt5vrYX%{>Q^|%K!&`Vt?1+8=~!YYUexePHgyF{`{oFpyvg1U^ zQ$N*-Iz~KGrx%}Sj5}y`Q;J`g*zpIcTU~&KB$-1v{4<7gOUh~tr=J|I>LKg*+D_BV zr>mA|BdLEvX*Hu+A$)}FcJgJ}f>-h}rn>jZI>N{#gbZOp{XIty4DxgY|H9|DSNiSs Ie@ew+cZY4Ey#N3J literal 0 HcmV?d00001 diff --git a/proj/wrapper/__pycache__/models.cpython-311.pyc b/proj/wrapper/__pycache__/models.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..37c4026257a5af95bb65f0992b805347fe76d18e GIT binary patch literal 269 zcmZ3^%ge<81jlY(44TX@K?*b( zZ?Wa(r=;c-`)M-W;!Md(%uCPLOGzqX21>4E_zY6>H62LkhZd(673(LOTUuBe>AU17 zm*%GCl@#l{XO?)BCg}$hxJzK7xrG* zaAEs}O+a$*g&i0B^$UPH^vjD93kp(;^dU~rE2#X%VFP5B=A_ycaR6;)1ma>@An}2j Rk&*ERgUkhNsE7@y0stkaQA7X$ literal 0 HcmV?d00001 diff --git a/proj/wrapper/__pycache__/services.cpython-311.pyc b/proj/wrapper/__pycache__/services.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5c7accef6438d2ac377d167fa4073df82122b00d GIT binary patch literal 1173 zcmZuv&rcIU6rR~1rBI4iP!Pd1F~Rhp3mStMm5YfUOf{)`;9|^}lnCycC;Il?H@7HL77(xY&f&!w$zaIerMhX>Lx_lZu`N?0A-;#b!Zp$72rTprz zL14>Y*(5?Ofg18F4`4lXxp1xQ^vu7Y=9UkUAp$vUaRl~iEU3=#M^6jO?dV=#AdSu$j#IgtRb7sD|C>`H&#ZA{nF zZI*c(ckb9fELB>892}6QLk>-Gh!YTXu{zmi(sDU*5`2_*fNH66rFOSXWe1c6l-t;g zj&%voLIjT$5>_>&t?CMmP=dgIg(A$qBE%_-4kL^JxVU)|Eo^|E16`vKQ=P%*8@2#+ zHK!Ug&85bTjVV7iCXF$rGM$R5cNCc3a*4YFpOU&U)yF{3JDxhG+VjZ${*GQR6j^zZ z-xTAp46ni6259M&(w0W)`4;IygwPR5h7W!%gVHlt(uN47gY_W{3?2nYCFo(rbq(m#~=<2utFK1m4J-t3``8}3@HpP3@MDM49l1q7*+!@1Vk~W zFaSU=I+(!$b6-z7h}G&eP`q*&iQ zv&5q`Nk5<{KPxr4B;G$SRW~uYBr`uRIJKxOGdWfN!o&+(FKk!1u=m1-3)?Sj0+M?# z?6}ykUjWphUtW}0P>@=rUs73+TC7)4Sp@PLm;m{rm>)59Ht5%7$C?mMhE- zm|Pb=9Q@#7WQ1aWSF7lxd)V0Et6t?$=`TmjyL%WZ}3+UoBX|Xj(stKkD1~7lwrBo zvVZa&+i*NmvFRq85}NX>fhj^yg%EbYEdT2rkm7&6rvq)gzI8ftvC>Y>KP+;TZJ}%% hWjiP);OUEntIW+RN0}DNv{9y~sgp`QArG4nIzQhEkc|KU literal 0 HcmV?d00001 diff --git a/proj/wrapper/__pycache__/views.cpython-311.pyc b/proj/wrapper/__pycache__/views.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..46c99f4767321d2a544f1643f6098a83d5fd5d96 GIT binary patch literal 3914 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 T@pn6@Cw61JkFMl-!4Bd-NVQ#- literal 0 HcmV?d00001 diff --git a/proj/wrapper/migrations/__pycache__/__init__.cpython-311.pyc b/proj/wrapper/migrations/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9d4fcfd5b8de8764afd5dbb4cf0ecec331105425 GIT binary patch literal 228 zcmZ3^%ge<81jlY}5inxr34l%JKFToUh}m#UkXT#}ie7o1vDmYJNY ze_`TXID%OvW&&nK;i>4BO~Jn1{hJq3={(ZhC)T1 literal 0 HcmV?d00001 diff --git a/proj/wrapper/services.py b/proj/wrapper/services.py index c86e97b..39ec05c 100644 --- a/proj/wrapper/services.py +++ b/proj/wrapper/services.py @@ -10,4 +10,7 @@ def f(a: Text): return a * 100 def ff(a: int, b: int): - return a + b \ No newline at end of file + return a + b + +def fff(a: int, b: int, c: int, d: int, e: int,): + return a + b + c + d + e \ No newline at end of file diff --git a/proj/wrapper/templates/home.html b/proj/wrapper/templates/home.html new file mode 100644 index 0000000..34a2bfb --- /dev/null +++ b/proj/wrapper/templates/home.html @@ -0,0 +1,137 @@ + + + + + + + + + Sticky Footer Navbar Template · Bootstrap v5.2 + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + +
+
+

Sticky footer with fixed navbar

+

Pin a footer to the bottom of the viewport in desktop browsers with this custom HTML and CSS. A fixed navbar has been added with padding-top: 60px; on the main > .container.

+

Back to the default sticky footer minus the navbar.

+
+
+ +
+
+ Place sticky footer content here. +
+
+ + + + + + + \ No newline at end of file diff --git a/proj/wrapper/templates/login.html b/proj/wrapper/templates/login.html new file mode 100644 index 0000000..a94a29e --- /dev/null +++ b/proj/wrapper/templates/login.html @@ -0,0 +1,119 @@ + + + + + + + + + Signin Template · Bootstrap v5.2 + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ {% csrf_token %} + +

Please sign in

+ +
+ + +
+
+ + +
+ +
+ +
+ +

© 2017–2022

+
+
+{% if message %} +

{{ message }}

+{% endif %} + + + + + \ No newline at end of file diff --git a/proj/wrapper/templates/trial.html b/proj/wrapper/templates/trial.html index 8aac295..a420bd1 100644 --- a/proj/wrapper/templates/trial.html +++ b/proj/wrapper/templates/trial.html @@ -5,14 +5,138 @@ Document + + +

+ Теперь здесь можно удобно добавлять любой ваш сервис с любым количеством полей! Пользуйтесь! +

{% csrf_token %} {{ form.as_table }} - +
- {{ res }} - +
+ +
+ \ No newline at end of file diff --git a/proj/wrapper/urls.py b/proj/wrapper/urls.py new file mode 100644 index 0000000..1bff905 --- /dev/null +++ b/proj/wrapper/urls.py @@ -0,0 +1,8 @@ +from django.urls import path +from . import views + +urlpatterns = [ + path('login/', views.login_view, name='login'), + path('home/', views.home, name='home'), +] + diff --git a/proj/wrapper/views.py b/proj/wrapper/views.py index 9d973b7..820cba4 100644 --- a/proj/wrapper/views.py +++ b/proj/wrapper/views.py @@ -2,6 +2,7 @@ from django.shortcuts import render from django.http import HttpResponse from django.http import HttpResponseRedirect +from django.contrib.auth import authenticate, login from urllib import request from django import forms from copy import copy @@ -52,3 +53,21 @@ def my_view(request): if "_" not in n: views.append(wrap(getattr(services, n))) + +def login_view(request): + if request.method == 'POST': + username = request.POST['username'] + password = request.POST['password'] + user = authenticate(request, username=username, password=password) + if user is not None: + login(request, user) + return redirect('home') + else: + message = 'Invalid login credentials' + else: + message = '' + return render(request, 'login.html', {'message': message}) + + +def home(request): + return render(request, 'home.html') \ No newline at end of file From 48a61e57cf97ad962f983aee26834a0beb81b70a Mon Sep 17 00:00:00 2001 From: ArsPro13 <67059479+ArsPro13@users.noreply.github.com> Date: Mon, 22 May 2023 04:19:22 +0300 Subject: [PATCH 08/10] work with files --- proj/frame/__pycache__/urls.cpython-310.pyc | Bin 1107 -> 1164 bytes .../wrapper/__pycache__/forms.cpython-310.pyc | Bin 208 -> 440 bytes .../__pycache__/services.cpython-310.pyc | Bin 695 -> 924 bytes .../wrapper/__pycache__/types.cpython-310.pyc | Bin 327 -> 431 bytes proj/wrapper/__pycache__/urls.cpython-310.pyc | Bin 0 -> 350 bytes .../wrapper/__pycache__/views.cpython-310.pyc | Bin 1630 -> 2594 bytes proj/wrapper/forms.py | 7 ++--- proj/wrapper/services.py | 8 ++++-- proj/wrapper/types.py | 3 +++ proj/wrapper/views.py | 25 +++++++++++++----- 10 files changed, 32 insertions(+), 11 deletions(-) create mode 100644 proj/wrapper/__pycache__/urls.cpython-310.pyc diff --git a/proj/frame/__pycache__/urls.cpython-310.pyc b/proj/frame/__pycache__/urls.cpython-310.pyc index 470362d2849f0a741a0e2f9a77ed8eb3124219ca..02bf8a46645b146f421620cd4348b737e1bd4412 100644 GIT binary patch delta 311 zcmXYpy-LJD6oqFdGx^(0Ho71vEG%|GFt&CUmLj4EG9Vasu9}dProN5;moqWa%j^NM2H2~v-h**qAVW=~ty aYd(#Wl_iZ7dEEeee`f@ke!FZH)1P1OVox^! delta 239 zcmeC-yv)Iy&&$ij00bq?=_$Pvd1V<(CTh#ZFfybtrm*C&=CVbxgW0S=Hb)dEBSR`n z3R@~u7FQN`GgCTa6i+I97Mlx0tWXqhD$fGGRF+iUEdJRHDeQBZQhA|lj$Y=4jEoG0 zswteo44PaUcQi2>G2UV+NG!?FWW2>%mYG^!3}kQ=rxulECZ`rxu_dPDX6EVtV$=r; zv*ab_ruu0LOzvVf5V^%(UX)l+kXls40(5f}Q+Zht>*UMKmTZDRZjs<*A(jLQ5g?O= Ufrp=m5e%7G{&TS?F|zyz07Q;DasU7T diff --git a/proj/wrapper/__pycache__/forms.cpython-310.pyc b/proj/wrapper/__pycache__/forms.cpython-310.pyc index c7221bceb3439498fdc5e0501430691336822b18..38f973583eb4c23d100c036fd15729550bb02198 100644 GIT binary patch literal 440 zcmYjOy-ve05Vn)Fq;0w~vA~uA`~nD70<}ynQpJ+RGV!$}Byq44P-l3MG9uo{D-*B4 z#5o!0N%!5)cm8xItLb!1&`!T{xx@JFibD&qn4z091W6<*cqAz*d3Lk_crtU; zS;nCaIj=+soZB(yrIKyo@`&^2Runy>ow^-eKMFn1ppZ6jeLI?G1@w){)=Bb>V?T+W z;Cu(aD|T-{8z!`YD%-Iem9`~RjbV$dxoscVomM%d4PRAoF487b)f)6mmIAAhVXs=$ zHE7mdeNpeUkJ8S~5FsQXjcC_f#(^EmTvS`tuN$}nJL-R(K8x_B4KMp!uc#Aq-w}~x F?+*kHYjpqs delta 113 zcmdnNe1TCgpO=@50SMwAd8fz#>BkcjC2a+Oj1-0x#vF!R#wbQch7_h?22JLdAa$CI zw^-Bii*k$oG?{L(rDP@MrRNth0VP&46tMuQB9_Ulj3J`8IBatBQ%ZAE?HGZA#UKR& F3;>+f7_$HX diff --git a/proj/wrapper/__pycache__/services.cpython-310.pyc b/proj/wrapper/__pycache__/services.cpython-310.pyc index 2932396eedd403f741ecea6da73edf0fddbc0c1f..f12a675805e97efa9d355d295c39c66dc58907dd 100644 GIT binary patch literal 924 zcmZWnzi-n(6ux(7CvKXgZJH9XA+`+QvLiqO@ncC5fyE0-edov}wxc_z5Gey{JMxco zKw?1*NU-n+B&%1Z%xp}&ca~`c&${P#-{*VZd+(gJS`CKw5*%ne+`>e553CbyJ`xNOMn3n!@K&XY~$MUHIA zHX>UUB6pD4#kGfQLw4jovJKfCvi`vuwOJnu{_JRtMN;TIjwdQ4eA9@0i0hYwP6D3g zgV}YAmmgPW%WpSU@0XvKUsmVKud5FTd|I7dGF?Od%Kd)fzcNZ2f255{QOpYSEZLx9lt1?^v>ZS z-JK!DCg?VyFbZixl~G(xOjCI{tw4;k+$QRS-a%|5z0C|!i_k4{yXXoy4oRajifP#n zsLuskK#vXCB@D{Eyv)0Y+`q|r6j4rFvnm$J?SKZi+vu*{K)+ literal 695 zcmZWmJ#W-N5Zw>^;v{#WK|yr1E{H=PA*3Kdb)Xz+u0f7x9U0;e?XD9}N`aCzNc@o$ zNNFMpBqX|&cDpTAYC0-rY@O~B#@g98Z)e`juFKJAjiKFqIfP%h|E6HsJPcmoGUR{( zzhF}a0^||T#Z+(x9{9*f7$}hnSb^Zen|c`eu&VsjgEd%3W&pzp3r7j6+%b;PE-pij zfMbpr*N+i5-`cb0=acqxbKQJz&zm3ZS0t|5vrDF_XyN|uMf*l+6UEx7BAZ1o%cRa# zVNLWZv#;xe=&de4sKma1Q>dqLVzaWCD1DqIDyr}#I?-`eDIK8*k!Gu!Ihhw9sf`in zJgy~fw?u^8dGFLG``=9{qr1rvfn}BhKgVyvF2(p3s8Tp->fHG{E)LaV{vJ^u=M~Sk zw+D#2wnMJz=QtiG)Ol`%DZ6VHAUMT`d&nkCQ)QI-o1{y=7L| cE^kR_p%(1qCDcdiIZ=kH0ydO^*pQp@AA;e5^Z)<= diff --git a/proj/wrapper/__pycache__/types.cpython-310.pyc b/proj/wrapper/__pycache__/types.cpython-310.pyc index 67ac862a6489f2546d055f8b40baf754078ff28d..7afafe7aacc0ae63386692a7bf01bc76090bf97f 100644 GIT binary patch delta 274 zcmX@kw4RwapO=@50SF>8vr-Hv^2$0X0XgmrDGVu$EkK;g(99gg2;?)RFa!C_%}h~D zDJ;PZnykqnUC4kD$Z-JT&lBS$8COoM&|qT+@`~6eE(@(^0KDvUZTp YTO2mI`6;D2sdgZnia}-wFbFXN0Mhj)a{vGU delta 149 zcmZ3_e4L3lpO=@50SKZy(^DiT^2$ny06FdqDGVu$EkK;g(99ggn8FmypvgR0o>7vq zcw&wuqvpgm4K`Mw!Xnm*TS9#pfh-U%W&si$3@nUAAfBHl(=F!Wk|Hpt2%;J&3}LYW WS+_WBa`RJ4b5iZVnwfw?A`AfRR2h5# diff --git a/proj/wrapper/__pycache__/urls.cpython-310.pyc b/proj/wrapper/__pycache__/urls.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6cfa782324f760c88995e0b3f45fbce9c0b89fde GIT binary patch literal 350 zcmYk2OHRWu5Qgo%8q&1)$b$L;73u;BRt2eIlTBsfQJN^RBim`!-hpGV;4YlNTUNaS z3&c2V7|HYN8_)cHsKp{97@wO~yrX`3_#X+v2A5f55=79B^t7auh(Ls0(1&G62~ZJ1 z*hV52$ySzjirevsNuscK;;dmRGh>atHd@RKNz@VJFRp0W|YhSPf^Fu6rfM T4(|MejQ`A>Y5MaE(N|vt literal 0 HcmV?d00001 diff --git a/proj/wrapper/__pycache__/views.cpython-310.pyc b/proj/wrapper/__pycache__/views.cpython-310.pyc index def5131f579024ff52a1fd6f6148720571a8b84f..be3f42e7a29a35d2243ff338002158c110e1735a 100644 GIT binary patch literal 2594 zcmZ8jTW=f36`t7}mlP?{vaY_wu2U2sl8DJmjUtZI!l@DisccvYiZ0MHE6zwC z>z{|>KW)bTO@oV13xnS>#><}o1QR@E8IL$8?4(ZSMy|zf>Scc9TkHV`QDCv3wz4n^ zvv${7gzA!6wBf&-q*y6SjGFgydjrs{u%poKe{Q_tX{tZi`KE4ewuw>$_}l<45w!fSZLl&kG&vq{z$H z+yqMILMlvjztDR6M3z%bNQ_r5j-N=8C^^;x$8_VFp2%D$<5)}Mr^P{%H!-)iG+Cn@P{e=g&Z=!@8dy4Znu6au};p=E?E!vtm5U@bTsF z^F)6!+Z#Ss#Ubn(J<8<=@tC}_+kD(`ikab&ilZrbU550;D{*v#K%!lk6WWfbl3$kA|GW4Nv zUOKyAEzEYwY(I_nWIAxvCRCW017f>zGg6_jy%LA#l6PXI* zmRgzigGtDFn1zfYU50$LArdC1ROpL=iAFEMi|ZY~5N znsvnvfJOo$c6=SlS37@Oonv(BykekrYwlG1)U6y#;@%%&s)t`~({q=7#LC-8a3KBu zgm&hLlcn~Q;D6=wAYZtst9D6`VDmsPR!q2+r&|pLDcJ;&f}GGjQB^R8fqpWNAY*=&K%FV{=bkA!Iq; zrYd3yZmEd!BlV;Z>IPPz#LyA`_QNlKziYgw^0-vQWc5CE*QukVRkzR$T8iRp+Q{{$ zS|FWdHdXJ^iVtYYr}Qe-7713UqiUmUmb9|t5tR#CT;4&~<(|!yMZV&6oHcN!gSNrD zPTyVjJif+HR*A)1_tIhvvlEcz;b=q@9*vOb#9DQiI;+g8wHiIzO`2?NL`q)s zxcUvohL0|h%ZH5G10vTq00 zwK&tB@M~~b1amKUL~HJWdQ60(U3m$&LGA2V2b*w)GHjDEoW^B&R44(9KE@}gd+3Ze zDKdGo`7nPTr-`_2FO}P4B?VnH@QGn39V@hqFs)3MWqcq9f%=fnutB8MQB-cC5F71v zWn((3eT`_M&VOldc0>85=IT2#Mjj3Ft=6g=yiw zinUhOmDbh^!FU^y@E-m|%u;!u99&Yub&*l@>)ZY<_MFfO-LMn--CH4F;m&uV+gH0_q^YMs4c6M1GyR zv?6VTR%uPzDb{3e3b)YHn%|;z*4hRBgw>9x*%Uj&T-Hi)3MT+)=PqqLMBdbCQ?=wl zZnyjWNVG*a>c?Jo1Foz>UgB(L$YLSW`eww#SUO}Q8jMb1vdN4Y-|cR&BJqg55ZM>F z3Ds;K`>rcXVl2S`Ue8i|0F8`ji%`lgXy@^vx~{ zsB&Wk4w&%!s{#4R7qUb07(Qp;$jp9ytO=YzqRpaI9#Ci#KhaX0;6z(PJ63{vgu*uF z_k~WeFnXm;NN}p9XiO3~HcyZgZd&r7L)0s$FxDlbuGkV?@yh+ygkNz>#+5@v^)5=_ zEiAu=vC+5xC#Gm@2s=SkONel?5Blo9I;H1wQyN}ZpoYK~B;-cO#8yOkOGQd5LT*dt zbF$4wF?Uq-tO8BJj0CU54QcXnn|FpG>x(!if`tPfZb-E)xtf6*&OREKuT~VrMFqv66d5lDMfP}mFe{g_YDUhe zMSy$K&0+n4Hw-Pw3af+HLJ_a)fGre>C%ITM Date: Mon, 22 May 2023 22:03:39 +0300 Subject: [PATCH 09/10] work with files --- .../__pycache__/services.cpython-310.pyc | Bin 924 -> 942 bytes .../wrapper/__pycache__/types.cpython-310.pyc | Bin 431 -> 431 bytes .../wrapper/__pycache__/views.cpython-310.pyc | Bin 2594 -> 2337 bytes proj/wrapper/services.py | 2 +- proj/wrapper/templates/trial.html | 2 +- proj/wrapper/views.py | 11 ++--------- 6 files changed, 4 insertions(+), 11 deletions(-) diff --git a/proj/wrapper/__pycache__/services.cpython-310.pyc b/proj/wrapper/__pycache__/services.cpython-310.pyc index f12a675805e97efa9d355d295c39c66dc58907dd..d09cd860d8cadd4d163e3d1d7df4a121e8a61725 100644 GIT binary patch delta 319 zcmbQkzK)$YpO=@50SE%tW~X>f=F3_vDWc vS|)chMQDQ+up%iC0jUxN5n|}-`It?)*+GIFAcAMIAG3r2x{oK9F{=Rp&jv2c delta 287 zcmZ3-K8Kw*pO=@50SJ!l&q}eM$a{+M^TZoE+-yLRA_y^=pD}^+GZRpNg|UcZas{JL zJ(4U)9XpV?#gb=eU;r|y7^IYkv4{^O%9xnU2&7>E#0Ft!ATDAB5}HhYQOxQ2C1ATW z8H@Nq5(wkLCNrk-f8vo>-sVFUm!pahQq diff --git a/proj/wrapper/__pycache__/views.cpython-310.pyc b/proj/wrapper/__pycache__/views.cpython-310.pyc index be3f42e7a29a35d2243ff338002158c110e1735a..d8e08dc7f16adab7c93ac79656ef31aaec7c715d 100644 GIT binary patch delta 581 zcmY+A&1(}u7{=$_o!v|}o216INt+LCY_y3YRH{~q9|sMH8pU{!pkiP~Fu^pPT`iFf z7S=;fg)$cp9ug6}=*fdu51#xBWG`MkilBdi@1}Tg;C<$KelsugGH;w|Cbf}FS_IdL z4?X^i?WPLwXZP5rOCm2a0bC~c=h_ACh{7|FeUY6M#iA&Qj3@+J08;?6`G6nb^DjyJ zAkXp~?uYn7i&Pgs*1*%$E82jc>N~yt;-MGgnx}W!Bk;9A56Fo6Fo{nIK2aX&9vPFa z6~M^w4PRd%p4QW4bI<#vn}}EdKKOc_Y@R}5b0m}Gl>B33!p+B+-og%y%zonk_tbkM zS*AYq(!Lo0H(uimIA*LF(pxuMciQ@mVIzc&`exiM(4H8&azFlwte}KOXk~})2-f$pXxuUkse5HiMEu+{#fq@Mva5PKHptG=YnC3uzHdkvW@sga6#EB$} z64EW%85GgECW;L#M?tQsd~Ccl8-P7^h3t2ph>#6BuDi7%c~z6Aqy97MOYDMKi)=+P zw!CkTVh(B4CC{nztOOU;JywLedd^zebv$fhxf+TEa+a%0>Id6NoJAzlk*umwd>Pi% eyLi#8M_^rjjUR#I>UaFGZ5J6hplvhVPX7hr$Ah&1 delta 868 zcmZ8e%}*0S6rZo%E=xa1Efgr_J8A_%E)pYP@PlX~6|F`kQBs&eT1s1H7n+i7AXyKb zG-N#)58%mo_2Auu2lX%5gsU+gJ$k`6+vvfW%$whPZ{F{{dG9FxHW95vA|`_M?NgC| zZ#jte;NJ%$A8+ymZ-0&!Q=&)2U3?uqX1h{1L#29!e+$m*{_LbV^mQML@t?!;;`U#$u`zEv$%@_c-U)|N*y%x9IV z*e(04oZk?>zOuGeUblR$CJVO6P}vT(_^n)6cA=cN3zf331y5uLIGQ4)7PRtqJO29Kqh7sp}PeryK6?`=>U?W1C=iyNAwIkXGeWSz=|CWeTxvbos74xK`qlXfIvQ6re#M_lt> zu`_+tVRp>XUCh}V;!^04p7q(no!tFJI$xjjj@hG>Hh1gxjhxTcMctC8ph`KaL`v0r zS35g@9)Pde^{TMsnDQi)2>KGVB(zaq+AfIN5SXn&5Mj))0ey(#1TjemAQMg}4wE+O zeby$YbXHiKWuB znL+Po=tb)cU>Q^5qURdJx|%Xn`OZk|vkFdoUyajv%=={wMGY<7XW#@Tdj<{1{s1oS ByPW_4 diff --git a/proj/wrapper/services.py b/proj/wrapper/services.py index 739a3fb..da1e952 100644 --- a/proj/wrapper/services.py +++ b/proj/wrapper/services.py @@ -11,7 +11,7 @@ def n100(): return sum(range(100)) def f(a: File): - return 'got' + return a.decode('utf8') def ff(a: int, b: int): return a + b diff --git a/proj/wrapper/templates/trial.html b/proj/wrapper/templates/trial.html index a420bd1..e2897af 100644 --- a/proj/wrapper/templates/trial.html +++ b/proj/wrapper/templates/trial.html @@ -130,7 +130,7 @@

Теперь здесь можно удобно добавлять любой ваш сервис с любым количеством полей! Пользуйтесь!

-
+ {% csrf_token %} {{ form.as_table }} diff --git a/proj/wrapper/views.py b/proj/wrapper/views.py index c6bfe0f..32c14c8 100644 --- a/proj/wrapper/views.py +++ b/proj/wrapper/views.py @@ -26,11 +26,6 @@ def field(s, i): return forms.CharField(label = i, widget=forms.Textarea) -def handle_uploaded_file(f): - with open('wrapper/upload/' + f.name, 'wb+') as destination: - for chunk in f.chunks(): - destination.write(chunk) - def wrap(f): def my_view(request): arguments = copy(args(f)) @@ -42,15 +37,13 @@ def my_view(request): temp[i] = field(arguments[i], i) if (request.method == 'POST'): - form = type('MyF', (forms.Form, ), temp, request.FILES)() + form = type('MyF', (forms.Form, ), temp)() for i in arguments.keys(): types = copy(f.__annotations__) if (types[i] != File): arguments[i] = types[i](request.POST[i]) else: - print(request.FILES) - #handle_uploaded_file(request.FILES["filefield"]) - + arguments[i] = request.FILES['a'].read() res = f(**arguments) #в f передаем словарь From c8afadb2c78544d5712af3f7307dc0e909977012 Mon Sep 17 00:00:00 2001 From: ArsPro13 <67059479+ArsPro13@users.noreply.github.com> Date: Mon, 22 May 2023 22:15:05 +0300 Subject: [PATCH 10/10] =?UTF-8?q?=D0=B2=D1=8B=D1=82=D0=B0=D1=89=D0=B8?= =?UTF-8?q?=D0=BB=D0=B8=20=D0=B2=D1=81=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- proj/database.sqlite3 => database.sqlite3 | Bin {proj/frame => frame}/.DS_Store | Bin {proj/frame => frame}/__init__.py | 0 .../__pycache__/__init__.cpython-310.pyc | Bin .../__pycache__/__init__.cpython-311.pyc | Bin .../__pycache__/settings.cpython-310.pyc | Bin .../__pycache__/settings.cpython-311.pyc | Bin .../__pycache__/urls.cpython-310.pyc | Bin .../__pycache__/urls.cpython-311.pyc | Bin .../__pycache__/wsgi.cpython-310.pyc | Bin .../__pycache__/wsgi.cpython-311.pyc | Bin {proj/frame => frame}/asgi.py | 0 {proj/frame => frame}/settings.py | 0 {proj/frame => frame}/urls.py | 0 {proj/frame => frame}/wsgi.py | 0 proj/manage.py => manage.py | 0 proj/.DS_Store | Bin 6148 -> 0 bytes {proj/wrapper => wrapper}/.DS_Store | Bin {proj/wrapper => wrapper}/__init__.py | 0 .../__pycache__/__init__.cpython-310.pyc | Bin .../__pycache__/__init__.cpython-311.pyc | Bin .../__pycache__/admin.cpython-310.pyc | Bin .../__pycache__/admin.cpython-311.pyc | Bin .../__pycache__/apps.cpython-310.pyc | Bin .../__pycache__/apps.cpython-311.pyc | Bin .../__pycache__/forms.cpython-310.pyc | Bin .../__pycache__/functions.cpython-310.pyc | Bin .../__pycache__/models.cpython-310.pyc | Bin .../__pycache__/models.cpython-311.pyc | Bin .../__pycache__/services.cpython-310.pyc | Bin .../__pycache__/services.cpython-311.pyc | Bin .../__pycache__/types.cpython-310.pyc | Bin .../__pycache__/types.cpython-311.pyc | Bin .../__pycache__/urls.cpython-310.pyc | Bin .../__pycache__/urls.cpython-311.pyc | Bin .../__pycache__/views.cpython-310.pyc | Bin .../__pycache__/views.cpython-311.pyc | Bin {proj/wrapper => wrapper}/admin.py | 0 {proj/wrapper => wrapper}/apps.py | 0 {proj/wrapper => wrapper}/forms.py | 0 {proj/wrapper => wrapper}/migrations/__init__.py | 0 .../__pycache__/__init__.cpython-310.pyc | Bin .../__pycache__/__init__.cpython-311.pyc | Bin {proj/wrapper => wrapper}/models.py | 0 {proj/wrapper => wrapper}/services.py | 0 {proj/wrapper => wrapper}/templates/home.html | 0 {proj/wrapper => wrapper}/templates/login.html | 0 {proj/wrapper => wrapper}/templates/trial.html | 0 {proj/wrapper => wrapper}/tests.py | 0 {proj/wrapper => wrapper}/types.py | 0 {proj/wrapper => wrapper}/urls.py | 0 {proj/wrapper => wrapper}/views.py | 0 52 files changed, 0 insertions(+), 0 deletions(-) rename proj/database.sqlite3 => database.sqlite3 (100%) rename {proj/frame => frame}/.DS_Store (100%) rename {proj/frame => frame}/__init__.py (100%) rename {proj/frame => frame}/__pycache__/__init__.cpython-310.pyc (100%) rename {proj/frame => frame}/__pycache__/__init__.cpython-311.pyc (100%) rename {proj/frame => frame}/__pycache__/settings.cpython-310.pyc (100%) rename {proj/frame => frame}/__pycache__/settings.cpython-311.pyc (100%) rename {proj/frame => frame}/__pycache__/urls.cpython-310.pyc (100%) rename {proj/frame => frame}/__pycache__/urls.cpython-311.pyc (100%) rename {proj/frame => frame}/__pycache__/wsgi.cpython-310.pyc (100%) rename {proj/frame => frame}/__pycache__/wsgi.cpython-311.pyc (100%) rename {proj/frame => frame}/asgi.py (100%) rename {proj/frame => frame}/settings.py (100%) rename {proj/frame => frame}/urls.py (100%) rename {proj/frame => frame}/wsgi.py (100%) rename proj/manage.py => manage.py (100%) delete mode 100644 proj/.DS_Store rename {proj/wrapper => wrapper}/.DS_Store (100%) rename {proj/wrapper => wrapper}/__init__.py (100%) rename {proj/wrapper => wrapper}/__pycache__/__init__.cpython-310.pyc (100%) rename {proj/wrapper => wrapper}/__pycache__/__init__.cpython-311.pyc (100%) rename {proj/wrapper => wrapper}/__pycache__/admin.cpython-310.pyc (100%) rename {proj/wrapper => wrapper}/__pycache__/admin.cpython-311.pyc (100%) rename {proj/wrapper => wrapper}/__pycache__/apps.cpython-310.pyc (100%) rename {proj/wrapper => wrapper}/__pycache__/apps.cpython-311.pyc (100%) rename {proj/wrapper => wrapper}/__pycache__/forms.cpython-310.pyc (100%) rename {proj/wrapper => wrapper}/__pycache__/functions.cpython-310.pyc (100%) rename {proj/wrapper => wrapper}/__pycache__/models.cpython-310.pyc (100%) rename {proj/wrapper => wrapper}/__pycache__/models.cpython-311.pyc (100%) rename {proj/wrapper => wrapper}/__pycache__/services.cpython-310.pyc (100%) rename {proj/wrapper => wrapper}/__pycache__/services.cpython-311.pyc (100%) rename {proj/wrapper => wrapper}/__pycache__/types.cpython-310.pyc (100%) rename {proj/wrapper => wrapper}/__pycache__/types.cpython-311.pyc (100%) rename {proj/wrapper => wrapper}/__pycache__/urls.cpython-310.pyc (100%) rename {proj/wrapper => wrapper}/__pycache__/urls.cpython-311.pyc (100%) rename {proj/wrapper => wrapper}/__pycache__/views.cpython-310.pyc (100%) rename {proj/wrapper => wrapper}/__pycache__/views.cpython-311.pyc (100%) rename {proj/wrapper => wrapper}/admin.py (100%) rename {proj/wrapper => wrapper}/apps.py (100%) rename {proj/wrapper => wrapper}/forms.py (100%) rename {proj/wrapper => wrapper}/migrations/__init__.py (100%) rename {proj/wrapper => wrapper}/migrations/__pycache__/__init__.cpython-310.pyc (100%) rename {proj/wrapper => wrapper}/migrations/__pycache__/__init__.cpython-311.pyc (100%) rename {proj/wrapper => wrapper}/models.py (100%) rename {proj/wrapper => wrapper}/services.py (100%) rename {proj/wrapper => wrapper}/templates/home.html (100%) rename {proj/wrapper => wrapper}/templates/login.html (100%) rename {proj/wrapper => wrapper}/templates/trial.html (100%) rename {proj/wrapper => wrapper}/tests.py (100%) rename {proj/wrapper => wrapper}/types.py (100%) rename {proj/wrapper => wrapper}/urls.py (100%) rename {proj/wrapper => wrapper}/views.py (100%) diff --git a/proj/database.sqlite3 b/database.sqlite3 similarity index 100% rename from proj/database.sqlite3 rename to database.sqlite3 diff --git a/proj/frame/.DS_Store b/frame/.DS_Store similarity index 100% rename from proj/frame/.DS_Store rename to frame/.DS_Store diff --git a/proj/frame/__init__.py b/frame/__init__.py similarity index 100% rename from proj/frame/__init__.py rename to frame/__init__.py diff --git a/proj/frame/__pycache__/__init__.cpython-310.pyc b/frame/__pycache__/__init__.cpython-310.pyc similarity index 100% rename from proj/frame/__pycache__/__init__.cpython-310.pyc rename to frame/__pycache__/__init__.cpython-310.pyc diff --git a/proj/frame/__pycache__/__init__.cpython-311.pyc b/frame/__pycache__/__init__.cpython-311.pyc similarity index 100% rename from proj/frame/__pycache__/__init__.cpython-311.pyc rename to frame/__pycache__/__init__.cpython-311.pyc diff --git a/proj/frame/__pycache__/settings.cpython-310.pyc b/frame/__pycache__/settings.cpython-310.pyc similarity index 100% rename from proj/frame/__pycache__/settings.cpython-310.pyc rename to frame/__pycache__/settings.cpython-310.pyc diff --git a/proj/frame/__pycache__/settings.cpython-311.pyc b/frame/__pycache__/settings.cpython-311.pyc similarity index 100% rename from proj/frame/__pycache__/settings.cpython-311.pyc rename to frame/__pycache__/settings.cpython-311.pyc diff --git a/proj/frame/__pycache__/urls.cpython-310.pyc b/frame/__pycache__/urls.cpython-310.pyc similarity index 100% rename from proj/frame/__pycache__/urls.cpython-310.pyc rename to frame/__pycache__/urls.cpython-310.pyc diff --git a/proj/frame/__pycache__/urls.cpython-311.pyc b/frame/__pycache__/urls.cpython-311.pyc similarity index 100% rename from proj/frame/__pycache__/urls.cpython-311.pyc rename to frame/__pycache__/urls.cpython-311.pyc diff --git a/proj/frame/__pycache__/wsgi.cpython-310.pyc b/frame/__pycache__/wsgi.cpython-310.pyc similarity index 100% rename from proj/frame/__pycache__/wsgi.cpython-310.pyc rename to frame/__pycache__/wsgi.cpython-310.pyc diff --git a/proj/frame/__pycache__/wsgi.cpython-311.pyc b/frame/__pycache__/wsgi.cpython-311.pyc similarity index 100% rename from proj/frame/__pycache__/wsgi.cpython-311.pyc rename to frame/__pycache__/wsgi.cpython-311.pyc diff --git a/proj/frame/asgi.py b/frame/asgi.py similarity index 100% rename from proj/frame/asgi.py rename to frame/asgi.py diff --git a/proj/frame/settings.py b/frame/settings.py similarity index 100% rename from proj/frame/settings.py rename to frame/settings.py diff --git a/proj/frame/urls.py b/frame/urls.py similarity index 100% rename from proj/frame/urls.py rename to frame/urls.py diff --git a/proj/frame/wsgi.py b/frame/wsgi.py similarity index 100% rename from proj/frame/wsgi.py rename to frame/wsgi.py diff --git a/proj/manage.py b/manage.py similarity index 100% rename from proj/manage.py rename to manage.py diff --git a/proj/.DS_Store b/proj/.DS_Store deleted file mode 100644 index 036ede30303c1900db064bebdb3e15b2514b7560..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK%Wl&^6upzC)CnNGs6=69iN`8J39SMMA%zeY6&oZYSQOOSu}Li19%DOLB?NiR zAHa%FV8JJJ!xtd&6)a%|cOC^l(ghoYqPfzYGoCqj?0d$Z@c;lB&YT{A4geZD!)6nNmP0@V_g-zFi$0{BBe9;`jRkeDJWS<-GUH(!WXXy4(o}K%|ap@knxlwh%h3qvmrg1 zZD&a&v-oUBzL%uk?ibQnYp$Q#(6qMJKHGj~PHASQRys?DR=mfq9$M+tmi0#{-0!+& zKla>gU*Eh(!_@LZH|D{f<09qh6EAdVHl(xAN%%OX=+Ly5*4o#%=JTB!H#(USGvlxeCcgH zxIEL)kn>m>C!l|3`|8KNGhe^+_o2cn&-gd?$Q8y*GY)+kPO#@VLB?8flc{Q_S3FOZ zo>D+5@b?O^^}#@AIFOhNq59DFu`Q zE2RKwj?B>zQ<8gYEjhN=8t4b;%or~h$V0G@+cB@Ot#}Ka8}=Ejf;f