# -*- coding: iso-8859-1 -*-
"""
    MoinMoin - CreateUserHomepage
    
    Syntax:
       [[CreateUserHomepage]]
       Default text of the generated link for homepage ceration is "username"

       [[CreateUserHomepage(Link Text)]]
       Text of the generated link for homepage ceration is "Link Text"

    ToDo:
        Append "?action=edit&template=HomepageTemplate" as wikitail to force
        template usage for homepage creation. At least: create an option for that.

    CreateUserHomepage partly based on
    MoinMoin - Theme Package
    @copyright: 2003-2006 by MoinMoin:ThomasWaldmann

    MoinMoin - CreateUserHomepage
    @copyright: 2006 by Oliver Siemoneit
    @license: GNU GPL, see COPYING for details.
"""

from MoinMoin import user, wikiutil

def execute(macro, args):
    request = macro.request
    _ = request.getText

    if request.user.valid and request.user.name:
        interwiki = wikiutil.getInterwikiHomePage(request)
        name = request.user.name
        aliasname = request.user.aliasname
        if not aliasname:
            aliasname = name
        title = "%s @ %s" % (aliasname, interwiki[0])
        # link to (interwiki) user homepage
        if args is None:
            homelink = "%s%s%s" % (request.formatter.interwikilink(1, title=title, id="userhome", generated=True, *interwiki),
                        request.formatter.text(name),
                        request.formatter.interwikilink(0, title=title, id="userhome", *interwiki))
            return homelink
        else:
            homelink = "%s%s%s" % (request.formatter.interwikilink(1, title=title, id="userhome", generated=True, *interwiki),
                        request.formatter.text(args),
                        request.formatter.interwikilink(0, title=title, id="userhome", *interwiki))
            return homelink
    else:
        if args is None:
            return _('<unknown>')
        else:
            return args # or: "%s. %s" % (args, _('Please log in first'))
