Another abandoned server code base... this is kind of an ancestor of taskrambler.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

127 lines
4.4 KiB

<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:py="http://purl.org/kid/ns#"
>
<!-- in order to get the title, we conver to a list so we
can peek at the 1st item. There might be something in
itertools for this. -->
<?python clist = list(contacts) ?>
<head profile='http://www.w3.org/2006/03/hcard'>
<title>${contacts[0]['fn']['text']} contact info</title>
</head>
<body>
<h1>Contacts</h1>
<ul>
<li py:for="c in contacts"
class="vcard">
<tt class="uid" py:if="c.has_key('uid')">${c['uid']['text']}</tt>
<?python n = c.get('n', None) ?>
<div class="n" py:if="n is not None">
<span class="family-name" py:if="n.has_key('family-name')"
>${n['family-name']}</span>
<span class="given-name" py:if="n.has_key('given-name')"
>${n['given-name']}</span>
<span class="additional-name" py:if="n.has_key('additional-name')"
>${n['additional-name']}</span>
<span class="honorific-prefix" py:if="n.has_key('honorific-prefix')"
>${n['honorific-prefix']}</span>
<span class="honorific-suffix" py:if="n.has_key('honorific-suffix')"
>${n['honorific-suffix']}</span>
</div>
<strong class="fn" py:if="c.has_key('fn')">${c['fn']['text']}</strong>
<dfn class="nickname" py:if="c.has_key('nickname')"
>${c['nickname']['text']}</dfn>
<b class="bday" py:if="c.has_key('bday')"
>${c['bday']['text']}</b>
<em class="title" py:if="c.has_key('title')">${c['title']['text']}</em>
<b class="role" py:if="c.has_key('role')">${c['role']['text']}</b>
<em class="org" py:if="c.has_key('org')
and c['org'].has_key('organization-unit')">
<span class="organization-name">${c['org']['organization-name']}</span>
<span class="organization-unit">${c['org']['organization-unit']}</span>
</em>
<em class="org" py:if="c.has_key('org')
and not c['org'].has_key('organization-unit')
">${c['org']['organization-name']}</em>
<ul py:if="c.has_key('email')">
<li class="email" py:for="e in c['email']">
<!-- @@ handling of multiple types is hosed -->
<span py:if="e.has_key('type')" py:strip="1">
<span class="type" py:for="ty in e['type']">${ty}</span>
</span>
<span class="value">${e['text']}</span>
</li>
</ul>
<ul py:if="c.has_key('tel')">
<li class="tel" py:for="t in c['tel']">
<span py:if="t.has_key('type')" py:strip="1">
<span class="type" py:for="ty in t['type']">${ty}</span>
</span>
<span class="value">${t['text']}</span>
</li>
</ul>
<a class="url" py:if="c.has_key('url')"
href="${c['url']['_']}"
>url</a>
<a class="logo" py:if="c.has_key('logo')"
href="${c['logo']['uri']}"
>logo</a>
<a class="photo" py:if="c.has_key('photo')"
href="${c['photo']['uri']}"
>photo</a>
<div class="geo" py:if="c.has_key('geo')">
<span class="latitude">${c['geo']['latitude']}</span>
<span class="longitude">${c['geo']['longitude']}</span>
</div>
<tt class="tz" py:if="c.has_key('tz')">${c['tz']['text']}</tt>
<?python adrs = c.get('adr', None) ?>
<ul py:if="adrs is not None">
<li class="adr" py:for="adr in adrs">
<!-- learn how to factor this sort of thing out using kid magic foo -->
<span class="post-office-box" py:if="adr.has_key('post-office-box')"
>${adr['post-office-box']}</span>
<span class="extended-address" py:if="adr.has_key('extended-address')"
>${adr['extended-address']}</span>
<span class="street-address" py:if="adr.has_key('street-address')"
>${adr['street-address']}</span>
<div>
<span class="locality" py:if="adr.has_key('locality')"
>${adr['locality']}</span>,
<span class="region" py:if="adr.has_key('region')"
>${adr['region']}</span>
<span class="postal-code" py:if="adr.has_key('postal-code')"
>${adr['postal-code']}</span>
</div>
<span class="country-name" py:if="adr.has_key('country-name')"
>${adr['country-name']}</span>
<span py:if="adr.has_key('type')" py:strip="1">
<span class="type" py:for="ty in adr['type']">${ty}</span>
</span>
</li>
</ul>
<tt class="class" py:if="c.has_key('class')">${c['class']['text']}</tt>
<tt class="category" py:if="c.has_key('categories')">${c['categories']['text']}</tt>
<pre class="note" py:if="c.has_key('note')">${c['note']['text']}</pre>
<small class="rev" py:if="c.has_key('rev')">${c['rev']['text']}</small>
</li>
</ul>
</body>
</html>