Skip to content

Error codes and formating #8

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Jun 13, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 46 additions & 29 deletions piduck.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,32 +2,11 @@
import argparse
from importlib import import_module
from time import sleep
import sys

last_line = ""
key_layout = "us"
default_delay = 10
string_delay = 1

piparser = argparse.ArgumentParser()
piparser.add_argument("-i", "--input", help="File input")
piparser.add_argument(
"-l", "--keyboardlayoutcode", help="Language codes specified by ISO639-1:2002"
)
piparser.add_argument("-d", "--defaultdelay", help="The default delay of execution")
piparser.add_argument(
"-s", "--defaultchardelay", help="The default char delay of execution"
)
piargs = piparser.parse_args()
if piargs.keyboardlayoutcode is not None:
key_layout = piargs.keyboardlayoutcode
if piargs.defaultdelay is not None:
default_delay = piargs.defaultdelay
if piargs.defaultchardelay is not None:
string_delay = piargs.defaultchardelay
try:
keymap = import_module("pd_key_maps.keymap_" + key_layout)
except ModuleNotFoundError:
exit(3)
def eprint(*args, **kwargs):
print(*args, file=sys.stderr, **kwargs)


def string(string):
Expand All @@ -51,9 +30,13 @@ def pharse(line, known, deltrue):
elif command[0] == "REM":
return
elif command[0] == "REPEAT":
for i in range(int(command[1])):
pharse(last_line.strip(), [[], []], False)
return # todo
try:
for i in range(int(command[1])):
pharse(last_line.strip(), [[], []], False)
return # todo
except RecursionError:
eprint("You can not repeat the repeat")
exit(4)
elif command[0] == "DEFAULTCHARDELAY":
string_delay = int(command[1])
return
Expand Down Expand Up @@ -87,6 +70,7 @@ def pharse(line, known, deltrue):
pharse(keymap.aliasmap[command[0]] + " " + " ".join(command[1:]), known, True)
return
else:
eprint('Could not find "' + command[0] + '"')
exit(2)


Expand Down Expand Up @@ -119,12 +103,45 @@ def main():
file1.close()
else:
while True:
line = input()
try:
line = input()
except EOFError:
break
if not line:
break
pharse(line.strip(), [[], []], False)
last_line = line


main()
if __name__ == "__main__":
last_line = ""
key_layout = "us"
default_delay = 10
string_delay = 1

piparser = argparse.ArgumentParser()
piparser.add_argument("-i", "--input", help="File input")
piparser.add_argument(
"-l", "--keyboardlayoutcode", help="Language codes specified by ISO639-1:2002"
)
piparser.add_argument("-d", "--defaultdelay", help="The default delay of execution")
piparser.add_argument(
"-s", "--defaultchardelay", help="The default char delay of execution"
)
piargs = piparser.parse_args()
if piargs.keyboardlayoutcode is not None:
key_layout = piargs.keyboardlayoutcode
if piargs.defaultdelay is not None:
default_delay = piargs.defaultdelay
if piargs.defaultchardelay is not None:
string_delay = piargs.defaultchardelay
try:
keymap = import_module("pd_key_maps.keymap_" + key_layout)
except ModuleNotFoundError:
eprint('Keymap "' + key_layout + '" could not be found')
exit(3)
try:
main()
except KeyboardInterrupt:
pass
exit(0)