support integer type and adjust usage text
This commit is contained in:
parent
766ec56642
commit
034894f590
1 changed files with 11 additions and 2 deletions
|
@ -10,6 +10,7 @@ SPACE_RULE = '" "?'
|
||||||
PRIMITIVE_RULES = {
|
PRIMITIVE_RULES = {
|
||||||
'boolean': '("true" | "false") space',
|
'boolean': '("true" | "false") space',
|
||||||
'number': '("-"? ([0-9] | [1-9] [0-9]*)) ("." [0-9]+)? ([eE] [-+]? [0-9]+)? space',
|
'number': '("-"? ([0-9] | [1-9] [0-9]*)) ("." [0-9]+)? ([eE] [-+]? [0-9]+)? space',
|
||||||
|
'integer': '("-"? ([0-9] | [1-9] [0-9]*)) space',
|
||||||
'string': r''' "\"" (
|
'string': r''' "\"" (
|
||||||
[^"\\] |
|
[^"\\] |
|
||||||
"\\" (["\\/bfnrt] | "u" [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F])
|
"\\" (["\\/bfnrt] | "u" [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F])
|
||||||
|
@ -101,13 +102,21 @@ class SchemaConverter:
|
||||||
|
|
||||||
def main(args_in = None):
|
def main(args_in = None):
|
||||||
parser = argparse.ArgumentParser(
|
parser = argparse.ArgumentParser(
|
||||||
description='Generates a grammar (suitable for use in ./main) that produces JSON conforming to a given schema'
|
description='''
|
||||||
|
Generates a grammar (suitable for use in ./main) that produces JSON conforming to a
|
||||||
|
given JSON schema. Only a subset of JSON schema features are supported; more may be
|
||||||
|
added in the future.
|
||||||
|
''',
|
||||||
)
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--prop-order',
|
'--prop-order',
|
||||||
default=[],
|
default=[],
|
||||||
type=lambda s: s.split(','),
|
type=lambda s: s.split(','),
|
||||||
help='comma-separated property names defining the order of precedence for object properties; properties not specified here are given lower precedence than those that are, and are sorted alphabetically'
|
help='''
|
||||||
|
comma-separated property names defining the order of precedence for object properties;
|
||||||
|
properties not specified here are given lower precedence than those that are, and are
|
||||||
|
sorted alphabetically
|
||||||
|
'''
|
||||||
)
|
)
|
||||||
parser.add_argument('schema', help='file containing JSON schema ("-" for stdin)')
|
parser.add_argument('schema', help='file containing JSON schema ("-" for stdin)')
|
||||||
args = parser.parse_args(args_in)
|
args = parser.parse_args(args_in)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue