diff --git a/bigcommerce/api.py b/bigcommerce/api.py index 057a4d3..24567d2 100644 --- a/bigcommerce/api.py +++ b/bigcommerce/api.py @@ -48,6 +48,18 @@ def __init__(self, resource_class, api): else: self.resource_class = resource_class self.connection = api.connection + self.update_api_version() + + + def update_api_version(self): + api_version = "v2" + if "api_version" in self.resource_class.__dict__.keys(): + api_version = self.resource_class.api_version + + if self.connection.store_hash: + self.connection.api_path = '/stores/{}/%s/{}' % api_version + else: + self.connection.api_path = '/api/%s/{}' % api_version def __getattr__(self, item): """ diff --git a/bigcommerce/resources/__init__.py b/bigcommerce/resources/__init__.py index 541fc4f..7f20eeb 100644 --- a/bigcommerce/resources/__init__.py +++ b/bigcommerce/resources/__init__.py @@ -21,3 +21,5 @@ from .tax_classes import * from .time import * from .webhooks import * +from .subscribers import * +from .scripts import * \ No newline at end of file diff --git a/bigcommerce/resources/scripts.py b/bigcommerce/resources/scripts.py new file mode 100644 index 0000000..45c1129 --- /dev/null +++ b/bigcommerce/resources/scripts.py @@ -0,0 +1,8 @@ +from .base import * + + +class Scripts(ListableApiResource, CreateableApiResource, + UpdateableApiResource, DeleteableApiResource, + CollectionDeleteableApiResource, CountableApiResource): + resource_name = 'content/scripts' + api_version = 'v3' diff --git a/bigcommerce/resources/subscribers.py b/bigcommerce/resources/subscribers.py new file mode 100644 index 0000000..0e1c910 --- /dev/null +++ b/bigcommerce/resources/subscribers.py @@ -0,0 +1,8 @@ +from .base import * + + +class Subscribers(ListableApiResource, CreateableApiResource, + UpdateableApiResource, DeleteableApiResource, + CollectionDeleteableApiResource, CountableApiResource): + resource_name = 'customers/subscribers' + api_version = 'v3'