Skip to content

Commit 372f6ef

Browse files
committed
Abstracted init.json_dir()
1 parent a35c140 commit 372f6ef

2 files changed

Lines changed: 23 additions & 19 deletions

File tree

remove-json-keys/__main__.py

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,23 +15,11 @@
1515

1616
# Determine closest locales dir
1717
log.trunc(f'\nSearching for {cli.json_dir}...')
18-
script_dir = os.path.abspath(os.path.dirname(__file__))
19-
for root, dirs, files in os.walk(script_dir): # search script dir recursively
20-
if cli.json_dir in dirs:
21-
cli.json_dir = os.path.join(root, cli.json_dir) ; break
22-
else: # search script parent dirs recursively
23-
parent_dir = os.path.dirname(script_dir)
24-
while parent_dir and parent_dir != script_dir:
25-
for root, dirs, files in os.walk(parent_dir):
26-
if cli.json_dir in dirs:
27-
cli.json_dir = os.path.join(root, cli.json_dir) ; break
28-
if cli.json_dir : break
29-
parent_dir = os.path.dirname(parent_dir)
30-
else : cli.json_dir = None
31-
32-
# Print result
33-
if cli.json_dir : log.trunc(f'JSON directory found!\n\n>> {cli.json_dir}\n')
34-
else : log.trunc(f'Unable to locate a {cli.json_dir} directory.') ; exit()
18+
cli.json_dir = init.json_dir(cli.json_dir)
19+
if cli.json_dir:
20+
log.trunc(f'JSON directory found!\n\n>> {cli.json_dir}\n')
21+
else:
22+
log.trunc(f'Unable to locate a {cli.json_dir} directory.') ; exit()
3523

3624
# Process JSON files and remove specified keys
3725
keys_removed, keys_skipped, processed_cnt = [], [], 0

remove-json-keys/lib/init.py

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

44
def cli():
55

66
cli = sns(
77
name='remove-json-keys',
8-
version='2026.2.10.29',
8+
version='2026.2.10.30',
99
author=sns(name='Adam Lui', email='adam@kudoa.com', url='https://github.com/adamlui'),
1010
description='Remove key/value pairs from json_dir/**.json',
1111
urls=sns(
@@ -24,3 +24,19 @@ def cli():
2424
cli.json_dir = cli.args.json_dir or '_locales'
2525

2626
return cli
27+
28+
def json_dir(json_dir):
29+
script_dir = os.path.abspath(os.path.dirname(__file__))
30+
for root, dirs, files in os.walk(script_dir): # search script dir recursively
31+
if json_dir in dirs:
32+
json_dir = os.path.join(root, json_dir) ; break
33+
else: # search script parent dirs recursively
34+
parent_dir = os.path.dirname(script_dir)
35+
while parent_dir and parent_dir != script_dir:
36+
for root, dirs, files in os.walk(parent_dir):
37+
if json_dir in dirs:
38+
json_dir = os.path.join(root, json_dir) ; break
39+
if json_dir : break
40+
parent_dir = os.path.dirname(parent_dir)
41+
else : json_dir = None
42+
return json_dir

0 commit comments

Comments
 (0)