Gen docs is done, promise
This commit is contained in:
parent
925d4eb91b
commit
72028f3772
76
gen_docs.py
76
gen_docs.py
|
@ -1,7 +1,12 @@
|
||||||
import sys
|
import sys
|
||||||
import scrython
|
import scrython
|
||||||
import re
|
import re
|
||||||
from scrython import *
|
from scrython.bulk_data import *
|
||||||
|
from scrython.cards import *
|
||||||
|
from scrython.catalog import *
|
||||||
|
from scrython.rulings import *
|
||||||
|
from scrython.sets import *
|
||||||
|
from scrython.symbology import *
|
||||||
from types import FunctionType
|
from types import FunctionType
|
||||||
|
|
||||||
def format_args(string, f):
|
def format_args(string, f):
|
||||||
|
@ -56,44 +61,53 @@ def format_functions(_class, function_list, f):
|
||||||
|
|
||||||
f.write('\n```\n{}\n```'.format(function_docstring))
|
f.write('\n```\n{}\n```'.format(function_docstring))
|
||||||
|
|
||||||
for _class in scrython.__all__:
|
def main(subpackage):
|
||||||
|
for _class in subpackage.__all__:
|
||||||
|
|
||||||
intro = """
|
intro = """
|
||||||
These docs will likely not be as detailed as the official Scryfall Documentation, and you should reference that for more information.
|
These docs will likely not be as detailed as the official Scryfall Documentation, and you should reference that for more information.
|
||||||
|
|
||||||
>In the event that a key isn't found or has been changed, you can access the full JSON output with the `scryfallJson` variable (`{}().scryfallJson`).
|
>In the event that a key isn't found or has been changed, you can access the full JSON output with the `scryfallJson` variable (`{}().scryfallJson`).
|
||||||
""".format(eval(_class).__name__)
|
""".format(eval(_class).__name__)
|
||||||
|
|
||||||
class_docstring = repr(re.sub(r'\n+', '', eval(_class).__doc__)) # removes newlines
|
class_docstring = repr(re.sub(r'\n+', '', eval(_class).__doc__)) # removes newlines
|
||||||
|
|
||||||
remove_extra_spaces = re.sub(' +', ' ', class_docstring)
|
remove_extra_spaces = re.sub(' +', ' ', class_docstring)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
args = re.findall(r'(?<=Args:)(.*)(?=Returns:)', remove_extra_spaces)[0]
|
args = re.findall(r'(?<=Args:)(.*)(?=Returns:)', remove_extra_spaces)[0]
|
||||||
|
|
||||||
returns = re.findall(r'(?<=Returns:)(.*)(?=Raises:)', remove_extra_spaces)[0]
|
returns = re.findall(r'(?<=Returns:)(.*)(?=Raises:)', remove_extra_spaces)[0]
|
||||||
|
|
||||||
raises = re.findall(r'(?<=Raises:)(.*)(?=Examples:)', remove_extra_spaces)[0]
|
raises = re.findall(r'(?<=Raises:)(.*)(?=Examples:)', remove_extra_spaces)[0]
|
||||||
|
|
||||||
examples = re.findall(r'(?<=Examples:)(.*)', remove_extra_spaces)[0]
|
examples = re.findall(r'(?<=Examples:)(.*)', remove_extra_spaces)[0]
|
||||||
|
|
||||||
functions = [x for x in dir(eval(_class)) if not x.startswith('_')]
|
functions = [x for x in dir(eval(_class)) if not x.startswith('_')]
|
||||||
|
|
||||||
with open('./docs/{}.md'.format(_class), 'w') as f:
|
with open('./docs/{}/{}.md'.format(subpackage.__name__, _class), 'w') as f:
|
||||||
f.write('# **class** `{}()`\n'.format(_class))
|
f.write('# **class** `{}.{}()`\n'.format(subpackage.__name__, _class))
|
||||||
f.write(intro)
|
f.write(intro)
|
||||||
format_args(args, f)
|
format_args(args, f)
|
||||||
format_returns(returns, f)
|
format_returns(returns, f)
|
||||||
format_raises(raises, f)
|
format_raises(raises, f)
|
||||||
format_examples(examples, f)
|
format_examples(examples, f)
|
||||||
format_functions(_class, functions, f)
|
format_functions(_class, functions, f)
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(_class.upper())
|
print(_class.upper())
|
||||||
print(repr(eval(_class).__doc__))
|
print(repr(eval(_class).__doc__))
|
||||||
print('Args: ', re.findall(r'(?<=Args:)(.*)(?=Returns:)', remove_extra_spaces))
|
print('Args: ', re.findall(r'(?<=Args:)(.*)(?=Returns:)', remove_extra_spaces))
|
||||||
print('Returns: ', re.findall(r'(?<=Returns:)(.*)(?=Raises:)', remove_extra_spaces))
|
print('Returns: ', re.findall(r'(?<=Returns:)(.*)(?=Raises:)', remove_extra_spaces))
|
||||||
print('Raises: ', re.findall(r'(?<=Raises:)(.*)(?=Examples:)', remove_extra_spaces))
|
print('Raises: ', re.findall(r'(?<=Raises:)(.*)(?=Examples:)', remove_extra_spaces))
|
||||||
print('Examples: ', re.findall(r'(?<=Examples:)(.*)', remove_extra_spaces))
|
print('Examples: ', re.findall(r'(?<=Examples:)(.*)', remove_extra_spaces))
|
||||||
print(e)
|
print(e)
|
||||||
print('~~~~~~~~~~~~~~~~~~~~~~~~~~')
|
print('~~~~~~~~~~~~~~~~~~~~~~~~~~')
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main(scrython.bulk_data)
|
||||||
|
main(scrython.cards)
|
||||||
|
main(scrython.catalog)
|
||||||
|
main(scrython.rulings)
|
||||||
|
main(scrython.sets)
|
||||||
|
main(scrython.symbology)
|
Loading…
Reference in New Issue