From b1ec766171aa28ad358652a4fa23bd513f8b8195 Mon Sep 17 00:00:00 2001 From: fpopescu Date: Fri, 7 Feb 2020 22:29:56 -0600 Subject: [PATCH] Practice_Activity_CGI_Lesson04_FP Practice_Activity_CGI_Lesson04_FP --- cgi-bin/.pylint.d/cgi_11.stats | Bin 0 -> 751 bytes cgi-bin/.pylint.d/cgi_21.stats | Bin 0 -> 774 bytes cgi-bin/.pylint.d/cgi_sums1.stats | Bin 0 -> 754 bytes cgi-bin/.pylint.d/field_storage1.stats | Bin 0 -> 759 bytes cgi-bin/.pylint.d/hello_world1.stats | Bin 0 -> 757 bytes cgi-bin/cgi_1.py | 16 ++++-- cgi-bin/cgi_2.py | 72 ++++++++++++++----------- cgi-bin/cgi_sums.py | 28 ++++++---- cgi-bin/field_storage.py | 14 +++++ cgi-bin/hello_world.py | 14 ++--- 10 files changed, 91 insertions(+), 53 deletions(-) create mode 100644 cgi-bin/.pylint.d/cgi_11.stats create mode 100644 cgi-bin/.pylint.d/cgi_21.stats create mode 100644 cgi-bin/.pylint.d/cgi_sums1.stats create mode 100644 cgi-bin/.pylint.d/field_storage1.stats create mode 100644 cgi-bin/.pylint.d/hello_world1.stats create mode 100644 cgi-bin/field_storage.py diff --git a/cgi-bin/.pylint.d/cgi_11.stats b/cgi-bin/.pylint.d/cgi_11.stats new file mode 100644 index 0000000000000000000000000000000000000000..e9494b753b5b4de14989dd95d409be3f4ab5c39b GIT binary patch literal 751 zcmZuv$xg#C5Die;vK3nPeJh9)5`VyrLw_I_6gjq=SW4}VnWU8kt%mD>c%q^gf}~SPa>tyUN$qHT(g{0IC_OdQodn@# zDL489q%xX%fck)}oHFi=r9OZjfKO(%(g|&#E+eG1U^nY(${fpRYZ4TB*ach8lqa;k zpq&&cDcYv!l)|0DlS1ir_27faicg&un)@+!m%MbT5wusw@Qmd-4N(os5GFL6$>sJV zz&j1N67K`uYoNao2kkCZ)FI&QhMqZR>8Rb>=-kn9tMv!7ip6+`6A;5j52Z7uC1^Tr zS(r@<|1M`BjvE#~d{l<3xNwrr!S91Fv@qOTq*yL~0q(HP{qA}Bud`bA3f!petnTf) zw&^$$#XM6SKS)I79y#5BJArL3Eyut4E4Y0F>yN)nA?H#HskwsrZbA3{?fDnaP>V#h=GPqn literal 0 HcmV?d00001 diff --git a/cgi-bin/.pylint.d/cgi_21.stats b/cgi-bin/.pylint.d/cgi_21.stats new file mode 100644 index 0000000000000000000000000000000000000000..19f545c154e0e3cb5321bd85c3b9e8bea20b528f GIT binary patch literal 774 zcmZuvNp9RQ5Y!}I$4k7#v9l-6dPxp>L2f?i1G)qPMRFtpn&vbY2R;nor@Kha7y~7| zbyZhYH_7{_OD?`w`$bVSclF$=*lV6F`AM}6NVcZ_#c0_YT6_>e&ou?!E~nKNItAA)te42dfSSS-#rm8M4wavq&;ece3Vn z=&a(?Rl4kj_k4!xIAse(Vy@Shat=6+u!e``=Ri+3(8q|2vC9zk0`TERzX-wc<=EPi z4}3MUz7@`h2G8>n#Oa2Iq27=N&96oh;o6v=>othW4M`rpPT{7BLGv5%=innLE3-ta z_2O^AU5vTMJ>UITIV}4g+}T(;+}nqhjG9`-MQE#*Uy`ZdA@QFUL}QS{e4zWr&m>8Co4C>1ORP z`U9jgn$`f-Ay$qU_r}sXfHeT0%xa|z+CaU6T3QQsb5@O*XBBM?li<=-u=QB3pzSI3 zN^~g^TOz51yM(8NGU{ft?+h1W*HO?sj^K{aQ{$N(I98YlyqTk9;x>8z#rn8QP z*&@VuIR|mlvc%!Dy1B}OmvjOC0DREG@Mw`@zW61$qb~Qm=heT?X4z|S`(0;qZ#OfW z&NC4vmE!n8BCGdsbPMhjwu!VH|K_jY?hR}_@h*j&NG+u13g-JMJ;b-?U%Wy+c&Ep* Y{+3%X6qU(Ym1%>OpWa>vO-Ok80cPXa$p8QV literal 0 HcmV?d00001 diff --git a/cgi-bin/.pylint.d/field_storage1.stats b/cgi-bin/.pylint.d/field_storage1.stats new file mode 100644 index 0000000000000000000000000000000000000000..7a08faf4cede7151e475c47751b8040a31b60124 GIT binary patch literal 759 zcmZuv$xg#C5DjZf*$ZXgDTou_z>PzHAQu!lwv$+L?T+JsI8@@(d2!mR3ivi}8_(E3 zYg39|;;kr(((hz!MWrRJOldXV1(YeNMN)d}SS|_D^+sBH=H*x#PaC67ybh%@nWfE9 z6!%bYYd%3LYp4UL3&_cgapX`JKnK7Vb4Hn*woq@Nmd=6g&8m!frfGW=Rb{*hw!T}L z)6SH33v?+ETOg@`yMU*FGU#Rl?2T4J*Q_!;Tw{OEOJ7()2eUR@v$CW^RC{$3CJY

m|(LMtlVHU{nY6ie|QXCMxjGL+HE zNYHfNvM`rd;ax63oGw|y<&(O(N-Hnv68sVP$_UGYMT+_0SKtP1ZZYTezs_dZ8*u%$ zv)SA2%x2O=R1>W@evnA&IZC<%cLv);I*xzyS8)FhHk`0aAt%xZX}E&qT?fEy? dsD~f)RMg*c8-`rll*4NJ(Q{_T{`01YxHZ7J&shk~Yw4e0B5w9Ya-h=JVqX7%d&{jVwi*yZa)mbs5 z?HTPTR8dH)kV(O<;89RU-MszX{!*+uC@qg|>@9d1loQmOm*IvL1??l+t%@*V*+?#S zZ~%Cx0oUR~puGnATjHplr7m?0c)OuzA$U4zr*^goblOTiVP3Nwzi|d)zmY>*qpbu@ z=Pe8K!!rKM1&GszB{rW`#dTf=NtfUc!IxGz9xYNV2EPJ#+~$7gy#Ci&4|@adpzW;p zc00G(JQL;EXpRdKSv5yNci_%o8%xh|H-829A7JB)yA*OPt&o;$m>*{J82_G6xk3E& bNzbY}%j$fG#^uap)?wtAkN2lKN%{5z_-@(x literal 0 HcmV?d00001 diff --git a/cgi-bin/cgi_1.py b/cgi-bin/cgi_1.py index baa5c3e..1154f1b 100644 --- a/cgi-bin/cgi_1.py +++ b/cgi-bin/cgi_1.py @@ -1,5 +1,11 @@ -#!/usr/bin/env python -import cgi - - -cgi.test() +""" cgi_1.py script """ + +#!/usr/bin/env python +import cgi +import cgitb + +cgitb.enable() + +# 1/0 # oops! + +cgi.test() diff --git a/cgi-bin/cgi_2.py b/cgi-bin/cgi_2.py index ae4ed0d..32b8fe5 100644 --- a/cgi-bin/cgi_2.py +++ b/cgi-bin/cgi_2.py @@ -1,32 +1,40 @@ -#!/usr/bin/env python -import cgi -import cgitb -cgitb.enable() -import os -import datetime - - -default = "No Value Present" - - -print("Content-Type: text/html") -print("") - -body = """ - -Lab 1 - CGI experiments - - -

Hey there, this page has been generated by {software}, running {script}

-

Today is {month} {date}, {year}.

-

This page was requested by IP Address {client_ip}

- -""".format( - software=os.environ.get('SERVER_SOFTWARE', default), - script='aaaa', - month='bbbb', - date='cccc', - year='dddd', - client_ip='eeee' -) -print(body) +""" cgi_2.py script """ + +#!/usr/bin/env python +import os +import datetime + +import cgi +import cgitb +cgitb.enable() + + +DEFAULT = "No Value Present" + + +print("Content-Type: text/html") +print("") + +BODY = """ + +Lab 1 - CGI experiments + + +

Hey there, this page has been generated by {software}, running {script}

+

Today is {month} {date}, {year}.

+

This page was requested by IP Address {client_ip}

+ +""".format( + software=os.environ.get('SERVER_SOFTWARE', DEFAULT), + # script='aaaa', + # month='bbbb', + # date='cccc', + # year='dddd', + # client_ip='eeee' + script=os.environ.get('SCRIPT_NAME', DEFAULT), + month=datetime.datetime.now().strftime('%B'), + date=datetime.datetime.now().day, + year=datetime.datetime.now().year, + client_ip=os.environ.get('REMOTE_ADDR', DEFAULT), +) +print(BODY) diff --git a/cgi-bin/cgi_sums.py b/cgi-bin/cgi_sums.py index feed2bc..82126f9 100644 --- a/cgi-bin/cgi_sums.py +++ b/cgi-bin/cgi_sums.py @@ -1,9 +1,19 @@ -#!/usr/bin/env python -import cgi -import cgitb - -cgitb.enable() - -print("Content-type: text/plain") -print() -print("Your job is to make this work") +""" cgi_sums.py """ +#!/usr/bin/env python +import cgi +import cgitb + +cgitb.enable() + +FORM = cgi.FieldStorage() +OPERANDS = FORM.getlist('operand') + +try: + TOTAL = sum(map(int, OPERANDS)) + BODY = "Your total is {}".format(TOTAL) +except (ValueError, TypeError): + BODY = "unable to calculate a sum: pplease provide integer operands" + +print("Content-type: text/plain") # content type line +print() # blank line +print(BODY) # the body diff --git a/cgi-bin/field_storage.py b/cgi-bin/field_storage.py new file mode 100644 index 0000000..175ca61 --- /dev/null +++ b/cgi-bin/field_storage.py @@ -0,0 +1,14 @@ +""" field_storage.py script """ + +import cgi +#!/usr/bin/env python + +print("Content-Type: text/plain") +print("") + +FORM = cgi.FieldStorage() # retrieve querry values + +STRINGVAL = FORM.getvalue('a', None) # returns a default +LISTVAL = FORM.getlist('b') # returns list - here an empty list + +print("a: {}, b: {}".format(str(STRINGVAL), str(LISTVAL))) diff --git a/cgi-bin/hello_world.py b/cgi-bin/hello_world.py index 94f9a2d..0afc5a9 100644 --- a/cgi-bin/hello_world.py +++ b/cgi-bin/hello_world.py @@ -1,7 +1,7 @@ -#!/usr/bin/env python - -print("Content-Type: text/plain") -print("") - -print("Hello, world!") - +""" hello_world.py script """ +#!/usr/bin/env python + +print("Content-Type: text/plain") +print("") + +print("Hello, world!")