refactor: Change for loop to list comprehensions

Not only more concise and shorter, it's notably faster

Signed-off-by: nothingbutlucas <69118979+nothingbutlucas@users.noreply.github.com>
This commit is contained in:
nothingbutlucas 2024-04-24 00:24:22 -03:00
parent 465695b9ae
commit cf41187e2f
No known key found for this signature in database
GPG Key ID: 31DE05DB3B0D9074

View File

@ -82,7 +82,7 @@ def main():
parser.add_argument("-w", "--write", metavar="file", action="store", default=None, help="output file path", type=str) parser.add_argument("-w", "--write", metavar="file", action="store", default=None, help="output file path", type=str)
parser.add_argument("-f", "--force", action="store_true", default=None, help="write output even if it overwrites existing files") parser.add_argument("-f", "--force", action="store_true", default=None, help="write output even if it overwrites existing files")
parser.add_argument("-I", "--stdin", action="store_true", default=False, help=argparse.SUPPRESS) # "read input from STDIN instead of file" parser.add_argument("-I", "--stdin", action="store_true", default=False, help=argparse.SUPPRESS) # "read input from STDIN instead of file"
parser.add_argument("-O", "--stdout", action="store_true", default=False, help=argparse.SUPPRESS) # help="write output to STDOUT instead of file", parser.add_argument("-O", "--stdout", action="store_true", default=False, help=argparse.SUPPRESS) # help="write output to STDOUT instead of file",
parser.add_argument("-R", "--request", action="store_true", default=False, help="request unknown Identities from the network") parser.add_argument("-R", "--request", action="store_true", default=False, help="request unknown Identities from the network")
parser.add_argument("-t", action="store", metavar="seconds", type=float, help="identity request timeout before giving up", default=RNS.Transport.PATH_REQUEST_TIMEOUT) parser.add_argument("-t", action="store", metavar="seconds", type=float, help="identity request timeout before giving up", default=RNS.Transport.PATH_REQUEST_TIMEOUT)
@ -93,14 +93,10 @@ def main():
parser.add_argument("-B", "--base32", action="store_true", default=False, help="Use base32-encoded input and output") parser.add_argument("-B", "--base32", action="store_true", default=False, help="Use base32-encoded input and output")
parser.add_argument("--version", action="version", version="rnid {version}".format(version=__version__)) parser.add_argument("--version", action="version", version="rnid {version}".format(version=__version__))
args = parser.parse_args() args = parser.parse_args()
ops = 0; ops = sum(1 for t in [args.encrypt, args.decrypt, args.validate, args.sign] if t)
for t in [args.encrypt, args.decrypt, args.validate, args.sign]:
if t:
ops += 1
if ops > 1: if ops > 1:
RNS.log("This utility currently only supports one of the encrypt, decrypt, sign or verify operations per invocation", RNS.LOG_ERROR) RNS.log("This utility currently only supports one of the encrypt, decrypt, sign or verify operations per invocation", RNS.LOG_ERROR)
exit(1) exit(1)
@ -179,7 +175,7 @@ def main():
quietness = args.quiet quietness = args.quiet
if verbosity != 0 or quietness != 0: if verbosity != 0 or quietness != 0:
targetloglevel = targetloglevel+verbosity-quietness targetloglevel = targetloglevel+verbosity-quietness
# Start Reticulum # Start Reticulum
reticulum = RNS.Reticulum(configdir=args.config, loglevel=targetloglevel) reticulum = RNS.Reticulum(configdir=args.config, loglevel=targetloglevel)
RNS.compact_log_fmt = True RNS.compact_log_fmt = True
@ -234,7 +230,7 @@ def main():
RNS.log("Invalid hexadecimal hash provided", RNS.LOG_ERROR) RNS.log("Invalid hexadecimal hash provided", RNS.LOG_ERROR)
exit(7) exit(7)
else: else:
# Try loading Identity from file # Try loading Identity from file
if not os.path.isfile(identity_str): if not os.path.isfile(identity_str):
@ -391,7 +387,7 @@ def main():
RNS.log("Could not open output file for writing", RNS.LOG_ERROR) RNS.log("Could not open output file for writing", RNS.LOG_ERROR)
RNS.log("The contained exception was: "+str(e), RNS.LOG_ERROR) RNS.log("The contained exception was: "+str(e), RNS.LOG_ERROR)
exit(15) exit(15)
# TODO: Actually expand this to a good solution # TODO: Actually expand this to a good solution
# probably need to create a wrapper that takes # probably need to create a wrapper that takes
# into account not closing stdout when done # into account not closing stdout when done
@ -415,12 +411,12 @@ def main():
if not args.stdout: if not args.stdout:
RNS.log("Signing "+str(args.read)) RNS.log("Signing "+str(args.read))
try: try:
data_output.write(identity.sign(data_input.read())) data_output.write(identity.sign(data_input.read()))
data_output.close() data_output.close()
data_input.close() data_input.close()
if not args.stdout: if not args.stdout:
if args.read: if args.read:
RNS.log("File "+str(args.read)+" signed with "+str(identity)+" to "+str(args.write)) RNS.log("File "+str(args.read)+" signed with "+str(identity)+" to "+str(args.write))
@ -448,7 +444,7 @@ def main():
else: else:
# if not args.stdout: # if not args.stdout:
# RNS.log("Verifying "+str(args.validate)+" for "+str(args.read)) # RNS.log("Verifying "+str(args.validate)+" for "+str(args.read))
try: try:
try: try:
sig_input = open(args.validate, "rb") sig_input = open(args.validate, "rb")
@ -498,7 +494,7 @@ def main():
if not args.stdout: if not args.stdout:
RNS.log("Encrypting "+str(args.read)) RNS.log("Encrypting "+str(args.read))
try: try:
more_data = True more_data = True
while more_data: while more_data:
@ -545,7 +541,7 @@ def main():
if not args.stdout: if not args.stdout:
RNS.log("Decrypting "+str(args.read)+"...") RNS.log("Decrypting "+str(args.read)+"...")
try: try:
more_data = True more_data = True
while more_data: while more_data:
@ -597,4 +593,4 @@ def main():
exit(255) exit(255)
if __name__ == "__main__": if __name__ == "__main__":
main() main()