wiki.python.de defekt?

Kritik und Vorschläge für dieses Board bitte hier rein.
Antworten
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Passiert das nur bei mir (beim speichern einer Wiki Seite):
Traceback (most recent call last):
File "/usr/lib/python2.4/site-packages/MoinMoin/request.py", line 1137, in run
handler(self.page.page_name, self)
File "/usr/lib/python2.4/site-packages/MoinMoin/wikiaction.py", line 638, in do_edit
savemsg = pg.saveText(savetext, rev, trivial=trivial, comment=comment)
File "/usr/lib/python2.4/site-packages/MoinMoin/PageEditor.py", line 848, in saveText
if not self.request.user.may.save(self, newtext, rev, **kw):
File "/usr/lib/python2.4/site-packages/MoinMoin/util/antispam.py", line 168, in save
invalidate_cache_necessary, blacklist_entries = getblacklist(request, pn, do_update)
File "/usr/lib/python2.4/site-packages/MoinMoin/util/antispam.py", line 112, in getblacklist
if isinstance(masterdate, datetime.datetime):
AttributeError: 'module' object has no attribute 'datetime'
Voller Traceback: http://www.ubuntuusers.de/paste/1094/
Deswegen speicher ich meine Änderung an [wiki]Colubrid/Cookie Handling[/wiki]mal hierhin:

Code: Alles auswählen

#pragma description Wie man Cookies in Colubrid verwendet

Wie man Cookies in Colubrid bearbeitet, steht auf der Doku-Seite: http://wsgiarea.pocoo.org/colubrid/documentation/response/#cookie-management

Dennoch ist hier ein kleines Beispiel wie es geht:

'''ColubridCookieTest.py'''
{{{#!python
#!/usr/bin/python
# -*- coding: UTF-8 -*-

from colubrid import BaseApplication
from colubrid import HttpResponse

from time import time

cookiePath = "test"

class Application(BaseApplication):

    def process_request(self):
        self.response = HttpResponse()

        pathInfo = self.request.environ.get('PATH_INFO', '')
        pathInfo = pathInfo.strip("/")

        if pathInfo.startswith("delete"):
            self.response.delete_cookie('timestamp')
            self.response.delete_cookie('counter')
            self.response.write('Cookies wurde gelöscht!')
            self.writeCookie()
            self.writeContinue()

        elif 'timestamp' in self.request.cookies:
            t = self.request.cookies['timestamp'].value
            self.response.write('<p>Dein Letzter Besuch war um %s.</p>' % t)
            self.cookieCounter()
            self.writeCookie()
            self.response.write('<p><a href="delete">delete cookie</a></p>')
            self.writeContinue()

        else:
            self.response.set_cookie(
                'timestamp', time(),
                path = cookiePath
            )
            self.response.write('<p>Das ist dein Erster Besuch.</p>')
            self.cookieCounter()
            self.writeCookie()
            self.writeContinue()

        return self.response

    def cookieCounter(self):
        """ Anzahl der Seitenabrufe """
        if 'counter' in self.request.cookies:
            count = self.request.cookies['counter'].value
            count = int(count)
            count += 1
        else:
            count = 1
        self.response.set_cookie(
            'counter', count,
            path = cookiePath
        )
        self.response.write(
            '<p>counter: %s</p>' % count
        )

    def writeContinue(self):
        """ 'weiter'-Link in die Seite einbauen """
        self.response.write(
            '<p><a href="%(url)s">continue: "%(url)s"</a></p>' % {
                "url": self.request.environ['SCRIPT_ROOT']
            }
        )

    def writeCookie(self):
        """ vorhandene Cookies anzeigen """
        self.response.write(
            "<fieldset><legend>cookies</legend>%s</fieldset>" % \
                                                self.request.cookies
        )


app = Application


if __name__ == '__main__':
    from colubrid.debug import DebuggedApplication
    # Funktionier nur, wenn der Dateiname stimmt!!!
    app = DebuggedApplication('ColubridCookieTest:app')

    from colubrid import execute
    execute(app, reload=True)
}}}

== testen mit Colubird's Test-Server ==
Zum testen, einfach den Lokalen Testserver starten, mit:
{{{
python ColubridCookieTest.py
}}}
Der läuft dann auf Port 8080. Also im Browser auf '''http://localhost:8080''' gehen...

[[Tags(colubrid,wsgi,web)]]

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ähm, wie wärs wenn du stattdessen blackbird im IRC direkt ansprichst?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten