Example #1
0
 def __init__(self, rbuilderUrl, user, pw, handle):
     _AbstractRbuilderClient.__init__(self, rbuilderUrl, user, pw, handle)
     scheme, _, _, host, port, path, _, _ = util.urlSplit(rbuilderUrl)
     path = util.joinPaths(path, 'api')
     self._url = util.urlUnsplit(
         (scheme, user, pw, host, port, path, None, None))
     self._api = None
Example #2
0
def urlAddAuth(url, username, password):
    urlArr = list(util.urlSplit(url))
    if username is not None:
        urlArr[1] = username
    if password is not None:
        urlArr[2] = password
    return util.urlUnsplit(urlArr)
Example #3
0
 def __init__(self, rbuilderUrl, user, pw, handle):
     _AbstractRbuilderClient.__init__(self, rbuilderUrl, user, pw, handle)
     scheme, _, _, host, port, path, _, _ = util.urlSplit(rbuilderUrl)
     path = util.joinPaths(path, 'api')
     self._url = util.urlUnsplit(
             (scheme, user, pw, host, port, path, None, None))
     self._api = None
 def _pathFromUrl(cls, pathList):
     if not pathList:
         return None
     if isinstance(pathList, list):
         path = pathList[0]
     else:
         path = pathList
     return util.urlSplit(path)[5]
Example #5
0
 def _pathFromUrl(cls, pathList):
     if not pathList:
         return None
     if isinstance(pathList, list):
         path = pathList[0]
     else:
         path = pathList
     return util.urlSplit(path)[5]
Example #6
0
 def makeUrl(cls, url, headers=None):
     scheme, user, passwd, host, port, path, query, fragment = util.urlSplit(
         url)
     # Join back query and fragment
     unparsedPath = path
     if query:
         unparsedPath = "%s?%s" % (unparsedPath, query)
     if fragment:
         unparsedPath = "%s#%s" % (unparsedPath, fragment)
     return cls.URL(scheme=scheme, username=user, password=passwd,
         host=host, port=port, path=path, query=query, fragment=fragment,
         unparsedPath=unparsedPath, headers=headers)
Example #7
0
 def fromString(cls, url, host=None, port=None):
     arr = util.urlSplit(url)
     o = cls()
     (o.scheme, o.username, o.password, o.host, o.port,
         o.path, o.query, o.fragment) = arr
     o.unparsedPath = util.urlUnsplit((None, None, None, None, None,
         o.path, o.query, o.fragment))
     if o.host is None:
         o.host = host
     if o.port is None:
         o.port = port
     return o
Example #8
0
    def __init__(self, urlString, parent=None, extension=None,
                 isHostname=False):
        urlString = urllib.unquote(urlString)
        (self.scheme, self.user, self.passwd, self.host, self.port,
         self.path, self.params, self.fragment) = util.urlSplit(urlString)

        if parent:
            self.path = os.sep.join((self.path, parent.path))
            self.path = self.path.replace('//', '/')
            self.extension = parent.extension
        self.parent = parent
        assert self.parent is not self
        self.extension = extension
Example #9
0
 def parse(cls, url, defaultScheme='http'):
     if '://' not in url and defaultScheme:
         url = '%s://%s' % (defaultScheme, url)
     (scheme, username, password, host, port, path, query, fragment,
             ) = util.urlSplit(url)
     if not port and port != 0:
         if scheme[-1] == 's':
             port = 443
         else:
             port = 80
     hostport = networking.HostPort(host, port)
     path = urlparse.urlunsplit(('', '', path, query, fragment))
     return cls(scheme, (username, password), hostport, path)
Example #10
0
    def _getLocalIp(cls, destination):
        """Return my IP address visible to the destination host"""

        if utils.runningInEC2():
            return cls._getExternalEC2Ip()

        if "://" not in destination:
            destination = "http://%s" % destination
        hostname, port = util.urlSplit(destination, defaultPort=443)[3:5]
        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        s.connect((hostname, int(port)))
        ret = s.getsockname()[0]
        s.close()
        return ret
Example #11
0
    def _getLocalIp(cls, destination):
        """Return my IP address visible to the destination host"""

        if utils.runningInEC2():
            return cls._getExternalEC2Ip()

        if "://" not in destination:
            destination = "http://%s" % destination
        hostname, port = util.urlSplit(destination, defaultPort=443)[3:5]
        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        s.connect((hostname, int(port)))
        ret = s.getsockname()[0]
        s.close()
        return ret
Example #12
0
    def testUrlSplitUnsplit(self):
        for tup, url in self.Tests:
            nurl = util.urlUnsplit(tup)
            self.assertEqual(nurl, url)
            self.assertEqual(util.urlSplit(url), tup)

        # One-way tests
        tests = [
            (("http", None, None, "localhost", "10", "/path", "", ""),
             "http://localhost:10/path"),
            ((None, None, None, None, None, "/path", "q", "f"), "/path?q#f"),
        ]
        for tup, url in tests:
            nurl = util.urlUnsplit(tup)
            self.assertEqual(nurl, url)
Example #13
0
    def testUrlSplitUnsplit(self):
        for tup, url in self.Tests:
            nurl = util.urlUnsplit(tup)
            self.assertEqual(nurl, url)
            self.assertEqual(util.urlSplit(url), tup)

        # One-way tests
        tests = [
            (("http", None, None, "localhost", "10", "/path", "", ""),
              "http://localhost:10/path"),
            ((None, None, None, None, None, "/path", "q", "f"),
                "/path?q#f"),
        ]
        for tup, url in tests:
            nurl = util.urlUnsplit(tup)
            self.assertEqual(nurl, url)
Example #14
0
    def __init__(self,
                 urlString,
                 parent=None,
                 extension=None,
                 isHostname=False):
        urlString = urllib.unquote(urlString)
        (self.scheme, self.user, self.passwd, self.host, self.port, self.path,
         self.params, self.fragment) = util.urlSplit(urlString)

        if parent:
            self.path = os.sep.join((self.path, parent.path))
            self.path = self.path.replace('//', '/')
            self.extension = parent.extension
        self.parent = parent
        assert self.parent is not self
        self.extension = extension
Example #15
0
 def parse(cls, url, defaultScheme='http'):
     if '://' not in url and defaultScheme:
         url = '%s://%s' % (defaultScheme, url)
     (
         scheme,
         username,
         password,
         host,
         port,
         path,
         query,
         fragment,
     ) = util.urlSplit(url)
     if not port and port != 0:
         if scheme[-1] == 's':
             port = 443
         else:
             port = 80
     hostport = networking.HostPort(host, port)
     path = urlparse.urlunsplit(('', '', path, query, fragment))
     return cls(scheme, (username, password), hostport, path)