Skip to content

Commit

Permalink
Moved parameter patterns to separate table
Browse files Browse the repository at this point in the history
  • Loading branch information
TK05 committed Apr 20, 2019
1 parent af88963 commit bc88f5a
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 5 deletions.
14 changes: 12 additions & 2 deletions tools/stats/endpoint_documentation_generator/generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import urllib.parse
from datetime import datetime

from .template import endpoint_documentation_template, data_set_template, parameter_line_template
from .template import endpoint_documentation_template, data_set_template, parameter_line_template, parameter_pattern_template

from tools.library.functions import get_python_variable_name
from tools.library.file_handler import save_file, get_file_path
Expand Down Expand Up @@ -47,6 +47,7 @@ def get_endpoint_documentation(endpoint, endpoints_information):
data_set_texts.append(data_set_text)

parameter_texts = []
parameter_pattern_texts = []
for parameter in reversed(parameters):
pattern = ''
if parameter_patterns[parameter]:
Expand All @@ -68,18 +69,27 @@ def get_endpoint_documentation(endpoint, endpoints_information):
parameter_line = parameter_line_template.format(api_parameter_name=parameter,
python_parameter_variable=python_parameter_variable,
default_value=default_value,
pattern=pattern, required=required, nullable=nullable)
required=required, nullable=nullable)

if parameter in nullable_parameters:
parameter_texts.append(parameter_line)
# Maintain same order as parameters table but do not show when parameter has no pattern.
if pattern:
parameter_pattern_texts.append(parameter_pattern_template.format(api_parameter_name=parameter,
parameter_pattern=pattern))
else:
parameter_texts.insert(0, parameter_line)
if pattern:
parameter_pattern_texts.insert(0, parameter_pattern_template.format(api_parameter_name=parameter,
parameter_pattern=pattern))

json_text = json.dumps(endpoint_analysis, sort_keys=True, indent=4)

documentation_text = endpoint_documentation_template.format(endpoint=endpoint, endpoint__lowercase=endpoint.lower(),
query_string_parameters=query_string_parameters,
json=json_text,
parameters='\n'.join(parameter_texts),
parameter_patterns='\n'.join(parameter_pattern_texts),
data_sets='\n'.join(data_set_texts),
validated_date=datetime.now().date())

Expand Down
13 changes: 10 additions & 3 deletions tools/stats/endpoint_documentation_generator/template.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,15 @@
>[https://stats.nba.com/stats/{endpoint__lowercase}?{query_string_parameters}](https://stats.nba.com/stats/{endpoint__lowercase}?{query_string_parameters})
## Parameters
API Parameter Name | Python Parameter Variable | Default Value | Pattern | Required | Nullable
------------ | ------------ | :-----------: | :-----------: | :---: | :---:
API Parameter Name | Python Parameter Variable | Default Value | Required | Nullable
------------ | ------------ | :-----------: | :---: | :---:
{parameters}
## Parameter Patterns
API Parameter Name | Pattern
------------ | ------------
{parameter_patterns}
## Data Sets
{data_sets}
Expand All @@ -28,4 +33,6 @@
```
'''

parameter_line_template = '''[_**{api_parameter_name}**_](https://github.com/swar/nba_api/blob/master/docs/nba_api/stats/library/parameters.md#{api_parameter_name}) | {python_parameter_variable} | {default_value} | {pattern} | {required} | {nullable} | '''
parameter_line_template = '''[_**{api_parameter_name}**_](https://github.com/swar/nba_api/blob/master/docs/nba_api/stats/library/parameters.md#{api_parameter_name}) | {python_parameter_variable} | {default_value} | {required} | {nullable} | '''

parameter_pattern_template = '''{api_parameter_name} | {parameter_pattern} | '''

0 comments on commit bc88f5a

Please sign in to comment.