added base scripts
This commit is contained in:
49
base/build/lib/aoc/partselector.py
Normal file
49
base/build/lib/aoc/partselector.py
Normal file
@@ -0,0 +1,49 @@
|
||||
import argparse
|
||||
import logging
|
||||
|
||||
logging.basicConfig(level=logging.WARNING)
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
args = None
|
||||
def parse_args():
|
||||
global args
|
||||
if args is None:
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('-A', action='store_true')
|
||||
parser.add_argument('-B', action='store_true')
|
||||
parser.add_argument('-G', action='store_true')
|
||||
parser.add_argument('-q', action='store_true')
|
||||
parser.add_argument('-v', "--verbose", dest="verbose_count",
|
||||
action="count", default=0,
|
||||
help="increases log verbosity for each occurence.")
|
||||
args = parser.parse_known_args()
|
||||
return args
|
||||
|
||||
def get_logger(*args, **kwargs):
|
||||
p = parse_args()[0]
|
||||
log = logging.getLogger(*args, **kwargs)
|
||||
log.setLevel(max(3 - p.verbose_count, 1) * 10)
|
||||
return log
|
||||
|
||||
def part_one():
|
||||
p = parse_args()[0]
|
||||
if p.B:
|
||||
return False
|
||||
if not p.q:
|
||||
print('==== PART I ====')
|
||||
return True
|
||||
|
||||
def part_two():
|
||||
p = parse_args()[0]
|
||||
if p.A:
|
||||
return False
|
||||
if not p.q:
|
||||
print('==== PART II ====')
|
||||
return True
|
||||
|
||||
def draw():
|
||||
p = parse_args()[0]
|
||||
if p.G:
|
||||
return True
|
||||
return False
|
||||
|
||||
Reference in New Issue
Block a user