Skip to content
5 changes: 5 additions & 0 deletions docs/network.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
:mod:`smartdc.network` Module
=============================

.. autoclass:: smartdc.network.Network

5 changes: 5 additions & 0 deletions docs/tef.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
:mod:`smartdc.tef` Module
============================

.. autoclass:: smartdc.tef.TefDataCenter

2 changes: 2 additions & 0 deletions smartdc/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
from .datacenter import *
from .machine import *
from .legacy import LegacyDataCenter
from .network import *
from .tef import *

from ._version import get_versions
__version__ = get_versions()['version']
Expand Down
29 changes: 12 additions & 17 deletions smartdc/datacenter.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@
__version__ = get_versions()['version']
del get_versions

__all__ = ['DataCenter', 'KNOWN_LOCATIONS',
'TELEFONICA_LOCATIONS', 'DEFAULT_LOCATION']
__all__ = ['DataCenter', 'KNOWN_LOCATIONS', 'DEFAULT_LOCATION']

API_HOST_SUFFIX = '.api.joyentcloud.com'

Expand All @@ -27,13 +26,6 @@
u'eu-ams-1': u'https://eu-ams-1.api.joyentcloud.com',
}

TELEFONICA_LOCATIONS = {
u'London': u'https://api-eu-lon-1.instantservers.telefonica.com',
u'eu-lon-1': u'https://api-eu-lon-1.instantservers.telefonica.com',
u'Madrid': u'https://api-eu-mad-1.instantservers.telefonica.com',
u'eu-mad-1': u'https://api-eu-mad-1.instantservers.telefonica.com',
}

DEFAULT_LOCATION = 'us-west-1'

DEFAULT_HEADERS = {
Expand Down Expand Up @@ -154,7 +146,7 @@ def __repr__(self):
user_string = '<{0}> '.format(self.login)
else:
user_string = ''
return '<{module}.{cls}: {name}at <{loc}>>'.format(
return '<{module}.{cls}: {name} at <{loc}>>'.format(
module=self.__module__, cls=self.__class__.__name__,
name=user_string, loc=self.location)

Expand Down Expand Up @@ -236,7 +228,7 @@ def request(self, method, path, headers=None, data=None, **kwargs):
if self.verbose:
print("%s\t%s\t%s" %
(datetime.now().isoformat(), method, full_path),
file=self.verbose)
file=sys.stderr)
resp = requests.request(method, full_path, auth=self.auth,
headers=request_headers, data=jdata,
verify=self.verify, **kwargs)
Expand All @@ -246,12 +238,14 @@ def request(self, method, path, headers=None, data=None, **kwargs):
return self.request(method, path, headers=headers, data=data,
**kwargs)
if 400 <= resp.status_code < 499:
if resp.content:
if resp.content and self.verbose:
print(resp.content, file=sys.stderr)
resp.raise_for_status()
if resp.content:
if resp.headers['content-type'] == 'application/json':
return (json.loads(resp.content), resp)
ctype = re.match('application/json(; +charset *= *([a-zA-z0-9-_]+))?',
resp.headers['content-type'])
if ctype:
return (json.loads(resp.content, ctype.groups('utf-8')[1]), resp)
else:
return (resp.content, resp)
else:
Expand All @@ -270,7 +264,7 @@ def api(self):
if self.verbose:
print("%s\t%s\t%s" %
(datetime.now().isoformat(), 'GET', self.base_url),
file=self.verbose)
file=sys.stderr)
resp = requests.request('GET', self.base_url, verify=self.verify)
if 400 <= resp.status_code < 499:
resp.raise_for_status()
Expand Down Expand Up @@ -764,7 +758,8 @@ def create_machine(self, name=None, package=None, dataset=None,
params['networks'] = [networks]
j, r = self.request('POST', 'machines', data=params)
if r.status_code >= 400:
print(j, file=sys.stderr)
if self.verbose:
print(j, file=sys.stderr)
r.raise_for_status()
return Machine(datacenter=self, data=j)

Expand Down Expand Up @@ -884,4 +879,4 @@ def image(self, identifier):

return j



Loading