# -*- coding: iso-8859-1 -*-
"""
    MoinMoin - blogpost action

    Take info submitted via form and create/append to a subpage.
    The subpage will be formatted so it is like those created via the
    MonthCalendar macro (allowing for the Include macro to be used in the same way)

    @copyright: 2004 Jos Yule (jos@theorganization.net)
    @license: GNU GPL, see COPYING for details.
"""

# Imports
from MoinMoin.PageEditor import PageEditor
from MoinMoin.Page import Page
from MoinMoin import wikiutil
import time

def execute(pagename, request):
    """ Test a user defined form.
    """
    _ = request.getText

    year = time.localtime()[0]
    month = time.localtime()[1]
    day = time.localtime()[2]
    
    newPage = "%s/%4d-%02d-%02d" % (request.form['addtopage'][0], year, month, day)
    
    postPage = Page(newPage)

    if not postPage.exists():
        pageText = ''
    else:
        pageText = postPage.get_raw_body()    

    keyDict = {}

    for key in request.form.keys():
        keyDict[key.lower()] = request.form.get(key)
        
    if keyDict['form_headline'] is not '':
        pageText = "''' " + keyDict['form_headline'][0] + " '''\n\n" + keyDict['form_text'][0] + "\n\n" + pageText
    else:
        pageText = "\n" + keyDict['form_text'][0] + "\n\n" + pageText

    savePage = PageEditor(newPage, request)
    savePage._write_file(pageText)
    postPage = Page(newPage)
    postPage.send_page(request, msg='%s' % pageText)
