Skip to content

Commit

Permalink
Merge pull request #1 from iexcloud/kg/platform-code-gen
Browse files Browse the repository at this point in the history
code autogen
  • Loading branch information
kaigong-iex committed Mar 21, 2022
2 parents 53f64c8 + 387f7aa commit 7bca625
Show file tree
Hide file tree
Showing 4 changed files with 1,114 additions and 315 deletions.
81 changes: 48 additions & 33 deletions pyEX/client.py
Expand Up @@ -140,28 +140,36 @@
from .options import optionExpirations, options, optionsDF, stockOptions, stockOptionsDF
from .points import points, pointsDF
from .platform import (
createDataset,
createDatasetAsync,
deleteData,
deleteDataAsync,
deleteDataset,
deleteDatasetAsync,
createDataJob,
createDataJobAsync,
listDataJobs,
listDataJobsAsync,
queryDataJob,
queryDataJobAsync,
listDataJobsById,
listDataJobsByIdAsync,
getDataJobLogFile,
getDataJobLogFileAsync,
awsOnboarding,
awsOnboardingAsync,
getplatformswaggerjson,
getplatformswaggerjsonAsync,
listDatasets,
listDatasetsAsync,
listDatasetsDF,
listJobs,
getDataset,
getDatasetAsync,
registerDataset,
registerDatasetAsync,
loadData,
loadDataAsync,
modifyDataset,
modifyDatasetAsync,
modifyData,
modifyDataAsync,
query,
queryAsync,
queryDF,
queryMeta,
queryMetaAsync,
queryMetaDF,
deleteDataset,
deleteDatasetAsync,
deleteData,
deleteDataAsync,
getDataSourceContent,
getDataSourceContentAsync,
)
from .premium import (
accountingQualityAndRiskMatrixAuditAnalytics,
Expand Down Expand Up @@ -819,29 +827,36 @@
DEFAULT_API_LIMIT = 5

_INCLUDE_FUNCTIONS_PLATFORM = [
# Platform
("createDataset", createDataset),
("createDatasetAsync", createDatasetAsync),
("deleteData", deleteData),
("deleteDataAsync", deleteDataAsync),
("deleteDataset", deleteDataset),
("deleteDatasetAsync", deleteDatasetAsync),
("createDataJob", createDataJob),
("createDataJobAsync", createDataJobAsync),
("listDataJobs", listDataJobs),
("listDataJobsAsync", listDataJobsAsync),
("queryDataJob", queryDataJob),
("queryDataJobAsync", queryDataJobAsync),
("listDataJobsById", listDataJobsById),
("listDataJobsByIdAsync", listDataJobsByIdAsync),
("getDataJobLogFile", getDataJobLogFile),
("getDataJobLogFileAsync", getDataJobLogFileAsync),
("awsOnboarding", awsOnboarding),
("awsOnboardingAsync", awsOnboardingAsync),
("getplatformswaggerjson", getplatformswaggerjson),
("getplatformswaggerjsonAsync", getplatformswaggerjsonAsync),
("listDatasets", listDatasets),
("listDatasetsAsync", listDatasetsAsync),
("listDatasetsDF", listDatasetsDF),
("listJobs", listJobs),
("getDataset", getDataset),
("getDatasetAsync", getDatasetAsync),
("registerDataset", registerDataset),
("registerDatasetAsync", registerDatasetAsync),
("loadData", loadData),
("loadDataAsync", loadDataAsync),
("modifyDataset", modifyDataset),
("modifyDatasetAsync", modifyDatasetAsync),
("modifyData", modifyData),
("modifyDataAsync", modifyDataAsync),
("query", query),
("queryAsync", queryAsync),
("queryDF", queryDF),
("queryMeta", queryMeta),
("queryMetaAsync", queryMetaAsync),
("queryMetaDF", queryMetaDF),
("deleteDataset", deleteDataset),
("deleteDatasetAsync", deleteDatasetAsync),
("deleteData", deleteData),
("deleteDataAsync", deleteDataAsync),
("getDataSourceContent", getDataSourceContent),
("getDataSourceContentAsync", getDataSourceContentAsync),
]

_INCLUDE_FUNCTIONS_RULES = [
Expand Down
28 changes: 21 additions & 7 deletions pyEX/common/urls.py
Expand Up @@ -92,6 +92,7 @@ def _post(
token_in_params=True,
filter="",
format="json",
maximumValidationErrors=None,
):
token = token or os.environ.get("IEX_TOKEN")
if version == "sandbox":
Expand All @@ -105,6 +106,7 @@ def _post(
token_in_params=token_in_params,
format=format,
filter=filter,
maximumValidationErrors=maximumValidationErrors,
)
return _postIEXCloud(
url=url,
Expand All @@ -116,6 +118,7 @@ def _post(
token_in_params=token_in_params,
format=format,
filter=filter,
maximumValidationErrors=maximumValidationErrors,
)


Expand All @@ -129,6 +132,7 @@ def _put(
token_in_params=True,
filter="",
format="json",
maximumValidationErrors=None,
):
token = token or os.environ.get("IEX_TOKEN")
if version == "sandbox":
Expand All @@ -142,6 +146,7 @@ def _put(
token_in_params=token_in_params,
format=format,
filter=filter,
maximumValidationErrors=maximumValidationErrors,
)
return _putIEXCloud(
url=url,
Expand All @@ -153,6 +158,7 @@ def _put(
token_in_params=token_in_params,
format=format,
filter=filter,
maximumValidationErrors=maximumValidationErrors,
)


Expand Down Expand Up @@ -409,11 +415,7 @@ async def _getIEXCloudBaseAsync(
urlparse(url).geturl(), proxy=_PYEX_PROXIES, params=params
) as resp:

resp = requests.get(
urlparse(url).geturl(), proxies=_PYEX_PROXIES, params=params
)

if resp.status_code == 429:
if resp.status == 429:
tries += 1
await asyncio.sleep(random() * 0.5 * tries)

Expand All @@ -422,7 +424,7 @@ async def _getIEXCloudBaseAsync(
return await resp.json()
elif format == "binary":
return await resp.read()
return resp.text()
return await resp.text()
else:
# break and hit the exception case
break
Expand Down Expand Up @@ -479,6 +481,7 @@ def _pppIEXCloudBase(
format="json",
token_in_params=True,
verb="post",
maximumValidationErrors=None,
):
"""for iex cloud"""
url = base_url.format(version=version) + url
Expand All @@ -494,6 +497,9 @@ def _pppIEXCloudBase(
if filter:
params["filter"] = filter

if maximumValidationErrors:
params["maximumValidationErrors"] = maximumValidationErrors

if _PYEX_DEBUG:
print(urlparse(url).geturl())

Expand Down Expand Up @@ -522,6 +528,7 @@ def _postIEXCloud(
filter="",
format="json",
token_in_params=True,
maximumValidationErrors=None,
):
return _pppIEXCloudBase(
base_url=_URL_PREFIX_CLOUD,
Expand All @@ -534,6 +541,7 @@ def _postIEXCloud(
filter=filter,
format=format,
token_in_params=token_in_params,
maximumValidationErrors=maximumValidationErrors,
verb="post",
)

Expand All @@ -548,6 +556,7 @@ def _putIEXCloud(
filter="",
format="json",
token_in_params=True,
maximumValidationErrors=None,
):
return _pppIEXCloudBase(
base_url=_URL_PREFIX_CLOUD,
Expand All @@ -560,6 +569,7 @@ def _putIEXCloud(
filter=filter,
format=format,
token_in_params=token_in_params,
maximumValidationErrors=maximumValidationErrors,
verb="put",
)

Expand Down Expand Up @@ -633,7 +643,7 @@ async def _pppIEXCloudBaseAsync(
if resp.status == 200:
if format == "json":
return await resp.json()
return resp.text()
return await resp.text()
raise PyEXception("Response %d - " % resp.status, await resp.text())


Expand Down Expand Up @@ -725,6 +735,7 @@ def _postIEXCloudSandbox(
filter="",
format="json",
token_in_params=True,
maximumValidationErrors=None,
):
return _pppIEXCloudBase(
base_url=_URL_PREFIX_CLOUD_SANDBOX,
Expand All @@ -737,6 +748,7 @@ def _postIEXCloudSandbox(
filter=filter,
format=format,
token_in_params=token_in_params,
maximumValidationErrors=maximumValidationErrors,
verb="post",
)

Expand All @@ -751,6 +763,7 @@ def _putIEXCloudSandbox(
filter="",
format="json",
token_in_params=True,
maximumValidationErrors=None,
):
return _pppIEXCloudBase(
base_url=_URL_PREFIX_CLOUD_SANDBOX,
Expand All @@ -763,6 +776,7 @@ def _putIEXCloudSandbox(
filter=filter,
format=format,
token_in_params=token_in_params,
maximumValidationErrors=maximumValidationErrors,
verb="put",
)

Expand Down
40 changes: 24 additions & 16 deletions pyEX/platform/__init__.py
Expand Up @@ -7,26 +7,34 @@
#

from .platform import (
createDataset,
createDatasetAsync,
deleteData,
deleteDataset,
deleteDataAsync,
deleteDatasetAsync,
createDataJob,
createDataJobAsync,
listDataJobs,
listDataJobsAsync,
queryDataJob,
queryDataJobAsync,
listDataJobsById,
listDataJobsByIdAsync,
getDataJobLogFile,
getDataJobLogFileAsync,
awsOnboarding,
awsOnboardingAsync,
getplatformswaggerjson,
getplatformswaggerjsonAsync,
listDatasets,
listDatasetsAsync,
listDatasetsDF,
listJobs,
getDataset,
getDatasetAsync,
registerDataset,
registerDatasetAsync,
loadData,
loadDataAsync,
modifyDataset,
modifyDatasetAsync,
modifyData,
modifyDataAsync,
query,
queryAsync,
queryDF,
queryMeta,
queryMetaAsync,
queryMetaDF,
deleteDataset,
deleteDatasetAsync,
deleteData,
deleteDataAsync,
getDataSourceContent,
getDataSourceContentAsync,
)

0 comments on commit 7bca625

Please sign in to comment.