Skip to content

Commit 060b8d7

Browse files
authored
Merge pull request #4 from developmentseed/bug/2-pwd
Add abs paths to allow label-maker cli to work outside module dir
2 parents 349bfd2 + 5e6b983 commit 060b8d7

File tree

5 files changed

+22
-4
lines changed

5 files changed

+22
-4
lines changed

.circleci/config.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,9 @@ jobs:
3232
python test/verify-labels.py
3333
label-maker package --dest integration --config test/fixtures/integration/config.integration.json
3434
python test/verify-package.py
35+
36+
# Retest that `label-maker labels` works, but from outside the module directory
37+
cd ~
38+
label-maker labels --dest label-maker/integration --config label-maker/test/fixtures/integration/config.integration.json > stdout
39+
cd ~/label-maker
40+
python test/verify-labels.py

MANIFEST.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
include requirements.txt
22
include README.md
3+
include label_maker/countries.txt

label_maker/label.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
from PIL import Image, ImageDraw
1717
from tilepie import tilereduce
1818

19+
import label_maker
1920
from label_maker.filter import create_filter
2021

2122
# declare a global accumulator so the workers will have access
@@ -61,9 +62,13 @@ def make_labels(dest_folder, zoom, country, classes, ml_type, bounding_box, **kw
6162
print('Retiling QA Tiles to zoom level {} (takes a bit)'.format(zoom))
6263
filtered_geo = op.join(dest_folder, '{}.geojson'.format(country))
6364
ps = Popen(['tippecanoe-decode', '-c', '-f', mbtiles_file], stdout=PIPE)
64-
run(['python', 'label_maker/stream_filter.py', json.dumps(bounding_box)], stdin=ps.stdout, stdout=open(filtered_geo, 'w'))
65+
stream_filter_fpath = op.join(op.dirname(label_maker.__file__), 'stream_filter.py')
66+
run(['python', stream_filter_fpath, json.dumps(bounding_box)],
67+
stdin=ps.stdout, stdout=open(filtered_geo, 'w'))
6568
ps.wait()
66-
run(['tippecanoe', '--no-feature-limit', '--no-tile-size-limit', '-P', '-l', 'osm', '-f', '-z', str(zoom), '-Z', str(zoom), '-o', mbtiles_file_zoomed, filtered_geo])
69+
run(['tippecanoe', '--no-feature-limit', '--no-tile-size-limit', '-P',
70+
'-l', 'osm', '-f', '-z', str(zoom), '-Z', str(zoom), '-o',
71+
mbtiles_file_zoomed, filtered_geo])
6772

6873
# Call tilereduce
6974
print('Determining labels for each tile')

label_maker/main.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,16 @@
1818

1919
logger = logging.getLogger(__name__)
2020

21+
2122
def parse_args(args):
2223
"""Create an argument parser with subcommands"""
2324
desc = 'label_maker (v%s)' % __version__
2425
dhf = argparse.ArgumentDefaultsHelpFormatter
2526
parser = argparse.ArgumentParser(description=desc)
2627

2728
pparser = argparse.ArgumentParser(add_help=False)
28-
pparser.add_argument('--version', help='Print version and exit', action='version', version=__version__)
29+
pparser.add_argument('--version', help='Print version and exit',
30+
action='version', version=__version__)
2931
pparser.add_argument('--log', default=2, type=int,
3032
help='0:all, 1:debug, 2:info, 3:warning, 4:error, 5:critical')
3133
pparser.add_argument('-c', '--config', default='config.json', type=str,

label_maker/validate.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
"""Expose a schema for use with cerberus for config validation"""
2+
import os.path as op
3+
import label_maker
24

35
countries = []
4-
with open('label_maker/countries.txt') as f:
6+
module_dir = op.dirname(label_maker.__file__) # Get module home directory
7+
8+
with open(op.join(module_dir, 'countries.txt')) as f:
59
lines = f.readlines()
610
for line in lines:
711
countries.append(line.strip())

0 commit comments

Comments
 (0)