Skip to content

Commit a0ec5e9

Browse files
committed
Optimize the input parameters of '--base-uri'
1 parent 0955ad0 commit a0ec5e9

File tree

2 files changed

+4
-67
lines changed

2 files changed

+4
-67
lines changed

jsonschema/cli.py

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import argparse
88
import errno
99
import json
10-
import os
1110
import sys
1211
import traceback
1312

@@ -16,7 +15,7 @@
1615
from jsonschema import __version__
1716
from jsonschema._reflect import namedAny
1817
from jsonschema.exceptions import SchemaError
19-
from jsonschema.validators import validator_for, RefResolver
18+
from jsonschema.validators import RefResolver, validator_for
2019

2120

2221
class _CannotLoadFile(Exception):
@@ -261,19 +260,10 @@ def load(_):
261260
raise _CannotLoadFile()
262261
instances = ["<stdin>"]
263262

264-
if arguments["base_uri"] is None:
265-
resolver = None
266-
elif arguments["base_uri"] == ".":
267-
file_prefix = "file:///{}/" if "nt" == os.name else "file://{}/"
268-
resolver = RefResolver(
269-
base_uri=file_prefix.format(os.getcwd()),
263+
resolver = RefResolver(
264+
base_uri=arguments["base_uri"],
270265
referrer=schema,
271-
)
272-
else:
273-
resolver = RefResolver(
274-
base_uri=arguments["base_uri"],
275-
referrer=schema,
276-
)
266+
) if arguments["base_uri"] is not None else None
277267

278268
validator = arguments["validator"](schema, resolver=resolver)
279269
exit_code = 0

jsonschema/tests/test_cli.py

Lines changed: 0 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -684,59 +684,6 @@ def test_successful_validation_of_just_the_schema_pretty_output(self):
684684
stderr="",
685685
)
686686

687-
def test_successful_validate_with_specifying_base_uri_relative_path(self):
688-
try:
689-
schema_file = tempfile.NamedTemporaryFile(
690-
mode='w+',
691-
prefix='schema',
692-
suffix='.json',
693-
dir='.',
694-
delete=False
695-
)
696-
self.addCleanup(os.remove, schema_file.name)
697-
schema = """
698-
{"type": "object", "properties": {"KEY1":
699-
{"$ref": %s%s#definitions/schemas"}},
700-
"definitions": {"schemas": {"type": "string"}}}
701-
""" % ("\"", os.path.basename(schema_file.name))
702-
schema_file.write(schema)
703-
finally:
704-
schema_file.close()
705-
706-
self.assertOutputs(
707-
files=dict(some_schema=schema, some_instance='{"KEY1": "1"}'),
708-
argv=["-i", "some_instance", "--base-uri", ".", "some_schema"],
709-
stdout="",
710-
stderr="",
711-
)
712-
713-
def test_failure_validate_with_specifying_base_uri_relative_path(self):
714-
try:
715-
schema_file = tempfile.NamedTemporaryFile(
716-
mode='w+',
717-
prefix='schema',
718-
suffix='.json',
719-
dir='.',
720-
delete=False
721-
)
722-
self.addCleanup(os.remove, schema_file.name)
723-
schema = """
724-
{"type": "object", "properties": {"KEY1":
725-
{"$ref": %s%s#definitions/schemas"}},
726-
"definitions": {"schemas": {"type": "string"}}}
727-
""" % ("\"", os.path.basename(schema_file.name))
728-
schema_file.write(schema)
729-
finally:
730-
schema_file.close()
731-
732-
self.assertOutputs(
733-
files=dict(some_schema=schema, some_instance='{"KEY1": 1}'),
734-
argv=["-i", "some_instance", "--base-uri", ".", "some_schema"],
735-
exit_code=1,
736-
stdout="",
737-
stderr="1: 1 is not of type 'string'\n",
738-
)
739-
740687
def test_successful_validate_with_specifying_base_uri_absolute_path(self):
741688
absolute_path = os.getcwd()
742689
try:

0 commit comments

Comments
 (0)