univention.portal package#

class univention.portal.Plugin(name, bases, attrs)[source]#

Bases: type

Meta class for plugins.

class univention.portal.Plugins(python_path: str)[source]#

Bases: object

Register Plugin subclasses and iterate over them.

Parameters:

python_path (str) – fully dotted Python path that the plugins will be found below

classmethod add_plugin(plugin: Plugin) None[source]#

Called by Plugin meta class to register a new Plugin subclass.

Parameters:

plugin (type) – a Plugin subclass

load() None[source]#

Load plugins.

univention.portal.get_all_dynamic_classes() Iterator[Plugin][source]#
univention.portal.get_dynamic_classes(klass_name: str) Plugin[source]#

Subpackages#

Submodules#

univention.portal.config module#

univention.portal.config.load()[source]#
univention.portal.config.fetch(key)[source]#

univention.portal.factory module#

univention.portal.factory.make_arg(arg_definition)[source]#
univention.portal.factory.make_portal(portal_definition)[source]#

univention.portal.log module#

class univention.portal.log.ShortNameFormatter(fmt=None, datefmt=None, style='%', validate=True, *, defaults=None)[source]#

Bases: Formatter

Initialize the formatter with specified format strings.

Initialize the formatter either with the specified format string, or a default as described above. Allow for specialized date formatting with the optional datefmt argument. If datefmt is omitted, you get an ISO8601-like (or RFC 3339-like) format.

Use a style parameter of ‘%’, ‘{’ or ‘$’ to specify that you want to use one of %-formatting, str.format() ({}) formatting or string.Template formatting in your format string.

Changed in version 3.2: Added the style parameter.

shorten = 'univention.portal'#
format(record)[source]#

Format the specified record as text.

The record’s attribute dictionary is used as the operand to a string formatting operation which yields the returned string. Before formatting the dictionary, a couple of preparatory steps are carried out. The message attribute of the record is computed using LogRecord.getMessage(). If the formatting string uses the time (as determined by a call to usesTime(), formatTime() is called to format the event time. If there is exception information, it is formatted using formatException() and appended to the message.

univention.portal.log.setup_logger(logfile='/var/log/univention/portal.log', stream=True)[source]#
univention.portal.log.get_logger(name)[source]#

univention.portal.main module#

univention.portal.main.make_app(portal_definitions)[source]#
univention.portal.main.build_routes(portals)[source]#

univention.portal.user module#

class univention.portal.user.User(username, display_name, groups, headers)[source]#

Bases: object

is_admin()[source]#
is_anonymous()[source]#
is_member_of(group)[source]#

univention.portal.util module#

univention.portal.util.is_current_time_between(start_iso_datetime_str: str, end_iso_datetime_str: str) bool[source]#

Return if the current system time (datetime.now()) lies within the given range. In case, start is later than end, ignore both.

start_iso_datetime_strstr

the first point in time that is in range

end_iso_datetime_strstr

the last point in time that is in range

return: bool

is datetime.now() between start_iso_datetime_str and end_iso_datetime_str, including boundaries