'Adds periodically the new URLs to the tree.
:return: True to keep being called by gobject, False when it\'s done.'

def add_url(self):

    try:
        url = self.urls.get_nowait()
    except Queue.Empty:
        pass
    else:
        path = url.get_path()
        params = url.get_params_string()
        query = str(url.querystring)
        fragment = url.get_fragment()
        scheme = url.get_protocol()
        netloc = url.get_domain()
        ini = ('%s://%s' % (scheme, netloc))
        end = ''
        if params:
            end += (';' + params)
        if query:
            end += ('?' + query)
        if fragment:
            end += ('#' + fragment)
        splittedPath = re.split('(\\\\|/)', path)
        nodes = []
        for i in splittedPath:
            if (i not in ['\\', '/']):
                nodes.append(i)
        nodes.insert(0, ini)
        nodes.append(end)
        parts = [x for x in nodes if x]
        self._insertNodes(None, parts, self.treeholder, 1)
        self.treestore.sort_column_changed()
    return True
