Skip to content

Commit dd20c45

Browse files
committed
Converted to pyproject.toml
1 parent 024d321 commit dd20c45

25 files changed

Lines changed: 166 additions & 144 deletions

File tree

remove-json-keys/__main__.py

Lines changed: 0 additions & 24 deletions
This file was deleted.

remove-json-keys/pyproject.toml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
[project]
2+
name = "remove-json-keys"
3+
version = "0.0.1"
4+
description = "Remove key/value pairs from json_dir/**/*.json. Type remove-json-keys --help to view options."
5+
authors = [{name = "Adam Lui", email = "adam@kudoai.com"}]
6+
include = ["LICENSE.md"]
7+
8+
[project.scripts]
9+
remove-json-keys = "remove_json_keys.__main__:main"
10+
11+
[tool.setuptools.package-data]
12+
remove_json_keys = ["package-data.json"]

remove-json-keys/src/remove_json_keys/__init__.py

Whitespace-only changes.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
def main():
2+
import sys
3+
from .lib import data, init, log
4+
5+
cli = init.cli()
6+
7+
if not cli.config.no_wizard:
8+
while True: # prompt user for keys to remove
9+
if getattr(cli.config, 'remove_keys', '') : print('Key(s) to remove:', cli.config.remove_keys)
10+
input_key = input("Enter key to remove (or ENTER if done): ")
11+
if not input_key : break
12+
cli.config.remove_keys.append(input_key)
13+
14+
log.trunc(f'\nSearching for {cli.config.json_dir}...')
15+
cli.config.json_dir = init.json_dir(cli.config.json_dir)
16+
if cli.config.json_dir : log.trunc(f'JSON directory found!\n\n>> {cli.config.json_dir}\n')
17+
else : log.trunc(f'Unable to locate a {cli.config.json_dir} directory.') ; sys.exit(1)
18+
19+
keys_removed, keys_skipped, files_processed_cnt = data.json.remove_keys(cli)
20+
21+
log.final_summary({
22+
'removed': [f'{key} ({file_path})' for key, file_path in keys_removed],
23+
'skipped': [f'{key} ({file_path})' for key, file_path in keys_skipped],
24+
})
25+
log.trunc(f'Total JSON files processed: {files_processed_cnt}\n')
26+
27+
if __name__ == '__main__' : main()

remove-json-keys/lib/data/__init__.py renamed to remove-json-keys/src/remove_json_keys/lib/data/__init__.py

File renamed without changes.

remove-json-keys/lib/data/csv.py renamed to remove-json-keys/src/remove_json_keys/lib/data/csv.py

File renamed without changes.

remove-json-keys/lib/data/json.py renamed to remove-json-keys/src/remove_json_keys/lib/data/json.py

File renamed without changes.

remove-json-keys/lib/data/sns.py renamed to remove-json-keys/src/remove_json_keys/lib/data/sns.py

File renamed without changes.

remove-json-keys/lib/init.py renamed to remove-json-keys/src/remove_json_keys/lib/init.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
import argparse, os
2-
from lib import data
2+
from . import data
33
from types import SimpleNamespace as sns
44

55
def cli():
66

7-
cli = data.sns.from_dict(data.json.read(os.path.join(os.path.dirname(__file__), '../cli.json')))
7+
cli = data.sns.from_dict(data.json.read(os.path.join(os.path.dirname(__file__), '../package-data.json')))
88

99
# Parse CLI args
10-
parser = argparse.ArgumentParser(description='Remove key/value pairs from JSON files')
11-
parser.add_argument('--remove-keys', type=str, help='Keys to remove (e.g. "appName,author")')
12-
parser.add_argument('--json-dir', type=str, help='Name of folder containing JSON files')
13-
parser.add_argument('--no-wizard', action='store_true', default=None, help='Skip start-up prompts')
10+
argp = argparse.ArgumentParser(description='Remove key/value pairs from JSON files')
11+
argp.add_argument('--remove-keys', type=str, help='Keys to remove (e.g. "appName,author")')
12+
argp.add_argument('--json-dir', type=str, help='Name of folder containing JSON files')
13+
argp.add_argument('--no-wizard', action='store_true', default=None, help='Skip start-up prompts')
1414
cli.config=sns()
15-
cli.config.__dict__.update({ key:val for key,val in vars(parser.parse_args()).items() if val is not None })
15+
cli.config.__dict__.update({ key:val for key,val in vars(argp.parse_args()).items() if val is not None })
1616

1717
# Init cli.config vals
1818
cli.config.remove_keys = data.csv.parse(getattr(cli.config, 'remove_keys', None))

remove-json-keys/lib/log.py renamed to remove-json-keys/src/remove_json_keys/lib/log.py

File renamed without changes.

0 commit comments

Comments
 (0)