API#
Resource#
- class webresource.Resource(name='', depends=None, directory=None, path=None, resource=None, compressed=None, include=True, unique=False, unique_prefix='++webresource++', hash_algorithm='sha384', group=None, url=None, crossorigin=None, referrerpolicy=None, type_=None, **kwargs)#
Bases:
ResourceMixinA web resource.
- __init__(name='', depends=None, directory=None, path=None, resource=None, compressed=None, include=True, unique=False, unique_prefix='++webresource++', hash_algorithm='sha384', group=None, url=None, crossorigin=None, referrerpolicy=None, type_=None, **kwargs)#
Base class for resources.
- Parameters
name – The resource unique name.
depends – Optional name or list of names of dependency resources.
directory – Directory containing the resource files.
path – URL path for HTML tag link creation.
resource – Resource file.
compressed – Optional compressed version of resource file.
include – Flag or callback function returning a flag whether to include the resource.
unique – Flag whether to render resource URL including unique key. Has no effect if
urlis given.unique_prefix – Prefix for unique key. Defaults to ‘++webresource++’.
hash_algorithm – Name of the hashing algorithm. Either ‘sha256’, ‘sha384’ or ‘sha512’. Defaults to ‘sha384’.
group – Optional resource group instance.
url – Optional resource URL to use for external resources.
crossorigin – Sets the mode of the request to an HTTP CORS Request.
referrerpolicy – Specifies which referrer information to send when fetching the resource.
type – Specifies the media type of the resource.
**kwargs –
Additional keyword arguments. Gets rendered as additional attributes on resource tag.
- Raises
ResourceError – No resource and no url given.
- property file_name#
Resource file name depending on operation mode.
- property file_path#
Absolute resource file path depending on operation mode.
- render(base_url)#
Renders the resource HTML tag. must be implemented on subclass.
- Parameters
base_url – The base URL to create the URL resource.
- Raises
NotImplementedError – Method is abstract.
- resource_url(base_url)#
Create URL for resource.
- Parameters
base_url – The base URL to create the URL resource.
ScriptResource#
- class webresource.ScriptResource(name='', depends=None, directory=None, path=None, resource=None, compressed=None, include=True, unique=False, unique_prefix='++webresource++', hash_algorithm='sha384', group=None, url=None, crossorigin=None, referrerpolicy=None, type_=None, async_=None, defer=None, integrity=None, nomodule=None, **kwargs)#
Bases:
ResourceA Javascript resource.
- __init__(name='', depends=None, directory=None, path=None, resource=None, compressed=None, include=True, unique=False, unique_prefix='++webresource++', hash_algorithm='sha384', group=None, url=None, crossorigin=None, referrerpolicy=None, type_=None, async_=None, defer=None, integrity=None, nomodule=None, **kwargs)#
Create script resource.
- Parameters
name – The resource unique name.
depends – Optional name or list of names of dependency resources.
directory – Directory containing the resource files.
path – URL path for HTML tag link creation.
resource – Resource file.
compressed – Optional compressed version of resource file.
include – Flag or callback function returning a flag whether to include the resource.
unique – Flag whether to render resource URL including unique key. Has no effect if
urlis given.unique_prefix – Prefix for unique key. Defaults to ‘++webresource++’.
hash_algorithm – Name of the hashing algorithm. Either ‘sha256’, ‘sha384’ or ‘sha512’. Defaults to ‘sha384’.
group – Optional resource group instance.
url – Optional resource URL to use for external resources.
crossorigin – Sets the mode of the request to an HTTP CORS Request.
referrerpolicy – Specifies which referrer information to send when fetching the resource.
type – Specifies the media type of the resource.
async – Specifies that the script is executed asynchronously (only for external scripts)
defer – Specifies that the script is executed when the page has finished parsing (only for external scripts).
integrity – Allows a browser to check the fetched script to ensure that the code is never loaded if the source has been manipulated. If integrity given and value is ‘True’, the integrity hash gets calculated from the resource file content. This automatic calculation won’t work if
urlis given. If value is a string, it is assumed to be the already calculated resource hash and is taken as is.nomodule – Specifies that the script should not be executed in browsers supporting ES2015 modules.
**kwargs –
Additional keyword arguments. Gets rendered as additional attributes on resource tag.
- Raises
ResourceError – No resource and no url given.
- render(base_url)#
Renders the resource HTML
scripttag.- Parameters
base_url – The base URL to create the URL resource.
LinkResource#
- class webresource.LinkResource(name='', depends=None, directory=None, path=None, resource=None, compressed=None, include=True, unique=False, unique_prefix='++webresource++', hash_algorithm='sha384', group=None, url=None, crossorigin=None, referrerpolicy=None, type_=None, hreflang=None, media=None, rel=None, sizes=None, title=None, **kwargs)#
Bases:
LinkMixinA Link Resource.
- __init__(name='', depends=None, directory=None, path=None, resource=None, compressed=None, include=True, unique=False, unique_prefix='++webresource++', hash_algorithm='sha384', group=None, url=None, crossorigin=None, referrerpolicy=None, type_=None, hreflang=None, media=None, rel=None, sizes=None, title=None, **kwargs)#
Create link resource.
- Parameters
name – The resource unique name.
depends – Optional name or list of names of dependency resources.
directory – Directory containing the resource files.
path – URL path for HTML tag link creation.
resource – Resource file.
compressed – Optional compressed version of resource file.
include – Flag or callback function returning a flag whether to include the resource.
unique – Flag whether to render resource URL including unique key. Has no effect if
urlis given.unique_prefix – Prefix for unique key. Defaults to ‘++webresource++’.
hash_algorithm – Name of the hashing algorithm. Either ‘sha256’, ‘sha384’ or ‘sha512’. Defaults to ‘sha384’.
group – Optional resource group instance.
url – Optional resource URL to use for external resources.
crossorigin – Sets the mode of the request to an HTTP CORS Request.
referrerpolicy – Specifies which referrer information to send when fetching the resource.
type – Specifies the media type of the resource.
hreflang – Specifies the language of the text in the linked document.
media – Specifies on what device the linked document will be displayed.
rel – Required. Specifies the relationship between the current document and the linked document.
sizes – Specifies the size of the linked resource. Only for rel=”icon”.
title – Defines a preferred or an alternate stylesheet.
**kwargs –
Additional keyword arguments. Gets rendered as additional attributes on resource tag.
- Raises
ResourceError – No resource and no url given.
- render(base_url)#
Renders the resource HTML
linktag.- Parameters
base_url – The base URL to create the URL resource.
StyleResource#
- class webresource.StyleResource(name='', depends=None, directory=None, path=None, resource=None, compressed=None, include=True, unique=False, unique_prefix='++webresource++', hash_algorithm='sha384', group=None, url=None, crossorigin=None, referrerpolicy=None, hreflang=None, media='all', rel='stylesheet', title=None, **kwargs)#
Bases:
LinkMixinA Stylesheet Resource.
- __init__(name='', depends=None, directory=None, path=None, resource=None, compressed=None, include=True, unique=False, unique_prefix='++webresource++', hash_algorithm='sha384', group=None, url=None, crossorigin=None, referrerpolicy=None, hreflang=None, media='all', rel='stylesheet', title=None, **kwargs)#
Create link resource.
- Parameters
name – The resource unique name.
depends – Optional name or list of names of dependency resources.
directory – Directory containing the resource files.
path – URL path for HTML tag link creation.
resource – Resource file.
compressed – Optional compressed version of resource file.
include – Flag or callback function returning a flag whether to include the resource.
unique – Flag whether to render resource URL including unique key. Has no effect if
urlis given.unique_prefix – Prefix for unique key. Defaults to ‘++webresource++’.
hash_algorithm – Name of the hashing algorithm. Either ‘sha256’, ‘sha384’ or ‘sha512’. Defaults to ‘sha384’.
group – Optional resource group instance.
url – Optional resource URL to use for external resources.
crossorigin – Sets the mode of the request to an HTTP CORS Request.
referrerpolicy – Specifies which referrer information to send when fetching the resource.
hreflang – Specifies the language of the text in the linked document.
media – Specifies on what device the linked document will be displayed. Defaults to “all”.
rel – Specifies the relationship between the current document and the linked document. Defaults to “stylesheet”.
title – Defines a preferred or an alternate stylesheet.
**kwargs –
Additional keyword arguments. Gets rendered as additional attributes on resource tag.
- Raises
ResourceError – No resource and no url given.
- render(base_url)#
Renders the resource HTML
linktag.- Parameters
base_url – The base URL to create the URL resource.
ResourceGroup#
- class webresource.ResourceGroup(name='', directory=None, path=None, include=True, group=None)#
Bases:
ResourceMixinA resource group.
- __init__(name='', directory=None, path=None, include=True, group=None)#
Create resource group.
- Parameters
name – The resource group name.
directory – Directory containing the resource files.
path – Optional URL path for HTML tag link creation. Takes precedence over group members paths.
include – Flag or callback function returning a flag whether to include the resource group.
group – Optional resource group instance.
- add(member)#
Add member to resource group.
- Parameters
member – Either
ResourceGrouporResourceinstance.- Raises
ResourceError – Invalid member given.
- property links#
List of all contained
LinkResourceinstances.Resources from subsequent resource groups are included.
- property members#
List of group members.
Group members are either instances of
ResourceorResourceGroup.
- property scripts#
List of all contained
ScriptResourceinstances.Resources from subsequent resource groups are included.
- property styles#
List of all contained
StyleResourceinstances.Resources from subsequent resource groups are included.
ResourceResolver#
- class webresource.ResourceResolver(members)#
Resource resolver.
- __init__(members)#
Create resource resolver.
- Parameters
members – Either single or list of
ResourceorResourceGroupinstances.- Raises
ResourceError – Members contain invalid member.
- resolve()#
Return all resources from members as flat list ordered by dependencies.
- Raises
ResourceConflictError – Resource list contains conflicting names
ResourceMissingDependencyError – Dependency resource not included
ResourceCircularDependencyError – Circular dependency defined.
ResourceRenderer#
GracefulResourceRenderer#
- class webresource.GracefulResourceRenderer(resolver, base_url='https://tld.org')#
Resource renderer, which does not fail but logs an exception.
- __init__(resolver, base_url='https://tld.org')#
Create resource renderer.
- Parameters
resolver –
ResourceResolverinstance.base_url – Base URL to render resource HTML tags.
- render()#
Render resources.
Exceptions#
- class webresource.ResourceError#
Bases:
ValueErrorResource related exception.
- class webresource.ResourceConflictError(counter)#
Bases:
ResourceErrorMultiple resources declared with the same name.
- class webresource.ResourceCircularDependencyError(resources)#
Bases:
ResourceErrorResources define circular dependencies.
- class webresource.ResourceMissingDependencyError(resource)#
Bases:
ResourceErrorResource depends on a missing resource.