Seite 1 von 1

CRUDbyFTP

Verfasst: Samstag 27. Oktober 2007, 14:36
von Costi
haubsachtlich fuer blogs, die nur so 3 mal am tag upgedated werden ist sql + cgi mehr als overkill.

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)
die eintraege aus der `db` werden jeweils in der `templ` eingetragen und schlieslich in der seite eingefuegt.

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

Re: CRUDbyFTP

Verfasst: Samstag 27. Oktober 2007, 14:50
von Leonidas
Costi hat geschrieben:langfristig koennte man aber sogar eine GUI zur bearbeitung von `db` basteln
Richtig. Langfristig könnte man alle Features die Firedrop2 schon jetzt hat nochmal nachprogrammieren. Nur wozu?

Verfasst: Samstag 27. Oktober 2007, 14:57
von Costi
gibts den ueberhaubt irgendwas was noch nicht programmiert wurde!?

Verfasst: Samstag 27. Oktober 2007, 15:07
von Leonidas
Costi hat geschrieben:gibts den ueberhaubt irgendwas was noch nicht programmiert wurde!?
Lerne Scheme.. dort ist noch vieles nicht implementiert.

Verfasst: Samstag 27. Oktober 2007, 15:23
von Costi
ja, scheme und lisp sind echt nett

ich hab auch schon 2 lisp buecher hinter mir.
ich bin aber irgendwie von pythons standard lib zu sehr verwoehnt worden.
es gibt wohl fuer scheme/lisp nichts vergleichbares

edit:
und alle webpages, wo das wort scheme oder lisp vorkommt sind vom letzten jarhundert....

Verfasst: Samstag 27. Oktober 2007, 16:03
von Leonidas
Ja, ein wirklich "modernes" Buch gibt es nur zu Common Lisp, "Practical Common Lisp", welches auch online verfügbar ist.

Zu Scheme gibt es leider nicht so viel Literatur - aber du kannst man an deiner örtlichen Universitätsbibliothek schauen, die haben manchmal so etwas rumliegen.

Verfasst: Sonntag 28. Oktober 2007, 16:28
von fred.reichbier
Interessehalber, was gibt es denn außer Firedrop und Globby noch für HTML-Generatoren? Kennt da jemand noch welche?

Gruß Fred