ein HTTP server der nur statische dateien besitzt koennte informationen darueber enthalten wie etwas upgedatet wird und ein client tut das dan per ftp
hier ein pseude beispiel:
Code: Alles auswählen
import re
db = '''
===
[title]
warum die banane krumm ist
[text]
weil niemand in dem urwald zug und sie wieder gerade bog
===
[title]in der schulle nichts neues[text]schon seit 40 jahren tun lehtr fdws bla bla bla blog blog bla....
'''
tmpl = """\
<p class="foobar">
title: %(title)s <br/>
text: %(text)s
</p>"""
html = """
<html>
<h3>willkommen auf meinem blog</h3>
<!--begin CRUDbyFTP-->
das wird beim update ueberschreiben
<!--end CRUDbyFTP-->
kein impressum
"""
def update(html, tmpl, db):
try:
return "%s%s%s" % (
html[:html.index('<!--begin CRUDbyFTP-->')+22],
'\n<!--this is betwen two entries-->\n'.join([tmpl % dict(re.findall('\[([^\[\]]+)\]([^[]+)', row)) for row in ('\n' + db + '\n').split('\n===\n') if row.strip('\n')]),
html[html.index('<!--end CRUDbyFTP-->'):])
except:
return '?' # hhaaaaahaaaa
print update(html, tmpl, db)
wenn der bloger also ein neuem eintrag schreiben will, muss er nur `db` aendern und wenn er alle seine blogs auf einmal aendern will aendert er seine `templ`
der eingefuegte script gibt folgenden output:
Code: Alles auswählen
<html>
<h3>willkommen auf meinem blog</h3>
<!--begin CRUDbyFTP--><p class="foobar">
title:
warum die banane krumm ist
<br/>
text:
weil niemand in dem urwald zug und sie wieder gerade bog
</p>
<!--this is betwen two entries-->
<p class="foobar">
title: in der schulle nichts neues <br/>
text: schon seit 40 jahren tun lehtr fdws bla bla bla blog blog bla....
</p><!--end CRUDbyFTP-->
kein impressum
leider hab ich aber keine zeit das weiterzuschreiben.
langfristig koennte man aber sogar eine GUI zur bearbeitung von `db` basteln
cu