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
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
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)
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)
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)
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
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)
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)
def action(self): uri = self.context.uri return Reference(uri.scheme, uri.authority, uri.path, {}, None)
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