Add argparsing
This commit is contained in:
@@ -1,2 +1,10 @@
|
||||
# README
|
||||
Work in Progress basic Diablo 2 lootfilter.
|
||||
|
||||
Run as:
|
||||
d2filter /path/to/filter /path/to/d2/data/dir
|
||||
|
||||
To use example filter:
|
||||
d2filter example.filter "C:\Program Files (x86)\Diablo II Resurrected\Data"
|
||||
|
||||
See example.filter
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
from argparse import ArgumentParser
|
||||
from pathlib import Path
|
||||
import sys
|
||||
from d2lootfilter import data
|
||||
@@ -7,19 +8,25 @@ from d2lootfilter.writer import FilterRemover, FilterRuleWriter
|
||||
|
||||
|
||||
def main():
|
||||
# TODO: Parse args
|
||||
data_dir = Path("C:\\Program Files (x86)\\Diablo II Resurrected\\Data")
|
||||
parser = ArgumentParser()
|
||||
parser.add_argument("filter")
|
||||
parser.add_argument("data_dir")
|
||||
args = parser.parse_args()
|
||||
filter = args.filter
|
||||
data_dir = Path(args.data_dir)
|
||||
|
||||
# Remove any previous rules
|
||||
remover = FilterRemover(data_dir)
|
||||
remover.remove_all_rules()
|
||||
if filter == "remove":
|
||||
return
|
||||
|
||||
# Init data
|
||||
data.init(data_dir)
|
||||
|
||||
# Parse filter for rules
|
||||
rules = []
|
||||
with open("example.filter") as f:
|
||||
with open(filter) as f:
|
||||
lines = f.read().splitlines()
|
||||
instructions = parse_format(lines)
|
||||
for instr in instructions:
|
||||
|
||||
Reference in New Issue
Block a user