code aufpepen

master
Eggert Jung 5 years ago
parent ef87e58b6d
commit 6ad8a04cbb

@ -1,5 +1,6 @@
import datetime
class Exercise00:
STUDENT_NAME = "Eggert Jung"
@ -38,40 +39,27 @@ class Exercise00:
def __str__(self):
return b64_enc(self.__txt)
def b64_enc_map(index):
if(index >= 0 and index < 26):
return chr(index + 0x41) # A-Z
elif(index >= 26 and index < 52):
return chr(index + 0x61 - 26) # a-z
elif(index >= 52 and index < 62):
return chr(index + 0x30 - 52) # 0-9
elif(index == 62):
return '+'
elif(index == 63):
return '/'
else:
return '='
def b64_enc(str):
res = ""
b64_map = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
for c in [(str[i:i+3]) for i in range(0, len(str), 3)]:
c = bytes(c, 'utf-8')
bits = [-1,-1,-1,-1]
bits = [64, 64, 64, 64]
try:
bits[0] = (c[0] & 0xFC)>>2
bits[0] = (c[0] & 0xFC) >> 2
bits[1] = ((c[0] & 0x03)<<4)
bits[1] = bits[1] + ((c[1] & 0xF0)>>4)
bits[1] = ((c[0] & 0x03) << 4)
bits[1] = bits[1] + ((c[1] & 0xF0) >> 4)
bits[2] = ((c[1] & 0x0F)<<2)
bits[2] = bits[2] + ((c[2] & 0xC0)>>6)
bits[2] = ((c[1] & 0x0F) << 2)
bits[2] = bits[2] + ((c[2] & 0xC0) >> 6)
bits[3] = (c[2] & 0x3F)
except IndexError:
pass
for i in range(4):
res = res + b64_enc_map(bits[i])
res = res + b64_map[bits[i]]
return res
@ -79,11 +67,15 @@ if __name__ == "__main__":
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('FILE', help="The input positional parameter.")
parser.add_argument('-b', '--bool', action='store_true', help="An optional boolean flag (Default: False).")
parser.add_argument('-f', '--float', default=0.0, type=float, help="An optional parameter of type float (Default: 0.0).")
parser.add_argument('-i', '--int', default=0, type=int, help="An optional parameter of type int (Default: 0).")
parser.add_argument('-b', '--bool', action='store_true',
help="An optional boolean flag (Default: False).")
parser.add_argument('-f', '--float', default=0.0, type=float,
help="An optional parameter of type float (Default: 0.0).")
parser.add_argument('-i', '--int', default=0, type=int,
help="An optional parameter of type int (Default: 0).")
args = parser.parse_args()
print("input: {FILE}\n--bool {bool}\n--float {float}\n--int {int}".format(**args.__dict__))
print(
"input: {FILE}\n--bool {bool}\n--float {float}\n--int {int}".format(**args.__dict__))
exit(42)

Loading…
Cancel
Save