This repository has been archived on 2023-03-26. You can view files and clone it, but cannot push or open issues or pull requests.
2015-12-05 22:35:18 +00:00
|
|
|
import click
|
2015-12-05 23:25:26 +00:00
|
|
|
from project.export import exports
|
2015-12-06 22:29:53 +00:00
|
|
|
from project.utils import repos
|
2015-12-05 23:25:26 +00:00
|
|
|
|
2015-12-05 22:35:18 +00:00
|
|
|
|
|
|
|
@click.command('export')
|
|
|
|
@click.argument('sections', nargs=-1)
|
|
|
|
def cli(sections):
|
2015-12-05 23:25:26 +00:00
|
|
|
functions = [f for k, f in exports.__dict__.items() if is_function(f)]
|
|
|
|
if sections: # If they don't want to export everything
|
2015-12-06 11:00:43 +00:00
|
|
|
temp_functions = functions
|
|
|
|
functions = []
|
|
|
|
for func in temp_functions:
|
|
|
|
if func.__name__ in sections:
|
|
|
|
functions.append(func)
|
2015-12-07 18:22:15 +00:00
|
|
|
errors = []
|
2015-12-05 23:25:26 +00:00
|
|
|
for func in functions:
|
2015-12-07 18:22:15 +00:00
|
|
|
try:
|
|
|
|
repos.go_to_data() # Reset data directory
|
|
|
|
func()
|
|
|
|
except Exception as e:
|
|
|
|
errors.append(e)
|
|
|
|
|
|
|
|
if errors:
|
|
|
|
print("Errors:")
|
|
|
|
for error in errors:
|
|
|
|
print(error)
|
2015-12-05 23:25:26 +00:00
|
|
|
return 0
|
|
|
|
|
|
|
|
|
|
|
|
def is_function(item):
|
|
|
|
return type(item).__name__ == 'function'
|