48 lines
1.5 KiB
Python
48 lines
1.5 KiB
Python
# -*- coding: utf-8 -*-
|
|
# File generated from our OpenAPI spec
|
|
from stripe._stripe_service import StripeService
|
|
from importlib import import_module
|
|
from typing_extensions import TYPE_CHECKING
|
|
|
|
if TYPE_CHECKING:
|
|
from stripe.tax._calculation_service import CalculationService
|
|
from stripe.tax._registration_service import RegistrationService
|
|
from stripe.tax._settings_service import SettingsService
|
|
from stripe.tax._transaction_service import TransactionService
|
|
|
|
_subservices = {
|
|
"calculations": ["stripe.tax._calculation_service", "CalculationService"],
|
|
"registrations": [
|
|
"stripe.tax._registration_service",
|
|
"RegistrationService",
|
|
],
|
|
"settings": ["stripe.tax._settings_service", "SettingsService"],
|
|
"transactions": ["stripe.tax._transaction_service", "TransactionService"],
|
|
}
|
|
|
|
|
|
class TaxService(StripeService):
|
|
calculations: "CalculationService"
|
|
registrations: "RegistrationService"
|
|
settings: "SettingsService"
|
|
transactions: "TransactionService"
|
|
|
|
def __init__(self, requestor):
|
|
super().__init__(requestor)
|
|
|
|
def __getattr__(self, name):
|
|
try:
|
|
import_from, service = _subservices[name]
|
|
service_class = getattr(
|
|
import_module(import_from),
|
|
service,
|
|
)
|
|
setattr(
|
|
self,
|
|
name,
|
|
service_class(self._requestor),
|
|
)
|
|
return getattr(self, name)
|
|
except KeyError:
|
|
raise AttributeError()
|