Created
March 27, 2020 23:03
-
-
Save lmazuel/312129e29c484dfce1d3917c5a3d4d26 to your computer and use it in GitHub Desktop.
SwaggerToSdk generate them all
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SWAGGERS = r""" | |
specification\addons\resource-manager\readme.md | |
specification\adhybridhealthservice\resource-manager\readme.md | |
specification\advisor\resource-manager\readme.md | |
specification\alertsmanagement\resource-manager\readme.md | |
specification\analysisservices\resource-manager\readme.md | |
specification\apimanagement\control-plane\readme.md | |
specification\apimanagement\resource-manager\readme.md | |
specification\appconfiguration\data-plane\readme.md | |
specification\appconfiguration\resource-manager\readme.md | |
specification\applicationinsights\data-plane\readme.md | |
specification\applicationinsights\resource-manager\readme.md | |
specification\appplatform\resource-manager\readme.md | |
specification\attestation\data-plane\readme.md | |
specification\attestation\resource-manager\readme.md | |
specification\authorization\resource-manager\readme.md | |
specification\automation\resource-manager\readme.md | |
specification\azsadmin\resource-manager\azurebridge\readme.md | |
specification\azsadmin\resource-manager\backup\readme.md | |
specification\azsadmin\resource-manager\commerce\readme.md | |
specification\azsadmin\resource-manager\compute\readme.md | |
specification\azsadmin\resource-manager\deployment\readme.md | |
specification\azsadmin\resource-manager\fabric\readme.md | |
specification\azsadmin\resource-manager\gallery\readme.md | |
specification\azsadmin\resource-manager\infrastructureinsights\readme.md | |
specification\azsadmin\resource-manager\keyvault\readme.md | |
specification\azsadmin\resource-manager\network\readme.md | |
specification\azsadmin\resource-manager\storage\readme.md | |
specification\azsadmin\resource-manager\subscriptions\readme.md | |
specification\azsadmin\resource-manager\update\readme.md | |
specification\azsadmin\resource-manager\user-subscriptions\readme.md | |
specification\azure-kusto\resource-manager\readme.md | |
specification\azureactivedirectory\resource-manager\readme.md | |
specification\azuredata\resource-manager\readme.md | |
specification\azurestack\resource-manager\readme.md | |
specification\batch\data-plane\readme.md | |
specification\batch\resource-manager\readme.md | |
specification\batchai\resource-manager\readme.md | |
specification\billing\resource-manager\readme.md | |
specification\blockchain\resource-manager\readme.md | |
specification\blueprint\resource-manager\readme.md | |
specification\botservice\resource-manager\readme.md | |
specification\cdn\resource-manager\readme.md | |
specification\cognitiveservices\data-plane\AnomalyDetector\readme.md | |
specification\cognitiveservices\data-plane\AutoSuggest\readme.md | |
specification\cognitiveservices\data-plane\ComputerVision\readme.md | |
specification\cognitiveservices\data-plane\ContentModerator\readme.md | |
specification\cognitiveservices\data-plane\CustomImageSearch\readme.md | |
specification\cognitiveservices\data-plane\CustomVision\Prediction\readme.md | |
specification\cognitiveservices\data-plane\CustomVision\Training\readme.md | |
specification\cognitiveservices\data-plane\CustomWebSearch\readme.md | |
specification\cognitiveservices\data-plane\EntitySearch\readme.md | |
specification\cognitiveservices\data-plane\Face\readme.md | |
specification\cognitiveservices\data-plane\FormRecognizer\readme.md | |
specification\cognitiveservices\data-plane\ImageSearch\readme.md | |
specification\cognitiveservices\data-plane\InkRecognizer\readme.md | |
specification\cognitiveservices\data-plane\LocalSearch\readme.md | |
specification\cognitiveservices\data-plane\LUIS\Authoring\readme.md | |
specification\cognitiveservices\data-plane\LUIS\Runtime\readme.md | |
specification\cognitiveservices\data-plane\NewsSearch\readme.md | |
specification\cognitiveservices\data-plane\Personalizer\readme.md | |
specification\cognitiveservices\data-plane\QnAMaker\readme.md | |
specification\cognitiveservices\data-plane\SpellCheck\readme.md | |
specification\cognitiveservices\data-plane\TextAnalytics\readme.md | |
specification\cognitiveservices\data-plane\TranslatorText\readme.md | |
specification\cognitiveservices\data-plane\VideoSearch\readme.md | |
specification\cognitiveservices\data-plane\VisualSearch\readme.md | |
specification\cognitiveservices\data-plane\WebSearch\readme.md | |
specification\cognitiveservices\resource-manager\readme.md | |
specification\commerce\resource-manager\readme.md | |
specification\compute\resource-manager\readme.md | |
specification\consumption\resource-manager\readme.md | |
specification\containerinstance\resource-manager\readme.md | |
specification\containerregistry\data-plane\readme.md | |
specification\containerregistry\resource-manager\readme.md | |
specification\containerservice\resource-manager\readme.md | |
specification\cosmos-db\resource-manager\readme.md | |
specification\cost-management\resource-manager\readme.md | |
specification\customer-insights\resource-manager\readme.md | |
specification\customerlockbox\resource-manager\readme.md | |
specification\customproviders\resource-manager\readme.md | |
specification\databox\resource-manager\readme.md | |
specification\databoxedge\resource-manager\readme.md | |
specification\databricks\resource-manager\readme.md | |
specification\datacatalog\resource-manager\readme.md | |
specification\datafactory\resource-manager\readme.md | |
specification\datalake-analytics\data-plane\readme.md | |
specification\datalake-analytics\resource-manager\readme.md | |
specification\datalake-store\data-plane\readme.md | |
specification\datalake-store\resource-manager\readme.md | |
specification\datamigration\resource-manager\readme.md | |
specification\datashare\resource-manager\readme.md | |
specification\deploymentmanager\resource-manager\readme.md | |
specification\deviceprovisioningservices\resource-manager\readme.md | |
specification\devops\resource-manager\readme.md | |
specification\devspaces\resource-manager\readme.md | |
specification\devtestlabs\resource-manager\readme.md | |
specification\digitaltwins\resource-manager\readme.md | |
specification\dns\resource-manager\readme.md | |
specification\domainservices\resource-manager\readme.md | |
specification\engagementfabric\resource-manager\readme.md | |
specification\EnterpriseKnowledgeGraph\resource-manager\readme.md | |
specification\eventgrid\data-plane\readme.md | |
specification\eventgrid\resource-manager\readme.md | |
specification\eventhub\resource-manager\readme.md | |
specification\frontdoor\resource-manager\readme.md | |
specification\frontdoor\resource-manager\Microsoft.Network\preview\2018-08-01-preview\readme.md | |
specification\frontdoor\resource-manager\Microsoft.Network\preview\2019-03-01-preview\readme.md | |
specification\frontdoor\resource-manager\Microsoft.Network\stable\2019-04-01\readme.md | |
specification\frontdoor\resource-manager\Microsoft.Network\stable\2019-05-01\readme.md | |
specification\frontdoor\resource-manager\Microsoft.Network\stable\2020-01-01\readme.md | |
specification\graphrbac\data-plane\readme.md | |
specification\guestconfiguration\resource-manager\readme.md | |
specification\hanaonazure\resource-manager\readme.md | |
specification\hardwaresecuritymodules\resource-manager\readme.md | |
specification\hdinsight\data-plane\readme.md | |
specification\hdinsight\resource-manager\readme.md | |
specification\healthcareapis\resource-manager\readme.md | |
specification\hybridcompute\resource-manager\readme.md | |
specification\hybriddatamanager\resource-manager\readme.md | |
specification\imagebuilder\resource-manager\readme.md | |
specification\imds\data-plane\readme.md | |
specification\intune\resource-manager\readme.md | |
specification\iotcentral\data-plane\readme.md | |
specification\iotcentral\resource-manager\readme.md | |
specification\iothub\resource-manager\readme.md | |
specification\iotspaces\resource-manager\readme.md | |
specification\keyvault\data-plane\readme.md | |
specification\keyvault\resource-manager\readme.md | |
specification\labservices\resource-manager\readme.md | |
specification\logic\resource-manager\readme.md | |
specification\machinelearning\resource-manager\readme.md | |
specification\machinelearningcompute\resource-manager\readme.md | |
specification\machinelearningexperimentation\resource-manager\readme.md | |
specification\machinelearningservices\data-plane\readme.md | |
specification\machinelearningservices\resource-manager\readme.md | |
specification\maintenance\resource-manager\readme.md | |
specification\managednetwork\resource-manager\readme.md | |
specification\managedservices\resource-manager\readme.md | |
specification\managementgroups\resource-manager\readme.md | |
specification\managementpartner\resource-manager\readme.md | |
specification\maps\resource-manager\readme.md | |
specification\mariadb\resource-manager\readme.md | |
specification\marketplace\resource-manager\readme.md | |
specification\marketplaceordering\resource-manager\readme.md | |
specification\mediaservices\resource-manager\readme.md | |
specification\migrate\resource-manager\readme.md | |
specification\migrateprojects\resource-manager\readme.md | |
specification\mixedreality\resource-manager\readme.md | |
specification\monitor\data-plane\readme.md | |
specification\monitor\resource-manager\readme.md | |
specification\msi\resource-manager\readme.md | |
specification\mysql\resource-manager\readme.md | |
specification\netapp\resource-manager\readme.md | |
specification\network\resource-manager\readme.md | |
specification\notificationhubs\resource-manager\readme.md | |
specification\operationalinsights\data-plane\readme.md | |
specification\operationalinsights\resource-manager\readme.md | |
specification\operationsmanagement\resource-manager\readme.md | |
specification\peering\resource-manager\readme.md | |
specification\policyinsights\resource-manager\readme.md | |
specification\portal\resource-manager\readme.md | |
specification\postgresql\resource-manager\readme.md | |
specification\powerbidedicated\resource-manager\readme.md | |
specification\powerbiembedded\resource-manager\readme.md | |
specification\privatedns\resource-manager\readme.md | |
specification\recoveryservices\resource-manager\readme.md | |
specification\recoveryservicesbackup\resource-manager\readme.md | |
specification\recoveryservicessiterecovery\resource-manager\readme.md | |
specification\redhatopenshift\resource-manager\readme.md | |
specification\redis\resource-manager\readme.md | |
specification\relay\resource-manager\readme.md | |
specification\reservations\resource-manager\readme.md | |
specification\resourcegraph\resource-manager\readme.md | |
specification\resourcehealth\resource-manager\readme.md | |
specification\resources\resource-manager\readme.md | |
specification\scheduler\resource-manager\readme.md | |
specification\search\data-plane\Azure.Search\readme.md | |
specification\search\data-plane\Microsoft.Azure.Search.Data\readme.md | |
specification\search\data-plane\Microsoft.Azure.Search.Service\readme.md | |
specification\search\resource-manager\readme.md | |
specification\security\resource-manager\readme.md | |
specification\securityinsights\resource-manager\readme.md | |
specification\serialconsole\resource-manager\readme.md | |
specification\service-map\resource-manager\readme.md | |
specification\servicebus\resource-manager\readme.md | |
specification\servicefabric\data-plane\readme.md | |
specification\servicefabric\resource-manager\readme.md | |
specification\servicefabricmesh\resource-manager\readme.md | |
specification\signalr\resource-manager\readme.md | |
specification\softwareplan\resource-manager\readme.md | |
specification\sql\resource-manager\readme.md | |
specification\sqlvirtualmachine\resource-manager\readme.md | |
specification\storage\data-plane\readme.md | |
specification\storage\resource-manager\readme.md | |
specification\storagecache\resource-manager\readme.md | |
specification\storageimportexport\resource-manager\readme.md | |
specification\storagesync\resource-manager\readme.md | |
specification\storSimple1200Series\resource-manager\readme.md | |
specification\storsimple8000series\resource-manager\readme.md | |
specification\streamanalytics\resource-manager\readme.md | |
specification\subscription\resource-manager\readme.md | |
specification\support\resource-manager\readme.md | |
specification\synapse\data-plane\readme.md | |
specification\synapse\resource-manager\readme.md | |
specification\timeseriesinsights\data-plane\readme.md | |
specification\timeseriesinsights\resource-manager\readme.md | |
specification\trafficmanager\resource-manager\readme.md | |
specification\visualstudio\resource-manager\readme.md | |
specification\vmwarecloudsimple\resource-manager\readme.md | |
specification\vmwarevirtustream\resource-manager\readme.md | |
specification\web\resource-manager\readme.md | |
specification\windowsesu\resource-manager\readme.md | |
specification\windowsiot\resource-manager\readme.md | |
specification\workloadmonitor\resource-manager\readme.md | |
""" | |
RESTAPI_FOLDER = r"C:\Users\lmazuel\Git\azure-rest-api-specs" | |
SDK_FOLDER = r"C:\Users\lmazuel\Git\azure-sdk-for-python" | |
CONF_PATH = r"C:\Users\lmazuel\Git\azure-sdk-for-python\swagger_to_sdk_config_track2.json" | |
import logging | |
import sys | |
from pathlib import Path | |
from packaging_tools.generate_sdk import generate | |
def do_it(swagger=None): | |
if swagger: | |
swaggers = [swagger] | |
else: | |
swaggers = SWAGGERS.splitlines() | |
logger = logging.getLogger() | |
for swagger in swaggers: | |
print(f"Working on {swagger}") | |
# Change logger | |
handler = logging.FileHandler(Path(SDK_FOLDER) / Path("TEST") / Path(swagger.replace("\\", "-")+".txt")) | |
logger.addHandler(handler) | |
try: | |
generate(CONF_PATH, | |
SDK_FOLDER, | |
None, | |
str(RESTAPI_FOLDER / Path(swagger)), | |
RESTAPI_FOLDER) | |
except Exception: | |
pass | |
finally: | |
logger.removeHandler(handler) | |
if __name__ == "__main__": | |
logging.basicConfig(level=logging.DEBUG) | |
do_it(sys.argv[1] if len(sys.argv) > 1 else None) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment