From 8eb83cf14f155cdec17fa5d5ed10de46b8614c92 Mon Sep 17 00:00:00 2001 From: KRTstudent <51278428+KRTstudent@users.noreply.github.com> Date: Sun, 19 Apr 2020 17:08:32 -0700 Subject: [PATCH] Completed CGI activity --- cgi-bin/cgi_1.py | 4 ++++ cgi-bin/cgi_2.py | 12 ++++++------ cgi-bin/cgi_sums.py | 11 ++++++++++- cgi-bin/field_storage.py | 11 +++++++++++ 4 files changed, 31 insertions(+), 7 deletions(-) create mode 100644 cgi-bin/field_storage.py diff --git a/cgi-bin/cgi_1.py b/cgi-bin/cgi_1.py index baa5c3e..91aada3 100644 --- a/cgi-bin/cgi_1.py +++ b/cgi-bin/cgi_1.py @@ -1,5 +1,9 @@ #!/usr/bin/env python import cgi +import cgitb +cgitb.enable() + +#1/0 #Error corrected cgi.test() diff --git a/cgi-bin/cgi_2.py b/cgi-bin/cgi_2.py index ae4ed0d..c6c5267 100644 --- a/cgi-bin/cgi_2.py +++ b/cgi-bin/cgi_2.py @@ -23,10 +23,10 @@ """.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..529467b 100644 --- a/cgi-bin/cgi_sums.py +++ b/cgi-bin/cgi_sums.py @@ -4,6 +4,15 @@ 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 = "Cannot compute, provide integers" + print("Content-type: text/plain") print() -print("Your job is to make this work") +print(body) diff --git a/cgi-bin/field_storage.py b/cgi-bin/field_storage.py new file mode 100644 index 0000000..6119f45 --- /dev/null +++ b/cgi-bin/field_storage.py @@ -0,0 +1,11 @@ +#!/usr/bin/env python +import cgi + +print("Content-Type: text/plain") +print("") + +form = cgi.FieldStorage() +stringval = form.getvalue('a', None) +listval = form.getlist('b') + +print("a: {}, b: {}".format(str(stringval), str(listval)))