# -*- coding: iso-8859-1 -*-
"""
    MoinMoin - FoafLink Macro

    @copyright: 2004 by Oliver Graf <ograf@bitart.de>
    @license: GNU GPL, see COPYING for details.
"""

_rechars=':/?&'
def quote(s):
    for c in _rechars:
        s=s.replace(c,'%%%02X'%(ord(c)))
    return s
	
def execute(macro, args):
    args=args.split(',',2)
    url=None
    name="FoaF File"
    if len(args)>0:
        page=args[0]
    if len(args)>1:
        url=args[1]
    if len(args)>2:
        name=args[2]

    foaf_url='%s/%s?action=raw&mimetype=application%%2frdf%%2bxml&filename=foaf.rdf'%(macro.request.getBaseURL(),page)
    if url:
        foaf_url=url+quote(foaf_url)
    
    return '<a href="%s">%s</a>'%(foaf_url,name)

