zoom.helpers module

zoom.helpers

zoom.helpers.abs_url_for(*a, **k)

calculates absolute url

>>> abs_url_for()
'<dz:abs_site_url><dz:request_path>'
>>> abs_url_for('')
'<dz:abs_site_url><dz:request_path>'
>>> abs_url_for('/')
'<dz:abs_site_url>'
>>> abs_url_for('/', 'home')
'<dz:abs_site_url>/home'
>>> abs_url_for('/home')
'<dz:abs_site_url>/home'
>>> abs_url_for('home')
'<dz:abs_site_url><dz:request_path>/home'
>>> abs_url_for('/user', 1234)
'<dz:abs_site_url>/user/1234'
>>> abs_url_for('/user', 1234, q='test one', age=15)
'<dz:abs_site_url>/user/1234?age=15&q=test+one'
>>> abs_url_for('/user', q='test one', age=15)
'<dz:abs_site_url>/user?age=15&q=test+one'
>>> abs_url_for('/', q='test one', age=15)
'<dz:abs_site_url>?age=15&q=test+one'
>>> abs_url_for(q='test one', age=15)
'<dz:abs_site_url><dz:request_path>?age=15&q=test+one'
>>> abs_url_for('https://google.com', q='test one')
'https://google.com?q=test+one'
zoom.helpers.date()

Returns the current date in text form.

zoom.helpers.include(filename)

Return the included file

produce a link

>>> zoom.system.site = lambda: None
>>> zoom.system.site.url = ''
>>> link_to('Company', 'http://company.com')
'<a href="http://company.com" name="link-to-company">Company</a>'
>>> link_to('http://company.com')
'<a href="http://company.com" name="link-to-http-company-com">http://company.com</a>'
>>> link_to('http://company.com', q='test')
'<a href="http://company.com?q=test" name="link-to-http-company-com">http://company.com</a>'
zoom.helpers.lorem()

Returns some sample latin text to use for prototyping.

zoom.helpers.mail_to(name, *args, **kwargs)

produce an email link

>>> mail_to('Tester', 'test@testco.com')
'<a href="test@testco.com">Tester</a>'
>>> mail_to('test@testco.com')
'<a href="test@testco.com">test@testco.com</a>'
zoom.helpers.owner_email()

Returns the email address of the site owner.

Returns a link for the site owner.

zoom.helpers.owner_name()

Returns the name of the site owner.

zoom.helpers.owner_url()

Returns the URL of the site owner.

zoom.helpers.tag_for(name, *a, **k)

create a zoom tag

>>> tag_for('name')
'<dz:name>'
>>> tag_for('name', default=1)
'<dz:name default=1>'
zoom.helpers.upper(text)

Returns the given text in upper case.

zoom.helpers.url_for(*a, **k)

creates urls

>>> zoom.system.site = lambda: None
>>> zoom.system.site.url = ''
>>> url_for()
''
>>> url_for('')
''

# >>> url_for(‘/’) # ‘<dz:site_url>’

>>> url_for('/', 'home')
'/home'
>>> url_for('/home')
'/home'
>>> url_for('home')
'home'
>>> url_for('/user', 1234)
'/user/1234'
>>> url_for('/user', 1234, q='test one', age=15)
'/user/1234?age=15&q=test+one'
>>> url_for('/user', q='test one', age=15)
'/user?age=15&q=test+one'
>>> url_for('/', q='test one', age=15)
'?age=15&q=test+one'
>>> url_for(q='test one', age=15)
'?age=15&q=test+one'
>>> url_for('https://google.com', q='test one')
'https://google.com?q=test+one'
zoom.helpers.url_for_item(*args, **kwargs)

returns a url for an item on the curren page

>>> zoom.system.request = lambda: None
>>> zoom.system.request.route = ['myapp', 'mypage']
>>> url_for_item()
'/myapp/mypage'
>>> url_for_item(100)
'/myapp/mypage/100'
zoom.helpers.url_for_page(*args, **kwargs)

returns a url for a page of the current app

>>> url_for_page()
'<dz:app_url>'
>>> url_for_page('page1')
'<dz:app_url>/page1'
zoom.helpers.username()

Returns the username.

zoom.helpers.when(date, since=None)

Formats a date

>>> now = datetime.datetime(2018, 2, 24, 1, 2, 42)
>>> when(now - zoom.tools.one_day * 2, now)
'<span title="2018-02-22 01:02:42">2 days ago</span>'
zoom.helpers.who(user_id)

Formats a user_id

>>> zoom.system.site = site = zoom.sites.Site()
>>> zoom.system.user = site.users.first(username='admin')
>>> user_id = site.users.first(username='guest').user_id
>>> zoom.system.user.is_admin = True
>>> who(user_id)
'<a href="/admin/users/guest" name="link-to-guest">guest</a>'
>>> who(100)
'unknown (100)'
>>> zoom.system.user.is_admin = False
>>> who(user_id)
'guest'
>>> who(100)
'unknown'
zoom.helpers.year()

Returns the current year in text form.