utils/run-unasync.py (33 lines of code) (raw):

# Licensed to Elasticsearch B.V. under one or more contributor # license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright # ownership. Elasticsearch B.V. licenses this file to you under # the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. import os from pathlib import Path import unasync def main(): # Unasync all the generated async code additional_replacements = { # We want to rewrite to 'Transport' instead of 'SyncTransport', etc "AsyncTransport": "Transport", "AsyncAppSearch": "AppSearch", "AsyncEnterpriseSearch": "EnterpriseSearch", "AsyncWorkplaceSearch": "WorkplaceSearch", "_AsyncAppSearch": "_AppSearch", "_AsyncEnterpriseSearch": "_EnterpriseSearch", "_AsyncWorkplaceSearch": "_WorkplaceSearch", } rules = [ unasync.Rule( fromdir="/elastic_enterprise_search/_async/client/", todir="/elastic_enterprise_search/_sync/client/", additional_replacements=additional_replacements, ), ] filepaths = [] for root, _, filenames in os.walk( Path(__file__).absolute().parent.parent / "elastic_enterprise_search/_async" ): for filename in filenames: if filename.rpartition(".")[-1] in ( "py", "pyi", ): filepaths.append(os.path.join(root, filename)) unasync.unasync_files(filepaths, rules) if __name__ == "__main__": main()