core.skeleton.utils

Classes

SkelList

This class is used to hold multiple skeletons together with other, commonly used information.

Functions

skeletonByKind(kindName)

Returns the Skeleton-Class for the given kindName. That skeleton must exist, otherwise an exception is raised.

listKnownSkeletons()

iterAllSkelClasses()

remove_render_preparation_deep(skel)

Remove renderPreparation of nested skeletons

without_render_preparation(skel[, full_clone])

Return the SkeletonInstance without renderPreparation.

is_skeletoninstance_of(obj, skel_cls, *[, accept_ref_skel])

Checks whether an object is an SkeletonInstance that belongs to a specific Skeleton class.

Module Contents

core.skeleton.utils.skeletonByKind(kindName)

Returns the Skeleton-Class for the given kindName. That skeleton must exist, otherwise an exception is raised. :param kindName: The kindname to retreive the skeleton for :return: The skeleton-class for that kind

Parameters:

kindName (str)

Return type:

Type[core.skeleton.Skeleton]

core.skeleton.utils.listKnownSkeletons()
Returns:

A list of all known kindnames (all kindnames for which a skeleton is defined)

Return type:

list[str]

core.skeleton.utils.iterAllSkelClasses()
Returns:

An iterator that yields each Skeleton-Class once. (Only top-level skeletons are returned, so no RefSkel classes will be included)

Return type:

Iterable[core.skeleton.Skeleton]

class core.skeleton.utils.SkelList(skel, *items)

Bases: list

This class is used to hold multiple skeletons together with other, commonly used information.

SkelLists are returned by Skel().all()…fetch()-constructs and provide additional information about the data base query, for fetching additional entries.

Variables:

cursor (str) – Holds the cursor within a query.

Parameters:

baseSkel – The baseclass for all entries in this list

__slots__ = ('baseSkel', 'customQueryInfo', 'getCursor', 'get_orders', 'renderPreparation')
baseSkel
getCursor
get_orders
renderPreparation = None
customQueryInfo
core.skeleton.utils.remove_render_preparation_deep(skel)

Remove renderPreparation of nested skeletons

_refSkelCache can have renderPreparation too.

Parameters:

skel (Any)

Return type:

Any

core.skeleton.utils.without_render_preparation(skel, full_clone=False)

Return the SkeletonInstance without renderPreparation.

This method is useful (and unfortunately necessary due to the ViUR design) if you call python methods from the jinja template that should work on the SkeletonInstance.accessedValues and not on the SkeletonInstance.renderAccessedValues.

If the SkeletonInstance does not have renderPreparation, it will be returned as is. If renderPreparation is enabled, a new SkeletonInstance is created. However, unless full_clone is True, the SkeletonInstance will use the identical objects as the source skeleton. It just “removes” the “renderPreparation mode” and keep it for the source skel enabled.

Parameters:
  • skel (core.skeleton.SkeletonInstance)

  • full_clone (bool)

Return type:

core.skeleton.SkeletonInstance

core.skeleton.utils.is_skeletoninstance_of(obj, skel_cls, *, accept_ref_skel=True)

Checks whether an object is an SkeletonInstance that belongs to a specific Skeleton class.

Parameters:
  • obj (Any) – The object to check.

  • skel_cls (type[core.skeleton.Skeleton]) – The skeleton class that will be checked against obj.

  • accept_ref_skel (bool) – If True, obj can also be just a RefSkelFor``skel_cls``. If False, no RefSkel is accepted.

Return type:

bool