Skip to content

Commit

Permalink
Add custom GFArgumentParser
Browse files Browse the repository at this point in the history
  • Loading branch information
m4rc1e committed May 21, 2024
1 parent dd66eac commit 927c770
Show file tree
Hide file tree
Showing 5 changed files with 40 additions and 29 deletions.
31 changes: 31 additions & 0 deletions Lib/gftools/gfargparse.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import argparse as dflt_argparse
from gftools.gflogging import setup_logging


class GFArgumentParser(dflt_argparse.ArgumentParser):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.add_argument(
"--log-level",
choices=("DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"),
default="INFO",
)

self.add_argument(
"--show-tracebacks", "-st",
action="store_true",
help=(
"By default, exceptions will only print out error messages. "
"Tracebacks won't be included since the tool is intended for "
"type designers and not developers."
),
)

def parse_args(self, args=None, namespace=None):
args, argv = self.parse_known_args(args, namespace)
if argv:
msg = ('unrecognized arguments: %s')
self.error(msg % ' '.join(argv))
import pdb; pdb.set_trace()
setup_logging("gftools.packager", args, "packager")
return args
File renamed without changes.
4 changes: 2 additions & 2 deletions Lib/gftools/scripts/gen_stat.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,15 +44,15 @@
from axisregistry import AxisRegistry
from fontTools.ttLib import TTFont
from gftools.stat import gen_stat_tables, gen_stat_tables_from_config
import argparse
from gftools.gfargparse import GFArgumentParser
import yaml
import os

axis_registry = AxisRegistry()


def main(args=None):
parser = argparse.ArgumentParser()
parser = GFArgumentParser()
parser.add_argument(
"fonts", nargs="+", help="Variable TTF files which make up a family"
)
Expand Down
13 changes: 3 additions & 10 deletions Lib/gftools/scripts/manage_traffic_jam.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

import subprocess
from rich.pretty import pprint
from gftools.logging import setup_logging
from gftools.gflogging import setup_logging
from gftools.push.utils import branch_matches_google_fonts_main
from gftools.push.servers import GFServers, Items
from gftools.push.items import Family, FamilyMeta
Expand All @@ -23,7 +23,7 @@
STATUS_OPTION_IDS,
)
import os
import argparse
from gftools.gfargparse import GFArgumentParser
from pathlib import Path
import tempfile
import json
Expand Down Expand Up @@ -221,7 +221,7 @@ def update_servers(self):


def main(args=None):
parser = argparse.ArgumentParser()
parser = GFArgumentParser()
parser.add_argument("fonts_repo", type=Path)
parser.add_argument(
"-f",
Expand All @@ -246,12 +246,6 @@ def main(args=None):
parser.add_argument(
"-s", "--server-data", default=(Path("~") / ".gf_server_data.json").expanduser()
)
parser.add_argument(
"-l",
"--log-level",
choices=("DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"),
default="INFO",
)
parser.add_argument(
"--update-servers-only",
"-uso",
Expand All @@ -260,7 +254,6 @@ def main(args=None):
)
args = parser.parse_args(args)

setup_logging("manage_traffic_jam", args, __name__)

branch_matches_google_fonts_main(args.fonts_repo)

Expand Down
21 changes: 4 additions & 17 deletions Lib/gftools/scripts/packager.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,13 @@
"""
import argparse

from gftools.gfargparse import GFArgumentParser
from gftools import packager
from gftools.logging import setup_logging
from gftools.gflogging import setup_logging


def main(args=None):
parser = argparse.ArgumentParser()
parser = GFArgumentParser()
parser.add_argument(
"family_name",
type=str,
Expand Down Expand Up @@ -65,24 +66,10 @@ def main(args=None):
help="Get assets from latest upstream release",
action="store_true",
)
parser.add_argument(
"--log-level",
choices=("DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"),
default="INFO",
)
parser.add_argument(
"--show-tracebacks",
action="store_true",
help=(
"By default, exceptions will only print out error messages. "
"Tracebacks won't be included since the tool is intended for "
"type designers and not developers."
),
)
parser.add_argument("-i", "--issue-number", help="Issue number to reference in PR")
parser.add_argument("--skip-tags", action="store_true")
args = parser.parse_args(args)
setup_logging("gftools.packager", args, __name__)
import pdb; pdb.set_trace()
packager.make_package(**args.__dict__)


Expand Down

0 comments on commit 927c770

Please sign in to comment.