def get(self): """ Returns the local url reference. """ url = image_cache.get(self.id, self.extension) if not url: self._build_url() request = urllib2.Request(self.url) try: request_response = urllib2.urlopen(request) except urllib2.HTTPError, e: if e.code == 401: logger.error(settings.ALFRESCO_EXCEPTION_CODES[1] + 'url :' + self.url) raise AlfrescoException(str(e)) elif e.code == 400: logger.error(settings.ALFRESCO_EXCEPTION_CODES[3] + 'url :' + self.url) raise AlfrescoException(str(e), code=3) else: logger.error(settings.ALFRESCO_EXCEPTION_CODES[4] + 'url :' + self.url) raise AlfrescoException(str(e), code=4) except urllib2.URLError, e: logger.critical(settings.ALFRESCO_EXCEPTION_CODES[2] + 'url :' + self.url) raise AlfrescoException(str(e), code=2)
class WebScript(object): """ Django Representation of a webscripts. package: The alfresco package where the script lives i.e. 'django' """ def __init__(self, package, method, format='xml'): (self.package, self.method, self.format) = (package, method, format) self.url = None self.response = None def _build_url(self, *args, **kwargs): """ Builds the query """ self.url = join(settings.ALFRESCO_SERVICE_URL, self.package, self.method) if self.format: kwargs['format'] = self.format query = '&'.join( ['%s=%s' % (key, value) for key, value in kwargs.items()]) #Don't work, but would be nice if it did. #query = urllib.urlencode(kwargs) if query: self.url += '?%s' % query.replace(' ', '%20') logger.info('url: %s' % str(self.url)) def element(self, attr): xml = minidom.parseString(self.response) element = xml.getElementsByTagName(attr) return element[0].firstChild.data def _send(self): """ Does the call to to Alfresco and handles the exceptions. Sets the response """ request = urllib2.Request(self.url) try: request_response = urllib2.urlopen(request) except urllib2.HTTPError, e: if e.code == 401: logger.error(settings.ALFRESCO_EXCEPTION_CODES[1] + 'url :' + self.url) raise AlfrescoException(str(e)) elif e.code == 400: logger.error(settings.ALFRESCO_EXCEPTION_CODES[3] + 'url :' + self.url) raise AlfrescoException(str(e), code=3) else: logger.error(settings.ALFRESCO_EXCEPTION_CODES[4] + 'url :' + self.url) raise AlfrescoException(str(e), code=4) except urllib2.URLError, e: logger.critical(settings.ALFRESCO_EXCEPTION_CODES[2] + 'url :' + self.url) raise AlfrescoException(str(e), code=2)
def get(self): """ Returns the local url reference. """ url = image_cache.get(self.id, self.extension) if not url: self._build_url() request = urllib2.Request(self.url) try: request_response = urllib2.urlopen(request) except urllib2.HTTPError, e: if e.code == 401: logger.error(settings.ALFRESCO_EXCEPTION_CODES[1]+ 'url :' + self.url ) raise AlfrescoException(str(e)) elif e.code == 400: logger.error(settings.ALFRESCO_EXCEPTION_CODES[3]+ 'url :' + self.url) raise AlfrescoException(str(e), code=3) else: logger.error(settings.ALFRESCO_EXCEPTION_CODES[4]+ 'url :' + self.url) raise AlfrescoException(str(e), code=4) except urllib2.URLError, e: logger.critical(settings.ALFRESCO_EXCEPTION_CODES[2]+ 'url :' + self.url) raise AlfrescoException(str(e),code=2)
# Builds the request. request = self._build_request(*args, **kwargs) try: request_response = urllib2.urlopen(request) except urllib2.HTTPError, e: if e.code == 401: logger.error(settings.ALFRESCO_EXCEPTION_CODES[1]+ 'url :' + self.url ) raise AlfrescoException(str(e)) elif e.code == 400: logger.error(settings.ALFRESCO_EXCEPTION_CODES[3]+ 'url :' + self.url) raise AlfrescoException(str(e), code=3) else: logger.error(settings.ALFRESCO_EXCEPTION_CODES[4]+ 'url :' + self.url) raise AlfrescoException(str(e), code=4) except urllib2.URLError, e: logger.critical(settings.ALFRESCO_EXCEPTION_CODES[2]+ 'url :' + self.url) raise AlfrescoException(str(e),code=2) self.response = request_response.read() def get(self, *args, **kwargs): raw = kwargs.pop('raw', False) id = kwargs['id'] xml = cache.get(id) if xml: self.response = xml else: self.execute(self, *args, **kwargs) cache.set(id, self.response, settings.ALFRESCO_CACHE_FILE_TIMEOUT)
request_response = urllib2.urlopen(request) except urllib2.HTTPError, e: if e.code == 401: logger.error(settings.ALFRESCO_EXCEPTION_CODES[1] + 'url :' + self.url) raise AlfrescoException(str(e)) elif e.code == 400: logger.error(settings.ALFRESCO_EXCEPTION_CODES[3] + 'url :' + self.url) raise AlfrescoException(str(e), code=3) else: logger.error(settings.ALFRESCO_EXCEPTION_CODES[4] + 'url :' + self.url) raise AlfrescoException(str(e), code=4) except urllib2.URLError, e: logger.critical(settings.ALFRESCO_EXCEPTION_CODES[2] + 'url :' + self.url) raise AlfrescoException(str(e), code=2) self.response = request_response.read() def get(self, *args, **kwargs): raw = kwargs.pop('raw', False) id = kwargs['id'] xml = cache.get(id) if xml: self.response = xml else: self.execute(self, *args, **kwargs) cache.set(id, self.response, settings.ALFRESCO_CACHE_FILE_TIMEOUT) if raw: