Skip to content
This repository was archived by the owner on Feb 12, 2025. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ $ mapbox ...
* [staticmap](#staticmap)
* [upload](#upload)
* [datasets](#datasets)
* [tilesets](#tilesets)

For any command that takes waypoints or features as an input you can either specify:

Expand Down Expand Up @@ -422,6 +423,28 @@ Options:
--help Show this message and exit.
```

### tilesets
```
Usage: mapbox tilesets [OPTIONS]

The Mapbox Tilesets API supports reading metadata for raster and vector
tilesets.

mapbox tilesets

An access token is required. See "mapbox --help".

Options:
-t, --tileset-type [raster|vector]
Filter results by type
-v, --visibility [private|public]
Filter results by visibility
-s, --sortby [created|modified]
Sort results by timestamp
-l, --limit TEXT Limit number of results (pagination)
--help Show this message and exit.
```

## Alternative command syntax

When saving a fraction of a second matters you can call the mapboxcli module
Expand Down
2 changes: 2 additions & 0 deletions examples/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,5 @@
* [Geocoding](geocoding.md)
* [Mapmatching](mapmatching.md)
* [Staticmaps](static_maps.md)
* [Geocoding](geocoding.md)
* [Tilesets](tilesets.md)
21 changes: 21 additions & 0 deletions examples/tilesets.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Tilesets

Access the Mapbox Tilesets API from the command line.

# Listing Tilesets

To list all tilesets for an account, run `mapbox tilesets`.

```
mapbox tilesets
```

Use the `--type`, `--visibility`, `--sortby`, and `--limit` options for additional functionality.

# Viewing Help

For help, use the `--help` option.

```
mapbox tilesets --help
```
11 changes: 10 additions & 1 deletion mapboxcli/scripts/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,15 @@
import mapboxcli
from mapboxcli.compat import configparser
from mapboxcli.scripts import (
config, geocoding, directions, mapmatching, uploads, static, datasets)
config,
geocoding,
directions,
mapmatching,
uploads,
static,
datasets,
tilesets
)


def configure_logging(verbosity):
Expand Down Expand Up @@ -102,3 +110,4 @@ def main_group(ctx, verbose, quiet, access_token, config):
main_group.add_command(uploads.upload)
main_group.add_command(static.staticmap)
main_group.add_command(datasets.datasets)
main_group.add_command(tilesets.tilesets)
67 changes: 67 additions & 0 deletions mapboxcli/scripts/tilesets.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
import json

import click
import cligj

import mapbox
from mapboxcli.errors import MapboxCLIException

@click.command(
short_help="List all tilesets for an account"
)

@click.option(
"--tileset-type",
"-t",
type=click.Choice(mapbox.Tilesets.valid_tileset_types),
help="Filter results by type"
)

@click.option(
"--visibility",
"-v",
type=click.Choice(mapbox.Tilesets.valid_visibilities),
help="Filter results by visibility"
)

@click.option(
"--sortby",
"-s",
type=click.Choice(mapbox.Tilesets.valid_sortbys),
help="Sort results by timestamp"
)

@click.option(
"--limit",
"-l",
help="Limit number of results (pagination)"
)

@click.pass_context
def tilesets(ctx, tileset_type, visibility, sortby, limit):
"""The Mapbox Tilesets API supports reading
metadata for raster and vector tilesets.

mapbox tilesets

An access token is required. See "mapbox --help".
"""

access_token = (ctx.obj and ctx.obj.get("access_token")) or None

service = mapbox.Tilesets(access_token=access_token)

try:
res = service.tilesets(
tileset_type=tileset_type,
visibility=visibility,
sortby=sortby,
limit=int(limit) if limit is not None else None
)
except mapbox.errors.ValidationError as exc:
raise click.BadParameter(str(exc))

if res.status_code == 200:
click.echo(json.dumps(res.json()))
else:
raise MapboxCLIException(res.text.strip())
Loading