plone.api.portal#

Module that provides various utility methods on the portal level.

plone.api.portal.get()[source]#

Get the Plone portal object out of thin air.

Without the need to import fancy Interfaces and doing multi adapter lookups.

Returns:

Plone portal object

Return type:

Portal object

Example:

Get portal object

plone.api.portal.get_current_language(context=None)[source]#

Return the current negotiated language.

Parameters:

context (object) -- context object

Returns:

language identifier

Return type:

string

Example:

Get current language

plone.api.portal.get_default_language()[source]#

Return the default language.

Returns:

language identifier

Return type:

string

Example:

Get default language

plone.api.portal.get_localized_time(datetime=None, long_format=False, time_only=False)[source]#

Display a date/time in a user-friendly way.

It should be localized to the user's preferred language.

Note that you can specify both long_format and time_only as True (or any other value that can be converted to a boolean True value), but time_only then wins: the long_format value is ignored.

You can also use datetime.datetime or datetime.date instead of Plone's DateTime. In case of datetime.datetime everything works the same, in case of datetime.date the long_format parameter is ignored and on time_only an empty string is returned.

Parameters:
  • datetime (DateTime, datetime or date) -- [required] Message to show.

  • long_format (boolean) -- When true, show long date format. When false (default), show the short date format.

  • time_only (boolean) -- When true, show only the time, when false (default), show the date.

Returns:

Localized time

Return type:

string

Raises:

ValueError

Example:

Get localized time

plone.api.portal.get_navigation_root(context=None)[source]#

Get the navigation root object for the context.

This traverses the path up and returns the nearest navigation root. Useful for multi-lingual installations and sites with subsites.

Parameters:

context (context object) -- [required] Context on which to get the navigation root.

Returns:

Navigation Root

Return type:

Portal object

Example:

Get navigation root

plone.api.portal.get_registry_record(name=None, interface=None, default=<object object>)[source]#

Get a record value from plone.app.registry.

Parameters:
  • name (string) -- [required] Name

  • interface (zope.interface.Interface) -- interface whose attributes are plone.app.registry settings

  • default (anything) -- The value returned if the record is not found

Returns:

Registry record value

Return type:

plone.app.registry registry record

Example:

Get plone.app.registry record

plone.api.portal.get_tool(name=None)[source]#

Get a portal tool in a simple way.

Parameters:

name (string) -- [required] Name of the tool you want.

Returns:

The tool that was found by name

Raises:

MissingParameterError, InvalidParameterError

Example:

Get tool

plone.api.portal.send_email(sender=None, recipient=None, subject=None, body=None, immediate=False)[source]#

Send an email.

Parameters:
  • sender (string) -- Email sender, 'from' field. If not set, the portal default will be used.

  • recipient (string) -- [required] Email recipient, 'to' field.

  • subject (string) -- [required] Subject of the email.

  • body (boolean) -- [required] Body text of the email

  • immediate -- Send immediate or queued at transaction commit time. When sending immediate the mail might get sent out multiple time in case of transaction aborts and retries.

Raises:

ValueError

Example:

Send E-Mail

plone.api.portal.set_registry_record(name=None, value=None, interface=None)[source]#

Set a record value in the plone.app.registry.

Parameters:
  • name (string) -- [required] Name of the record

  • value (python primitive) -- [required] Value to set

  • interface (zope.interface.Interface) -- interface whose attributes are plone.app.registry settings

Example:

Set plone.app.registry record

plone.api.portal.show_message(message=None, request=None, type='info')[source]#

Display a status message.

Parameters:
  • message (string) -- [required] Message to show.

  • request (HTTPRequest) -- [required] Request.

  • type (string) -- Message type. Possible values: 'info', 'warn', 'error'

Raises:

ValueError

Example:

Show notification message

plone.api.portal.translate(msgid, domain='plone', lang=None)[source]#

Translate a message into a given language.

Default to current negotiated language if no target language specified.

Parameters:
  • msgid (zope.i18nmessageid.Message) -- [required] message to translate

  • domain (string) -- i18n domain to use. When msgid is an instance of Message, then the Message's domain is used.

  • lang (string) -- target language

Returns:

translated message

Return type:

str

Example:

Translate