Example #1
0
 def get_namespace(self, resource, context):
     # Hook action, action must be set to contact box uri
     site_root = context.resource.get_site_root()
     namespace = ContactForm.get_namespace(self, site_root, context)
     current_uri = context.uri
     uri = Reference(current_uri.scheme, current_uri.authority,
                     current_uri.path, current_uri.query,
                     current_uri.fragment)
     uri.path = Path(context.get_link(resource))
     namespace['action'] = uri
     return namespace
Example #2
0
        def my_func(matchobj):
            uri = matchobj.group(1)
            reference = css_get_reference(uri)

            # Skip empty links, external links and links to '/ui/'
            if reference.scheme or reference.authority:
                return matchobj.group(0)
            path = reference.path
            if not path or path[0] == 'ui':
                return matchobj.group(0)

            # Strip the view
            name = path.get_name()
            if name and name[0] == ';':
                view = '/' + name
                path = path[:-1]
            else:
                view = ''

            # Calcul the old absolute path
            # Absolute path are relative to site root
            if not path.is_absolute():
                old_abs_path = source.resolve2(path)
            # Get the 'new' absolute parth
            new_abs_path = resources_old2new.get(old_abs_path, old_abs_path)

            path = str(target.get_pathto(new_abs_path)) + view
            new_value = Reference('', '', path, reference.query.copy(),
                                  reference.fragment)
            return "url('%s')" % path
Example #3
0
        def my_func(matchobj):
            uri = matchobj.group(1)
            reference = css_get_reference(uri)

            # Skip empty links, external links and links to '/ui/'
            if reference.scheme or reference.authority:
                return matchobj.group(0)
            path = reference.path
            if not path or path[0] == 'ui':
                return matchobj.group(0)

            # Strip the view
            name = path.get_name()
            if name and name[0] == ';':
                view = '/' + name
                path = path[:-1]
            else:
                view = ''

            # Resolve the path
            # Absolute path are relative to site root
            if not path.is_absolute():
                path = old_base.resolve2(path)

            # Match ?
            if path == source:
                path = str(new_base.get_pathto(target)) + view
                new_path = Reference('', '', path, reference.query.copy(),
                                     reference.fragment)
                return "url('%s')" % new_path

            return matchobj.group(0)
Example #4
0
        def my_func(value):
            # Skip empty links, external links and links to '/ui/'
            uri = get_reference(value)
            if uri.scheme or uri.authority or uri.path.is_absolute():
                return value
            path = uri.path
            if not path or path.is_absolute() and path[0] == 'ui':
                return value

            # Strip the view
            name = path.get_name()
            if name and name[0] == ';':
                view = '/' + name
                path = path[:-1]
            else:
                view = ''

            # Resolve Path
            # Calcul the old absolute path
            old_abs_path = source.resolve2(path)
            # Get the 'new' absolute parth
            new_abs_path = resources_old2new.get(old_abs_path, old_abs_path)

            path = str(target.get_pathto(new_abs_path)) + view
            value = Reference('', '', path, uri.query.copy(), uri.fragment)
            return str(value)
Example #5
0
def resolve_pointer(offset, reference, value):
    # FIXME Exception for STL
    if value[:2] == '${':
        return value

    # Absolute URI or path
    uri = get_reference(value)
    if uri.scheme or uri.authority:
        return value

    # Resolve Path
    if uri.path.is_absolute():
        if reference is None:
            return value
        # Do not call resolve with absolute path
        path = uri.path
    else:
        path = offset.resolve(uri.path)

    scheme = authority = ''
    if reference:
        scheme = reference.scheme
        authority = reference.authority
    value = Reference(scheme, authority, path, uri.query.copy(), uri.fragment)
    return str(value)
Example #6
0
 def _copy_reference_without_username(cls, ref):
     newauth = ref.authority.host
     if ref.authority.port:
         newauth += ":" + ref.authority.port
     scheme = ref.scheme
     if scheme.startswith("webdav"):
         scheme = "http" + scheme[6:]
     newref = Reference(scheme, Authority(newauth), ref.path, ref.query,
                        ref.fragment)
     return newref
Example #7
0
File: stl.py Project: nkhine/itools
def set_prefix(stream, prefix, ns_uri=xhtml_uri, uri=None):
    if isinstance(prefix, str):
        prefix = Path(prefix)

    ref = None
    if uri:
        ref = Reference(scheme=uri.scheme, authority=uri.authority,
                        path='/', query={})
    rewrite = partial(resolve_pointer, prefix, ref)

    return rewrite_uris(stream, rewrite, ns_uri)
Example #8
0
def resolve_pointer(offset, value):
    # FIXME Exception for STL
    if value[:2] == '${':
        return value

    # Absolute URI or path
    uri = get_reference(value)
    if uri.scheme or uri.authority or uri.path.is_absolute():
        return value

    # Resolve Path
    path = offset.resolve(uri.path)
    value = Reference('', '', path, uri.query.copy(), uri.fragment)
    return str(value)
Example #9
0
 def action(self):
     uri = self.context.uri
     return Reference(uri.scheme, uri.authority, uri.path, {}, None)
Example #10
0
 def _copy_root_reference_without_username(cls, ref):
     newauth = ref.authority.host
     if ref.authority.port:
         newauth += ":" + ref.authority.port
     newref = Reference(ref.scheme, Authority(newauth), "/", "", "")
     return newref