<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>suelz0mat.de &#187; ClientForm</title>
	<atom:link href="http://suelzomat.de/tag/clientform/feed/" rel="self" type="application/rss+xml" />
	<link>http://suelzomat.de</link>
	<description>labern was das zeug hält, hauptsache der mund bewegt sich</description>
	<lastBuildDate>Mon, 19 Jul 2010 15:54:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>ClientForm mit HTML betanken</title>
		<link>http://suelzomat.de/2010/03/clientform-mit-html-betanken/</link>
		<comments>http://suelzomat.de/2010/03/clientform-mit-html-betanken/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 15:35:58 +0000</pubDate>
		<dc:creator>Butters</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[ClientForm]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Tipp]]></category>

		<guid isPermaLink="false">http://suelzomat.de/?p=82</guid>
		<description><![CDATA[Ich benötigte Informationen aus einem Formular einer Website. Dazu kann man wunderbar ClientForm verwenden. Doch ClientForm will entweder eine Datei oder den Response der urllib2. Doch ich hatte schon den Inhalt der Seite. Und da ich keinen weiteren Response erzeugen wollte habe ich mir einfach mit der Klasse TemporaryFile aus dem Modul tempfile geholfen:

12345678910111213141516from ClientForm [...]]]></description>
			<content:encoded><![CDATA[<p>Ich benötigte Informationen aus einem Formular einer Website. Dazu kann man wunderbar <a title="ClientForm" href="http://wwwsearch.sourceforge.net/ClientForm/" target="_blank">ClientForm</a> verwenden. Doch ClientForm will entweder eine Datei oder den Response der <a title="urllib2" href="http://docs.python.org/library/urllib2.html" target="_blank">urllib2</a>. Doch ich hatte schon den Inhalt der Seite. Und da ich keinen weiteren Response erzeugen wollte habe ich mir einfach mit der Klasse TemporaryFile aus dem Modul <a title="tempfile" href="http://docs.python.org/library/tempfile.html" target="_blank">tempfile</a> geholfen:</p>

<div class="codecolorer-container python default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br /></div></td><td><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #ff7700;font-weight:bold;">from</span> ClientForm <span style="color: #ff7700;font-weight:bold;">import</span> ParseFile<br />
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">tempfile</span><br />
<br />
<span style="color: #808080; font-style: italic;"># ...</span><br />
<span style="color: #808080; font-style: italic;"># der ganze response/request-spass ist schon passiert</span><br />
<span style="color: #808080; font-style: italic;"># die variable html existiert, ist ein string und enthält die ganze website</span><br />
<br />
<br />
f = <span style="color: #dc143c;">tempfile</span>.<span style="color: black;">TemporaryFile</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
f.<span style="color: black;">write</span><span style="color: black;">&#40;</span>html<span style="color: black;">&#41;</span><br />
<span style="color: #808080; font-style: italic;"># wichtig... zum den zeiger im tempfile wieder auf 0 setzten, sonst kann clientform das nicht</span><br />
<span style="color: #808080; font-style: italic;"># korrekt parsen</span><br />
f.<span style="color: black;">seek</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#41;</span><br />
forms = &nbsp;ParseFile<span style="color: black;">&#40;</span>f, <span style="color: #483d8b;">''</span><span style="color: black;">&#41;</span><br />
<span style="color: #ff7700;font-weight:bold;">print</span> forms<br />
f.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></div></td></tr></tbody></table></div>

<p>Das angenehme an TemporaryFile, wenn der Zugriff mittels close() beendet wird, wird auch die Datei dahinter gelöscht. Man muss also nicht mal mehr den Müll rausbringen <img src='http://suelzomat.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://suelzomat.de/2010/03/clientform-mit-html-betanken/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
