Ejemplo n.º 1
0
def GetProxyOpener(proxy_set):
    """Get a urlopener for use with a proxy
    @param proxy_set: proxy settings to use

    """
    Log("[util][info] Making proxy opener with %s" % str(proxy_set))
    proxy_info = dict(proxy_set)
    auth_str = "%(uname)s:%(passwd)s@%(url)s"
    url = proxy_info['url']
    if url.startswith('http://'):
        auth_str = "http://" + auth_str
        proxy_info['url'] = url.replace('http://', '')
    else:
        pass

    if len(proxy_info.get('port', '')):
        auth_str = auth_str + ":%(port)s"

    proxy_info['passwd'] = ed_crypt.Decrypt(proxy_info['passwd'],
                                            proxy_info['pid'])
    Log("[util][info] Formatted proxy request: %s" % \
        (auth_str.replace('%(passwd)s', '****') % proxy_info))
    proxy = urllib2.ProxyHandler({"http": auth_str % proxy_info})
    opener = urllib2.build_opener(proxy, urllib2.HTTPHandler)
    return opener
Ejemplo n.º 2
0
    def testDecrypt(self):
        """Test decrypting a string"""
        e_str = ed_crypt.Encrypt(self.secret, self.salt)
        self.assertTrue(e_str != self.secret)
        self.assertTrue(len(e_str) > 0)

        d_str = ed_crypt.Decrypt(e_str, self.salt)
        self.assertTrue(d_str == self.secret)
Ejemplo n.º 3
0
    def GetSiteData(self, name):
        """Get the information for a given site
        @param name: site name
        @return: site config dictionary

        """
        data = self._data.get(name, None)
        if data is None:
            return dict(ConfigData.DEFAULT)

        pword = ed_crypt.Decrypt(data['pword'], data['salt'])
        rdata = dict(data)
        del rdata['salt']
        rdata['pword'] = pword
        return rdata