From ef10340af1b063b9a4a294bd91cf64f9c7d7216e Mon Sep 17 00:00:00 2001 From: Chuan-Heng Hsiao Date: Fri, 6 Nov 2020 09:51:26 -0500 Subject: [PATCH 1/2] from-file-keyword --- build_swagger_spec.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build_swagger_spec.py b/build_swagger_spec.py index 5f1be2c..7df7249 100644 --- a/build_swagger_spec.py +++ b/build_swagger_spec.py @@ -15,9 +15,11 @@ parser.add_argument('--host', default=None) parser.add_argument('--base-path', default=None) parser.add_argument('--version', default=None, help='Specify a spec version') +parser.add_argument('--from-file-keyword', default=None, help='from file keyword') args = parser.parse_args() + def run(): app = pkg_resources.EntryPoint.parse("x=%s" % args.app).resolve() @@ -36,7 +38,7 @@ def run(): for d in rawdefs.keys(): template['definitions'][d] = rawdefs[d] - spec = swagger(app, template=template) + spec = swagger(app, template=template, from_file_keyword=args.from_file_keyword) if args.host is not None: spec['host'] = args.host if args.base_path is not None: From 76f209f1b86f83b4ddf63f994cdb6377ba13ded4 Mon Sep 17 00:00:00 2001 From: Chuan-Heng Hsiao <2970164+chhsiao1981@users.noreply.github.com> Date: Tue, 2 Jun 2026 16:13:27 -0400 Subject: [PATCH 2/2] replace pkg_resources with importlib --- build_swagger_spec.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/build_swagger_spec.py b/build_swagger_spec.py index 7df7249..c9f9412 100644 --- a/build_swagger_spec.py +++ b/build_swagger_spec.py @@ -2,7 +2,8 @@ import sys import argparse import json -import pkg_resources +import importlib +import importlib.metadata from flask_swagger import swagger sys.path.append(os.getcwd()) @@ -21,7 +22,15 @@ def run(): - app = pkg_resources.EntryPoint.parse("x=%s" % args.app).resolve() + entries = importlib.metadata.entry_points(value=args.app) + print(f'build_swagger_spec.run: app: {args.app} entries: ({len(entries)}/{entries})') + for entry in entries: + pass + + the_module = entry.module + the_var = entry.value.split(':')[1] + mod = importlib.import_module(the_module) + app = getattr(mod, the_var) # load the base template template = None