aboutsummaryrefslogtreecommitdiffstats
path: root/src/common/aoc.py
diff options
context:
space:
mode:
authorLouis Burda <quent.burda@gmail.com>2023-04-07 17:18:18 -0400
committerLouis Burda <quent.burda@gmail.com>2023-04-07 17:19:39 -0400
commit87ab487d59fa85dbe2afa55cc841b02805ae42ca (patch)
treecd90ab715e1b5b5803674045dbafd6d51d27ac90 /src/common/aoc.py
parent1bcc82c5bfbde87edd03c01ffdf9ee5934681592 (diff)
downloadaoc2018-python-87ab487d59fa85dbe2afa55cc841b02805ae42ca.tar.gz
aoc2018-python-87ab487d59fa85dbe2afa55cc841b02805ae42ca.zip
Reorder days into src
Diffstat (limited to 'src/common/aoc.py')
-rw-r--r--src/common/aoc.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/common/aoc.py b/src/common/aoc.py
new file mode 100644
index 0000000..0d8d802
--- /dev/null
+++ b/src/common/aoc.py
@@ -0,0 +1,35 @@
+import sys, os
+
+debug_lvl = os.getenv("AOC_DEBUG")
+debug_lvl = int(debug_lvl) if debug_lvl is not None else 0
+
+input_name = os.getenv("AOC_INPUT")
+input_name = input_name if input_name is not None else "input"
+
+data = open(input_name).read().strip("\n")
+
+def debug(*args, **kwargs):
+ if debug_lvl:
+ print(*args, **kwargs, file=sys.stderr)
+
+def run(solve1, solve2, sols=[None, None]):
+ if len(sys.argv) <= 1:
+ sys.exit(0)
+ part = int(sys.argv[1])
+ if part == 1:
+ answer = solve1(sys.argv[2:])
+ print(answer)
+ if sols[part - 1] is not None:
+ assert(answer == sols[part - 1])
+ else:
+ print("warn: no solution available", file=sys.stderr)
+ elif part == 2:
+ answer = solve2(sys.argv[2:])
+ print(answer)
+ if sols[part - 1] is not None:
+ assert(answer == sols[part - 1])
+ else:
+ print("warn: no solution available", file=sys.stderr)
+ else:
+ assert(False) # bad part
+