38 lines
744 B
Python
38 lines
744 B
Python
import json
|
|
import urllib.request
|
|
import os
|
|
import shutil
|
|
|
|
|
|
projects = {
|
|
'queues': 'tasks.proto'
|
|
}
|
|
|
|
|
|
try:
|
|
shutil.rmtree('schemas')
|
|
except:
|
|
pass
|
|
|
|
try:
|
|
os.mkdir('schemas')
|
|
except:
|
|
pass
|
|
|
|
for project in projects:
|
|
response = urllib.request.urlopen(f'https://platform.sprinthub.ru/schemas/get?project={project}').read()
|
|
data = json.loads(response)
|
|
os.mkdir(f'schemas/{project}')
|
|
for key, value in data.items():
|
|
with open(f'schemas/{project}/{key}', 'w+') as fp:
|
|
fp.write(value)
|
|
|
|
|
|
for key, value in projects.items():
|
|
os.system(f'python -m grpc_tools.protoc --proto_path schemas --python_out=. --pyi_out=. --grpc_python_out=. ./schemas/{key}/{value}')
|
|
|
|
try:
|
|
shutil.rmtree('schemas')
|
|
except:
|
|
pass
|