Ejemplo n.º 1
0
 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)
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
0
     # 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)
Ejemplo n.º 5
0
            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: