zoom.site module

zoom.site

class zoom.site.ConfigSection

Bases: zoom.utils.Record

site configuration section

class zoom.site.Site(request)

Bases: object

a Zoom site

abs_url

Calculate an absolute URL for this site

apps

Return list of apps installed on this site

Returns a link for the site owner.

helpers()

provide helpers

settings
tracker

Returns a Google analytics tracker code snippet

class zoom.site.SiteConfig(config)

Bases: object

Site Config Reader

Site configuration is managed with the site.ini files provided in the site directory and the default directory.

The SiteConfig class maps unique config keywords used by the system into the section/name pairs used in the physical configuration files and provides default values in the event that no value is provided in the config files.

>>> site = zoom.sites.Site()
>>> site.config.get('site', 'name') # without SiteConfig
'ZOOM'
>>> conf = SiteConfig(site.config) # using SiteConfig
>>> conf.site.get('name')
'ZOOM'
>>> conf.section('sessions')
<ConfigSection {'secure_cookies': True}>
>>> conf.section('notasection')
<ConfigSection {}>
>>> conf.site['name']
'ZOOM'
>>> conf.site.get('notaname', 'Nope')
'Nope'
>>> conf.site.notaname == None
True
>>> conf.mail.get('smtp_port')
'587'
>>> conf.mail.smtp_port
'587'
defaults = {'apps': {'index': 'content', 'home': 'home', 'login': 'login', 'path': 'apps;../../apps', 'include_basics': True}, 'error': {'users': False}, 'mail': {'smtp_host': '', 'smtp_port': '587', 'smtp_user': '', 'smtp_passwd': '', 'logo': '', 'from_addr': '', 'from_name': 'ZOOM Support', 'gnupg_home': None}, 'monitoring': {'profiling': False, 'logging': False, 'app_database': False, 'system_database': False}, 'sessions': {'secure_cookies': True}, 'site': {'name': 'ZOOM', 'url': '', 'owner_name': 'Company Name', 'owner_email': '', 'owner_url': 'https://www.dynamic-solutions.com', 'admin_email': '', 'register_email': '', 'support_email': ''}, 'theme': {'name': 'default', 'path': None}, 'users': {'default': 'guest', 'administrators_group': 'administrators', 'developers_group': 'developers', 'override': None}}
items(section)
section(name)
zoom.site.handler(request, next_handler, *rest)

install site object