Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def setUp(self):
ActiveResource.site = None
ActiveResource.headers=None
shopify.ShopifyResource.clear_session()
shopify.ShopifyResource.site = "https://this-is-my-test-show.myshopify.com/admin"
shopify.ShopifyResource.password = None
shopify.ShopifyResource.user = None
http_fake.initialize()
self.http = http_fake.TestHandler
self.http.set_response(Exception('Bad request'))
self.http.site = 'https://this-is-my-test-show.myshopify.com'
def setUp(self):
ActiveResource.site = None
ActiveResource.headers=None
shopify.ShopifyResource.clear_session()
shopify.ShopifyResource.site = "https://this-is-my-test-show.myshopify.com/admin"
shopify.ShopifyResource.password = None
shopify.ShopifyResource.user = None
http_fake.initialize()
self.http = http_fake.TestHandler
self.http.set_response(Exception('Bad request'))
self.http.site = 'https://this-is-my-test-show.myshopify.com'
def setUp(self):
ActiveResource.site = None
ActiveResource.headers=None
shopify.ShopifyResource.clear_session()
shopify.ShopifyResource.site = "https://this-is-my-test-show.myshopify.com/admin"
shopify.ShopifyResource.password = None
shopify.ShopifyResource.user = None
http_fake.initialize()
self.http = http_fake.TestHandler
self.http.set_response(Exception('Bad request'))
self.http.site = 'https://this-is-my-test-show.myshopify.com'
def setUp(self):
ActiveResource.site = None
ActiveResource.headers=None
shopify.ShopifyResource.clear_session()
shopify.ShopifyResource.site = "https://this-is-my-test-show.myshopify.com/admin"
shopify.ShopifyResource.password = None
shopify.ShopifyResource.user = None
http_fake.initialize()
self.http = http_fake.TestHandler
self.http.set_response(Exception('Bad request'))
self.http.site = 'https://this-is-my-test-show.myshopify.com'
"""Look in the parent modules for classes matching the element name.
One or both of element/class name must be specified.
Args:
element_name: The name of the element type.
class_name: The class name of the element type.
create_missing: Whether classes should be auto-created if no
existing match is found.
Returns:
A Resource class.
"""
if not element_name and not class_name:
raise Error('One of element_name,class_name must be specified.')
elif not element_name:
element_name = util.underscore(class_name)
elif not class_name:
class_name = util.camelize(element_name)
module_path = cls.__module__.split('.')
for depth in range(len(module_path), 0, -1):
try:
__import__('.'.join(module_path[:depth]))
module = sys.modules['.'.join(module_path[:depth])]
except ImportError:
continue
try:
klass = getattr(module, class_name)
return klass
except AttributeError:
try:
__import__('.'.join([module.__name__, element_name]))
Args:
xml_string: An xml errors object (e.g. '')
Returns:
None
"""
attribute_keys = self.base.attributes.keys()
try:
messages = util.xml_to_dict(
xml_string)['errors']['error']
if not isinstance(messages, list):
messages = [messages]
except util.Error:
messages = []
for message in messages:
attr_name = message.split()[0]
key = util.underscore(attr_name)
if key in attribute_keys:
self.add(key, message[len(attr_name)+1:])
else:
self.add_to_base(message)
def from_xml(self, xml_string):
"""Grab errors from an XML response.
Args:
xml_string: An xml errors object (e.g. '')
Returns:
None
"""
attribute_keys = self.base.attributes.keys()
try:
messages = util.xml_to_dict(
xml_string)['errors']['error']
if not isinstance(messages, list):
messages = [messages]
except util.Error:
messages = []
for message in messages:
attr_name = message.split()[0]
key = util.underscore(attr_name)
if key in attribute_keys:
self.add(key, message[len(attr_name)+1:])
else:
self.add_to_base(message)
One or both of element/class name must be specified.
Args:
element_name: The name of the element type.
class_name: The class name of the element type.
create_missing: Whether classes should be auto-created if no
existing match is found.
Returns:
A Resource class.
"""
if not element_name and not class_name:
raise Error('One of element_name,class_name must be specified.')
elif not element_name:
element_name = util.underscore(class_name)
elif not class_name:
class_name = util.camelize(element_name)
module_path = cls.__module__.split('.')
for depth in range(len(module_path), 0, -1):
try:
__import__('.'.join(module_path[:depth]))
module = sys.modules['.'.join(module_path[:depth])]
except ImportError:
continue
try:
klass = getattr(module, class_name)
return klass
except AttributeError:
try:
__import__('.'.join([module.__name__, element_name]))
submodule = sys.modules['.'.join([module.__name__,
element_name])]
version = property(get_version, set_version, None,
'Shopify Api Version')
def get_url(cls):
return getattr(cls._threadlocal, 'url', ShopifyResource._url)
def set_url(cls, value):
ShopifyResource._url = cls._threadlocal.url = value
url = property(get_url, set_url, None,
'Base URL including protocol and shopify domain')
@six.add_metaclass(ShopifyResourceMeta)
class ShopifyResource(ActiveResource, mixins.Countable):
_format = formats.JSONFormat
_threadlocal = threading.local()
_headers = {'User-Agent': 'ShopifyPythonAPI/%s Python/%s' % (shopify.VERSION, sys.version.split(' ', 1)[0])}
_version = None
_url = None
def __init__(self, attributes=None, prefix_options=None):
if attributes is not None and prefix_options is None:
prefix_options, attributes = self.__class__._split_options(attributes)
return super(ShopifyResource, self).__init__(attributes, prefix_options)
def is_new(self):
return not self.id
def _load_attributes_from_response(self, response):
if response.body.strip():
version = property(get_version, set_version, None,
'Shopify Api Version')
def get_url(cls):
return getattr(cls._threadlocal, 'url', ShopifyResource._url)
def set_url(cls, value):
ShopifyResource._url = cls._threadlocal.url = value
url = property(get_url, set_url, None,
'Base URL including protocol and shopify domain')
@six.add_metaclass(ShopifyResourceMeta)
class ShopifyResource(ActiveResource, mixins.Countable):
_format = formats.JSONFormat
_threadlocal = threading.local()
_headers = {'User-Agent': 'ShopifyPythonAPI/%s Python/%s' % (shopify.VERSION, sys.version.split(' ', 1)[0])}
_version = None
_url = None
def __init__(self, attributes=None, prefix_options=None):
if attributes is not None and prefix_options is None:
prefix_options, attributes = self.__class__._split_options(attributes)
return super(ShopifyResource, self).__init__(attributes, prefix_options)
def is_new(self):
return not self.id
def _load_attributes_from_response(self, response):
if response.body.strip():
self._update(self.__class__.format.decode(response.body))