lusid-sdk 2.1.405__py3-none-any.whl → 2.1.537__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- lusid/__init__.py +142 -8
- lusid/api/__init__.py +2 -2
- lusid/api/abor_api.py +126 -133
- lusid/api/abor_configuration_api.py +46 -45
- lusid/api/address_key_definition_api.py +28 -27
- lusid/api/aggregation_api.py +37 -36
- lusid/api/allocations_api.py +39 -38
- lusid/api/amortisation_rule_sets_api.py +55 -54
- lusid/api/application_metadata_api.py +28 -27
- lusid/api/blocks_api.py +37 -36
- lusid/api/calendars_api.py +469 -111
- lusid/api/chart_of_accounts_api.py +454 -279
- lusid/api/complex_market_data_api.py +37 -36
- lusid/api/compliance_api.py +136 -135
- lusid/api/configuration_recipe_api.py +100 -99
- lusid/api/conventions_api.py +109 -108
- lusid/api/corporate_action_sources_api.py +82 -81
- lusid/api/counterparties_api.py +73 -72
- lusid/api/custom_entities_api.py +102 -101
- lusid/api/custom_entity_definitions_api.py +37 -36
- lusid/api/custom_entity_types_api.py +37 -36
- lusid/api/cut_label_definitions_api.py +46 -45
- lusid/api/data_types_api.py +248 -72
- lusid/api/derived_transaction_portfolios_api.py +19 -18
- lusid/api/entities_api.py +431 -46
- lusid/api/executions_api.py +37 -36
- lusid/api/fee_types_api.py +55 -54
- lusid/api/{fund_configurations_api.py → fund_configuration_api.py} +222 -46
- lusid/api/funds_api.py +337 -162
- lusid/api/group_reconciliations_api.py +2182 -63
- lusid/api/instrument_event_types_api.py +64 -63
- lusid/api/instrument_events_api.py +46 -45
- lusid/api/instruments_api.py +374 -186
- lusid/api/legacy_compliance_api.py +73 -72
- lusid/api/legal_entities_api.py +167 -166
- lusid/api/order_graph_api.py +32 -31
- lusid/api/order_instructions_api.py +37 -36
- lusid/api/order_management_api.py +251 -90
- lusid/api/orders_api.py +37 -36
- lusid/api/packages_api.py +37 -36
- lusid/api/participations_api.py +37 -36
- lusid/api/persons_api.py +163 -162
- lusid/api/placements_api.py +37 -36
- lusid/api/portfolio_groups_api.py +235 -234
- lusid/api/portfolios_api.py +307 -309
- lusid/api/property_definitions_api.py +100 -99
- lusid/api/queryable_keys_api.py +10 -9
- lusid/api/quotes_api.py +82 -81
- lusid/api/reconciliations_api.py +136 -135
- lusid/api/reference_lists_api.py +39 -38
- lusid/api/reference_portfolio_api.py +213 -36
- lusid/api/relation_definitions_api.py +28 -27
- lusid/api/relations_api.py +19 -18
- lusid/api/relationship_definitions_api.py +46 -45
- lusid/api/relationships_api.py +19 -18
- lusid/api/schemas_api.py +37 -36
- lusid/api/scopes_api.py +19 -18
- lusid/api/scripted_translation_api.py +73 -72
- lusid/api/search_api.py +37 -36
- lusid/api/sequences_api.py +37 -36
- lusid/api/staged_modifications_api.py +37 -36
- lusid/api/staging_rule_set_api.py +46 -45
- lusid/api/structured_result_data_api.py +82 -81
- lusid/api/system_configuration_api.py +64 -63
- lusid/api/tax_rule_sets_api.py +46 -45
- lusid/api/transaction_configuration_api.py +100 -99
- lusid/api/transaction_fees_api.py +46 -45
- lusid/api/transaction_portfolios_api.py +771 -328
- lusid/api/translation_api.py +19 -18
- lusid/api/workspace_api.py +181 -180
- lusid/api_client.py +26 -17
- lusid/configuration.py +87 -2
- lusid/extensions/api_client.py +25 -17
- lusid/extensions/api_client_factory.py +14 -5
- lusid/extensions/api_configuration.py +50 -1
- lusid/extensions/configuration_loaders.py +39 -11
- lusid/extensions/configuration_options.py +67 -0
- lusid/extensions/rest.py +78 -26
- lusid/extensions/retry.py +109 -37
- lusid/models/__init__.py +140 -6
- lusid/models/access_metadata_value.py +1 -1
- lusid/models/accounting_method.py +7 -0
- lusid/models/accumulation_event.py +3 -3
- lusid/models/address_key_list.py +3 -3
- lusid/models/amortisation_event.py +3 -3
- lusid/models/amount.py +69 -0
- lusid/models/applicable_instrument_event.py +7 -2
- lusid/models/asset_leg.py +1 -1
- lusid/models/basket.py +3 -3
- lusid/models/batch_update_user_review_for_comparison_result_request.py +81 -0
- lusid/models/batch_update_user_review_for_comparison_result_response.py +146 -0
- lusid/models/batch_upsert_dates_for_calendar_response.py +146 -0
- lusid/models/batch_upsert_portfolio_access_metadata_request.py +27 -17
- lusid/models/batch_upsert_portfolio_access_metadata_response.py +56 -16
- lusid/models/{metadata_key_value.py → batch_upsert_portfolio_access_metadata_response_item.py} +15 -9
- lusid/models/bond.py +3 -3
- lusid/models/bond_coupon_event.py +10 -5
- lusid/models/bond_default_event.py +3 -3
- lusid/models/bond_principal_event.py +10 -5
- lusid/models/bonus_issue_event.py +166 -0
- lusid/models/{component_rule.py → break_code_source.py} +17 -21
- lusid/models/call_on_intermediate_securities_event.py +139 -0
- lusid/models/cancel_order_and_move_remaining_result.py +84 -0
- lusid/models/cancel_orders_and_move_remaining_request.py +83 -0
- lusid/models/cancel_orders_and_move_remaining_response.py +153 -0
- lusid/models/cap_floor.py +3 -3
- lusid/models/capital_distribution_event.py +3 -3
- lusid/models/cash.py +3 -3
- lusid/models/cash_dividend_event.py +3 -3
- lusid/models/cash_flow_event.py +3 -3
- lusid/models/cash_perpetual.py +3 -3
- lusid/models/cds_credit_event.py +6 -6
- lusid/models/cds_index.py +3 -3
- lusid/models/cdx_credit_event.py +6 -6
- lusid/models/change_interval.py +123 -0
- lusid/models/change_interval_with_order_management_detail.py +3 -3
- lusid/models/close_event.py +3 -3
- lusid/models/comparison_attribute_value_pair.py +71 -0
- lusid/models/complex_bond.py +3 -3
- lusid/models/component_transaction.py +10 -3
- lusid/models/contract_for_difference.py +3 -3
- lusid/models/create_derived_transaction_portfolio_request.py +3 -3
- lusid/models/create_group_reconciliation_definition_request.py +113 -0
- lusid/models/create_staging_rule_set_request.py +1 -6
- lusid/models/create_transaction_portfolio_request.py +3 -3
- lusid/models/credit_default_swap.py +3 -3
- lusid/models/credit_premium_cash_flow_event.py +3 -3
- lusid/models/custodian_account_request.py +1 -1
- lusid/models/custom_entity_entity.py +146 -0
- lusid/models/custom_entity_response.py +7 -1
- lusid/models/decimal_list.py +3 -3
- lusid/models/delete_instrument_properties_response.py +7 -1
- lusid/models/delete_instrument_response.py +7 -1
- lusid/models/delete_instruments_response.py +22 -1
- lusid/models/deleted_entity_response.py +7 -1
- lusid/models/diary_entry_request.py +10 -1
- lusid/models/dividend_option_event.py +3 -3
- lusid/models/dividend_reinvestment_event.py +9 -4
- lusid/models/effective_range.py +71 -0
- lusid/models/equity.py +3 -3
- lusid/models/equity_option.py +22 -7
- lusid/models/equity_swap.py +3 -3
- lusid/models/exchange_traded_option.py +3 -3
- lusid/models/exchange_traded_option_contract_details.py +1 -1
- lusid/models/exercise_event.py +3 -3
- lusid/models/exotic_instrument.py +3 -3
- lusid/models/expiry_event.py +3 -3
- lusid/models/fee.py +17 -10
- lusid/models/fee_request.py +20 -13
- lusid/models/fee_type.py +4 -4
- lusid/models/fee_type_request.py +3 -3
- lusid/models/fixed_leg.py +3 -3
- lusid/models/fixed_schedule.py +3 -3
- lusid/models/flexible_loan.py +3 -3
- lusid/models/float_schedule.py +4 -4
- lusid/models/floating_leg.py +3 -3
- lusid/models/flow_conventions.py +7 -1
- lusid/models/forward_rate_agreement.py +3 -3
- lusid/models/fund_configuration.py +44 -17
- lusid/models/fund_configuration_request.py +31 -19
- lusid/models/fund_id_list.py +99 -0
- lusid/models/fund_share_class.py +23 -8
- lusid/models/funding_leg.py +3 -3
- lusid/models/future.py +3 -3
- lusid/models/future_expiry_event.py +3 -3
- lusid/models/fx_forward.py +3 -3
- lusid/models/fx_forward_settlement_event.py +3 -3
- lusid/models/fx_option.py +3 -3
- lusid/models/fx_swap.py +3 -3
- lusid/models/group_reconciliation_aggregate_attribute_rule.py +2 -2
- lusid/models/group_reconciliation_aggregate_attribute_values.py +86 -0
- lusid/models/group_reconciliation_aggregate_comparison_rule_operand.py +1 -1
- lusid/models/group_reconciliation_comparison_result.py +148 -0
- lusid/models/group_reconciliation_core_attribute_values.py +86 -0
- lusid/models/group_reconciliation_core_comparison_rule_operand.py +1 -1
- lusid/models/group_reconciliation_date_pair.py +81 -0
- lusid/models/group_reconciliation_dates.py +78 -0
- lusid/models/group_reconciliation_definition.py +136 -0
- lusid/models/group_reconciliation_definition_comparison_ruleset_ids.py +83 -0
- lusid/models/group_reconciliation_definition_currencies.py +71 -0
- lusid/models/group_reconciliation_definition_portfolio_entity_ids.py +86 -0
- lusid/models/group_reconciliation_definition_recipe_ids.py +78 -0
- lusid/models/group_reconciliation_instance_id.py +71 -0
- lusid/models/group_reconciliation_result_statuses.py +89 -0
- lusid/models/group_reconciliation_result_types.py +96 -0
- lusid/models/group_reconciliation_review_statuses.py +96 -0
- lusid/models/group_reconciliation_run_details.py +76 -0
- lusid/models/group_reconciliation_run_request.py +75 -0
- lusid/models/{metadata_key_value_response.py → group_reconciliation_run_response.py} +20 -29
- lusid/models/group_reconciliation_summary.py +121 -0
- lusid/models/group_reconciliation_user_review.py +112 -0
- lusid/models/group_reconciliation_user_review_add.py +88 -0
- lusid/models/group_reconciliation_user_review_break_code.py +80 -0
- lusid/models/group_reconciliation_user_review_comment.py +80 -0
- lusid/models/group_reconciliation_user_review_match_key.py +80 -0
- lusid/models/group_reconciliation_user_review_remove.py +88 -0
- lusid/models/holding_contributor.py +11 -4
- lusid/models/holding_ids_request.py +69 -0
- lusid/models/inflation_leg.py +3 -3
- lusid/models/inflation_linked_bond.py +3 -3
- lusid/models/inflation_swap.py +3 -3
- lusid/models/informational_error_event.py +3 -3
- lusid/models/informational_event.py +3 -3
- lusid/models/instrument.py +7 -1
- lusid/models/instrument_definition.py +8 -2
- lusid/models/instrument_event.py +17 -5
- lusid/models/instrument_event_holder.py +9 -1
- lusid/models/instrument_event_type.py +12 -0
- lusid/models/instrument_leg.py +3 -3
- lusid/models/instrument_list.py +3 -3
- lusid/models/instrument_type.py +2 -0
- lusid/models/interest_rate_swap.py +3 -3
- lusid/models/interest_rate_swaption.py +3 -3
- lusid/models/intermediate_securities_distribution_event.py +140 -0
- lusid/models/lapse_election.py +73 -0
- lusid/models/loan_facility.py +97 -0
- lusid/models/lusid_instrument.py +7 -5
- lusid/models/market_data_key_rule.py +5 -3
- lusid/models/market_data_specific_rule.py +5 -3
- lusid/models/mastered_instrument.py +139 -0
- lusid/models/maturity_event.py +3 -3
- lusid/models/mbs_coupon_event.py +102 -0
- lusid/models/mbs_interest_deferral_event.py +102 -0
- lusid/models/mbs_interest_shortfall_event.py +102 -0
- lusid/models/mbs_principal_event.py +102 -0
- lusid/models/mbs_principal_write_off_event.py +102 -0
- lusid/models/merger_event.py +22 -22
- lusid/models/new_instrument.py +1 -1
- lusid/models/open_event.py +3 -3
- lusid/models/option_exercise_cash_event.py +144 -0
- lusid/models/option_exercise_election.py +73 -0
- lusid/models/option_exercise_physical_event.py +149 -0
- lusid/models/output_transaction.py +9 -2
- lusid/models/paged_resource_list_of_group_reconciliation_comparison_result.py +113 -0
- lusid/models/paged_resource_list_of_group_reconciliation_comparison_ruleset.py +113 -0
- lusid/models/paged_resource_list_of_group_reconciliation_definition.py +113 -0
- lusid/models/portfolio.py +3 -3
- lusid/models/portfolio_details.py +3 -3
- lusid/models/portfolio_group_id_list.py +3 -3
- lusid/models/portfolio_id_list.py +3 -3
- lusid/models/portfolio_without_href.py +3 -3
- lusid/models/pricing_options.py +8 -2
- lusid/models/property_list.py +3 -3
- lusid/models/protection_payout_cash_flow_event.py +102 -0
- lusid/models/raw_vendor_event.py +3 -3
- lusid/models/reference_instrument.py +3 -3
- lusid/models/reference_list.py +6 -5
- lusid/models/reference_list_type.py +1 -0
- lusid/models/repo.py +3 -3
- lusid/models/reset_event.py +3 -3
- lusid/models/resource_list_of_change_interval.py +113 -0
- lusid/models/resource_list_of_output_transaction.py +113 -0
- lusid/models/return_zero_pv_options.py +69 -0
- lusid/models/reverse_stock_split_event.py +21 -7
- lusid/models/scrip_dividend_event.py +3 -3
- lusid/models/settlement_cycle.py +79 -0
- lusid/models/share_class_dealing_breakdown.py +3 -2
- lusid/models/share_class_details.py +18 -1
- lusid/models/simple_cash_flow_loan.py +3 -3
- lusid/models/simple_instrument.py +3 -3
- lusid/models/simple_rounding_convention.py +76 -0
- lusid/models/spin_off_event.py +3 -3
- lusid/models/staged_modification_effective_range.py +2 -2
- lusid/models/stock_dividend_event.py +20 -6
- lusid/models/stock_split_event.py +3 -3
- lusid/models/string_list.py +3 -3
- lusid/models/swap_cash_flow_event.py +3 -3
- lusid/models/swap_principal_event.py +3 -3
- lusid/models/target_tax_lot.py +23 -2
- lusid/models/target_tax_lot_request.py +23 -2
- lusid/models/tender_event.py +172 -0
- lusid/models/term_deposit.py +3 -3
- lusid/models/total_return_swap.py +4 -4
- lusid/models/transaction.py +9 -2
- lusid/models/transaction_date_windows.py +85 -0
- lusid/models/transaction_price.py +3 -3
- lusid/models/transaction_price_type.py +2 -0
- lusid/models/transaction_request.py +9 -2
- lusid/models/transition_event.py +3 -3
- lusid/models/trigger_event.py +3 -3
- lusid/models/update_fee_type_request.py +4 -4
- lusid/models/update_group_reconciliation_comparison_ruleset_request.py +91 -0
- lusid/models/update_group_reconciliation_definition_request.py +107 -0
- lusid/models/update_reference_data_request.py +87 -0
- lusid/models/update_staging_rule_set_request.py +1 -6
- lusid/models/upsert_custom_entities_response.py +20 -1
- lusid/models/upsert_reference_portfolio_constituent_properties_request.py +84 -0
- lusid/models/upsert_reference_portfolio_constituent_properties_response.py +115 -0
- lusid/models/valuation_point_data_query_parameters.py +3 -3
- lusid/models/valuation_point_data_response.py +8 -13
- lusid/rest.py +70 -20
- {lusid_sdk-2.1.405.dist-info → lusid_sdk-2.1.537.dist-info}/METADATA +118 -26
- {lusid_sdk-2.1.405.dist-info → lusid_sdk-2.1.537.dist-info}/RECORD +294 -226
- {lusid_sdk-2.1.405.dist-info → lusid_sdk-2.1.537.dist-info}/WHEEL +0 -0
@@ -18,15 +18,15 @@ import re # noqa: F401
|
|
18
18
|
import json
|
19
19
|
|
20
20
|
|
21
|
-
from typing import Any, Dict
|
22
|
-
from pydantic.v1 import BaseModel
|
21
|
+
from typing import Any, Dict
|
22
|
+
from pydantic.v1 import BaseModel, Field
|
23
23
|
from lusid.models.date_or_diary_entry import DateOrDiaryEntry
|
24
24
|
|
25
25
|
class ValuationPointDataQueryParameters(BaseModel):
|
26
26
|
"""
|
27
27
|
The parameters used in getting the ValuationPointData. # noqa: E501
|
28
28
|
"""
|
29
|
-
end:
|
29
|
+
end: DateOrDiaryEntry = Field(...)
|
30
30
|
__properties = ["end"]
|
31
31
|
|
32
32
|
class Config:
|
@@ -42,7 +42,7 @@ class ValuationPointDataResponse(BaseModel):
|
|
42
42
|
previous_nav: Union[StrictFloat, StrictInt] = Field(..., alias="previousNav", description="DEPRECATED. The Net Asset Value of the Fund at the End of the last Period.")
|
43
43
|
fund_details: FundDetails = Field(..., alias="fundDetails")
|
44
44
|
fund_valuation_point_data: FundValuationPointData = Field(..., alias="fundValuationPointData")
|
45
|
-
share_class_data:
|
45
|
+
share_class_data: conlist(ShareClassData) = Field(..., alias="shareClassData", description="The data for all share classes in fund. Share classes are identified by their short codes.")
|
46
46
|
valuation_point_code: Optional[StrictStr] = Field(None, alias="valuationPointCode", description="The code of the valuation point.")
|
47
47
|
previous_valuation_point_code: Optional[StrictStr] = Field(None, alias="previousValuationPointCode", description="The code of the previous valuation point.")
|
48
48
|
links: Optional[conlist(Link)] = None
|
@@ -85,13 +85,13 @@ class ValuationPointDataResponse(BaseModel):
|
|
85
85
|
# override the default output from pydantic by calling `to_dict()` of fund_valuation_point_data
|
86
86
|
if self.fund_valuation_point_data:
|
87
87
|
_dict['fundValuationPointData'] = self.fund_valuation_point_data.to_dict()
|
88
|
-
# override the default output from pydantic by calling `to_dict()` of each
|
89
|
-
|
88
|
+
# override the default output from pydantic by calling `to_dict()` of each item in share_class_data (list)
|
89
|
+
_items = []
|
90
90
|
if self.share_class_data:
|
91
|
-
for
|
92
|
-
if
|
93
|
-
|
94
|
-
_dict['shareClassData'] =
|
91
|
+
for _item in self.share_class_data:
|
92
|
+
if _item:
|
93
|
+
_items.append(_item.to_dict())
|
94
|
+
_dict['shareClassData'] = _items
|
95
95
|
# override the default output from pydantic by calling `to_dict()` of each item in links (list)
|
96
96
|
_items = []
|
97
97
|
if self.links:
|
@@ -148,12 +148,7 @@ class ValuationPointDataResponse(BaseModel):
|
|
148
148
|
"previous_nav": obj.get("previousNav"),
|
149
149
|
"fund_details": FundDetails.from_dict(obj.get("fundDetails")) if obj.get("fundDetails") is not None else None,
|
150
150
|
"fund_valuation_point_data": FundValuationPointData.from_dict(obj.get("fundValuationPointData")) if obj.get("fundValuationPointData") is not None else None,
|
151
|
-
"share_class_data":
|
152
|
-
(_k, ShareClassData.from_dict(_v))
|
153
|
-
for _k, _v in obj.get("shareClassData").items()
|
154
|
-
)
|
155
|
-
if obj.get("shareClassData") is not None
|
156
|
-
else None,
|
151
|
+
"share_class_data": [ShareClassData.from_dict(_item) for _item in obj.get("shareClassData")] if obj.get("shareClassData") is not None else None,
|
157
152
|
"valuation_point_code": obj.get("valuationPointCode"),
|
158
153
|
"previous_valuation_point_code": obj.get("previousValuationPointCode"),
|
159
154
|
"links": [Link.from_dict(_item) for _item in obj.get("links")] if obj.get("links") is not None else None
|
lusid/rest.py
CHANGED
@@ -68,6 +68,11 @@ class RESTClientObject:
|
|
68
68
|
|
69
69
|
self.proxy = configuration.proxy
|
70
70
|
self.proxy_headers = configuration.proxy_headers
|
71
|
+
self.timeout = aiohttp.ClientTimeout(
|
72
|
+
total=configuration.timeouts.total_timeout_ms / 1000.0 if configuration.timeouts != None and configuration.timeouts.total_timeout_ms != None else None,
|
73
|
+
connect=configuration.timeouts.connect_timeout_ms / 1000.0 if configuration.timeouts != None and configuration.timeouts.connect_timeout_ms != None else None,
|
74
|
+
sock_read=configuration.timeouts.read_timeout_ms / 1000.0 if configuration.timeouts != None and configuration.timeouts.read_timeout_ms != None else None,
|
75
|
+
)
|
71
76
|
|
72
77
|
# https pool manager
|
73
78
|
self.pool_manager = aiohttp.ClientSession(
|
@@ -80,7 +85,7 @@ class RESTClientObject:
|
|
80
85
|
|
81
86
|
async def request(self, method, url, query_params=None, headers=None,
|
82
87
|
body=None, post_params=None, _preload_content=True,
|
83
|
-
_request_timeout=None):
|
88
|
+
_request_timeout=None, opts=None):
|
84
89
|
"""Execute request
|
85
90
|
|
86
91
|
:param method: http request method
|
@@ -93,10 +98,9 @@ class RESTClientObject:
|
|
93
98
|
and `multipart/form-data`
|
94
99
|
:param _preload_content: this is a non-applicable field for
|
95
100
|
the AiohttpClient.
|
96
|
-
:param _request_timeout:
|
97
|
-
|
98
|
-
|
99
|
-
(connection, read) timeouts.
|
101
|
+
:param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
|
102
|
+
:param opts: Configuration options for this request
|
103
|
+
:type opts: ConfigurationOptions, optional
|
100
104
|
"""
|
101
105
|
method = method.upper()
|
102
106
|
assert method in ['GET', 'HEAD', 'DELETE', 'POST', 'PUT',
|
@@ -112,7 +116,44 @@ class RESTClientObject:
|
|
112
116
|
# url already contains the URL query string
|
113
117
|
# so reset query_params to empty dict
|
114
118
|
query_params = {}
|
115
|
-
|
119
|
+
|
120
|
+
# _request_timeout param cannot be removed for backwards compatability
|
121
|
+
# values from opts override values from _request_timeout
|
122
|
+
# try to get values from opts first, then _request_timeout, then self.timeout, else set to None
|
123
|
+
# timeout = _request_timeout or self.timeout
|
124
|
+
timeout = None
|
125
|
+
opts_total_timeout = opts.total_timeout_ms / 1000.0 if opts and opts.total_timeout_ms != None else None
|
126
|
+
opts_connect_timeout = opts.connect_timeout_ms / 1000.0 if opts and opts.connect_timeout_ms != None else None
|
127
|
+
opts_read_timeout = opts.read_timeout_ms / 1000.0 if opts and opts.read_timeout_ms != None else None
|
128
|
+
if not _request_timeout:
|
129
|
+
timeout = aiohttp.ClientTimeout(
|
130
|
+
total=opts_total_timeout if opts_total_timeout != None
|
131
|
+
else self.timeout.total,
|
132
|
+
connect=opts_connect_timeout if opts_connect_timeout != None
|
133
|
+
else self.timeout.connect,
|
134
|
+
sock_read=opts_read_timeout if opts_read_timeout != None
|
135
|
+
else self.timeout.sock_read)
|
136
|
+
elif isinstance(_request_timeout, aiohttp.ClientTimeout):
|
137
|
+
timeout = aiohttp.ClientTimeout(
|
138
|
+
total=opts_total_timeout if opts_total_timeout != None
|
139
|
+
else _request_timeout.total if _request_timeout.total != None
|
140
|
+
else self.timeout.total,
|
141
|
+
connect=opts_connect_timeout if opts_connect_timeout != None
|
142
|
+
else _request_timeout.connect if _request_timeout.connect != None
|
143
|
+
else self.timeout.connect,
|
144
|
+
sock_read=opts_read_timeout if opts_read_timeout != None
|
145
|
+
else _request_timeout.sock_read if _request_timeout.sock_read != None
|
146
|
+
else self.timeout.sock_read)
|
147
|
+
elif isinstance(_request_timeout, (int, float)):
|
148
|
+
timeout = aiohttp.ClientTimeout(
|
149
|
+
total=opts_total_timeout if opts_total_timeout != None
|
150
|
+
else _request_timeout,
|
151
|
+
connect=opts_connect_timeout if opts_connect_timeout != None
|
152
|
+
else self.timeout.connect,
|
153
|
+
sock_read=opts_read_timeout if opts_read_timeout != None
|
154
|
+
else self.timeout.sock_read)
|
155
|
+
else:
|
156
|
+
raise f"unexpected type '{type(_request_timeout)}' for _request_timeout"
|
116
157
|
|
117
158
|
if 'Content-Type' not in headers:
|
118
159
|
headers['Content-Type'] = 'application/json'
|
@@ -186,69 +227,78 @@ class RESTClientObject:
|
|
186
227
|
return r
|
187
228
|
|
188
229
|
async def get_request(self, url, headers=None, query_params=None,
|
189
|
-
_preload_content=True, _request_timeout=None):
|
230
|
+
_preload_content=True, _request_timeout=None, opts=None):
|
190
231
|
return (await self.request("GET", url,
|
191
232
|
headers=headers,
|
192
233
|
_preload_content=_preload_content,
|
193
234
|
_request_timeout=_request_timeout,
|
194
|
-
query_params=query_params
|
235
|
+
query_params=query_params,
|
236
|
+
opts=opts))
|
195
237
|
|
196
238
|
async def head_request(self, url, headers=None, query_params=None,
|
197
|
-
_preload_content=True, _request_timeout=None):
|
239
|
+
_preload_content=True, _request_timeout=None, opts=None):
|
198
240
|
return (await self.request("HEAD", url,
|
199
241
|
headers=headers,
|
200
242
|
_preload_content=_preload_content,
|
201
243
|
_request_timeout=_request_timeout,
|
202
|
-
query_params=query_params
|
244
|
+
query_params=query_params,
|
245
|
+
opts=opts))
|
203
246
|
|
204
247
|
async def options_request(self, url, headers=None, query_params=None,
|
205
248
|
post_params=None, body=None, _preload_content=True,
|
206
|
-
_request_timeout=None):
|
249
|
+
_request_timeout=None, opts=None):
|
207
250
|
return (await self.request("OPTIONS", url,
|
208
251
|
headers=headers,
|
209
252
|
query_params=query_params,
|
210
253
|
post_params=post_params,
|
211
254
|
_preload_content=_preload_content,
|
212
255
|
_request_timeout=_request_timeout,
|
213
|
-
body=body
|
256
|
+
body=body,
|
257
|
+
opts=opts))
|
214
258
|
|
215
259
|
async def delete_request(self, url, headers=None, query_params=None, body=None,
|
216
|
-
_preload_content=True, _request_timeout=None
|
260
|
+
_preload_content=True, _request_timeout=None,
|
261
|
+
opts=None):
|
217
262
|
return (await self.request("DELETE", url,
|
218
263
|
headers=headers,
|
219
264
|
query_params=query_params,
|
220
265
|
_preload_content=_preload_content,
|
221
266
|
_request_timeout=_request_timeout,
|
222
|
-
body=body
|
267
|
+
body=body,
|
268
|
+
opts=opts))
|
223
269
|
|
224
270
|
async def post_request(self, url, headers=None, query_params=None,
|
225
271
|
post_params=None, body=None, _preload_content=True,
|
226
|
-
_request_timeout=None):
|
272
|
+
_request_timeout=None, opts=None):
|
227
273
|
return (await self.request("POST", url,
|
228
274
|
headers=headers,
|
229
275
|
query_params=query_params,
|
230
276
|
post_params=post_params,
|
231
277
|
_preload_content=_preload_content,
|
232
278
|
_request_timeout=_request_timeout,
|
233
|
-
body=body
|
279
|
+
body=body,
|
280
|
+
opts=opts))
|
234
281
|
|
235
282
|
async def put_request(self, url, headers=None, query_params=None, post_params=None,
|
236
|
-
body=None, _preload_content=True, _request_timeout=None
|
283
|
+
body=None, _preload_content=True, _request_timeout=None,
|
284
|
+
opts=None):
|
237
285
|
return (await self.request("PUT", url,
|
238
286
|
headers=headers,
|
239
287
|
query_params=query_params,
|
240
288
|
post_params=post_params,
|
241
289
|
_preload_content=_preload_content,
|
242
290
|
_request_timeout=_request_timeout,
|
243
|
-
body=body
|
291
|
+
body=body,
|
292
|
+
opts=opts))
|
244
293
|
|
245
294
|
async def patch_request(self, url, headers=None, query_params=None,
|
246
295
|
post_params=None, body=None, _preload_content=True,
|
247
|
-
_request_timeout=None):
|
296
|
+
_request_timeout=None, opts=None):
|
248
297
|
return (await self.request("PATCH", url,
|
249
298
|
headers=headers,
|
250
299
|
query_params=query_params,
|
251
300
|
post_params=post_params,
|
252
301
|
_preload_content=_preload_content,
|
253
302
|
_request_timeout=_request_timeout,
|
254
|
-
body=body
|
303
|
+
body=body,
|
304
|
+
opts=opts))
|