<?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>4Geeks.de &#187; turbogears</title>
	<atom:link href="http://www.4geeks.de/blog/archives/tag/turbogears/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.4geeks.de/blog</link>
	<description>-.-</description>
	<lastBuildDate>Sun, 14 Mar 2010 21:00:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Using Pylons-Controller in Turbogears 2.0</title>
		<link>http://www.4geeks.de/blog/archives/2009/05/using-pylons-controller-in-turbogears-20/</link>
		<comments>http://www.4geeks.de/blog/archives/2009/05/using-pylons-controller-in-turbogears-20/#comments</comments>
		<pubDate>Sat, 16 May 2009 20:06:34 +0000</pubDate>
		<dc:creator>ebo</dc:creator>
				<category><![CDATA[Use The Source]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[turbogears]]></category>
		<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://www.4geeks.de/?p=204</guid>
		<description><![CDATA[If you want to enhance your TG2 app with some tech, like .. say a RPC-XML Interface, you can use the special Controller provided by Pylons: XMLRPCController. Unfortunately you can not just mount this controller as any other Turbogears Controller, because it does not support object dispatch.
Instead you have to use the Pylons function forward [...]]]></description>
			<content:encoded><![CDATA[<p>If you want to enhance your <a href="http://www.turbogears.org/">TG2</a> app with some tech, like .. say a RPC-XML Interface, you can use the special Controller provided by Pylons: <a href="http://wiki.pylonshq.com/display/pylonsdocs/Using+the+XMLRPCController">XMLRPCController</a>. Unfortunately you can not just mount this controller as any other Turbogears Controller, because it does not support object dispatch.<br />
Instead you have to use the Pylons function forward to dispatch requests to your controller.</p>
<pre>@expose()
def xmlrpc(self, *args, **kw):
    return forward(XMLRPCServiceController())</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.4geeks.de/blog/archives/2009/05/using-pylons-controller-in-turbogears-20/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sprox and TG2</title>
		<link>http://www.4geeks.de/blog/archives/2009/05/sprox-and-tg2/</link>
		<comments>http://www.4geeks.de/blog/archives/2009/05/sprox-and-tg2/#comments</comments>
		<pubDate>Sun, 10 May 2009 21:37:13 +0000</pubDate>
		<dc:creator>ebo</dc:creator>
				<category><![CDATA[Use The Source]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[turbogears]]></category>
		<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://www.4geeks.de/?p=201</guid>
		<description><![CDATA[While playing around with Sprox and TG2, I found a little bug for which a fix is commited to Sprox, but not yet released. I had to a bit until I found a nice and easy workaround. I just copied the changed code into a Mixin class, which can be patched into the declarative Sprox [...]]]></description>
			<content:encoded><![CDATA[<p>While playing around with <a href="http://sprox.org/">Sprox</a> and <a href="http://turbogears.org/">TG2</a>, I found a little bug for which a <a href="http://bitbucket.org/percious/sprox/changeset/71fd6a701377/">fix is commited</a> to Sprox, but not yet released. I had to a bit until I found a nice and easy workaround. I just copied the changed code into a Mixin class, which can be patched into the declarative Sprox classes.</p>
<pre>class ValidateMixin(object):
    def validate(self, params, state=None):
        """A pass-thru to the widget's validate function."""
        return self.__widget__.validate(params, state)</pre>
<p>It can be used with any Formbase class. Just inherit from ValidateMixin first:</p>
<pre>class PostEditForm(ValidateMixin, EditableForm):
    pass</pre>
<p>This works until a new version of Sprox is released and should continue to do so afterwards, even if it can be removed than.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.4geeks.de/blog/archives/2009/05/sprox-and-tg2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>repair.4geeks.de</title>
		<link>http://www.4geeks.de/blog/archives/2009/02/repair4geeksde/</link>
		<comments>http://www.4geeks.de/blog/archives/2009/02/repair4geeksde/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 22:26:42 +0000</pubDate>
		<dc:creator>ebo</dc:creator>
				<category><![CDATA[Use The Source]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[turbogears]]></category>
		<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://www.4geeks.de/?p=175</guid>
		<description><![CDATA[Endlich habe ich es geschafft mein neues &#8216;kleines&#8217; Projekt fertigzustellen:
repair.4geeks.de
Wie jeder der sich irgendwie mit Computern beschäftigt, habe auch ich meinen Ruf weg. Das hat zur Folge, dass ich genötigt werden Computer von Freunden und Bekannten zu reparieren. Irgendwann kam mir der Gedanke, meine Erlebnisse in wiederverwertbare Form zu gießen. Erste Versuche mit Pyke waren [...]]]></description>
			<content:encoded><![CDATA[<p>Endlich habe ich es geschafft mein neues &#8216;kleines&#8217; Projekt fertigzustellen:</p>
<p><a href="http://repair.4geeks.de">repair.4geeks.de</a></p>
<p>Wie jeder der sich irgendwie mit Computern beschäftigt, habe auch ich meinen Ruf weg. Das hat zur Folge, dass ich genötigt werden Computer von Freunden und Bekannten zu reparieren. Irgendwann kam mir der Gedanke, meine Erlebnisse in wiederverwertbare Form zu gießen. Erste Versuche mit <a href="http://pyke.sourceforge.net/">Pyke</a> waren zwar vielversprechend, leider war die Bibliothek nicht komplett kompatibel mit meinem Ansatz: Erstens kann man Regeln nur aus Dateien lesen und zweitens hatte ich Zweifel daran, dass ich einen Zustand ordentlich serialisieren kann wärend eine Frage beantwortet wird.</p>
<p>Kurzerhand habe ich mir meine eigene <a href="http://de.wikipedia.org/wiki/Inferenzmaschine">Inference  Engine</a> geschrieben. Dazu noch ein paar Regeln einfügen und fertig war <a href="http://repair.4geeks.de">RepairExpert</a>.</p>
<p>Ich hoffe, im Laufe der Zeit noch mehr Probleme und Lösungen einzufügen, aber leider muss das erstmal vor meiner Diplomarbeit zurückstehen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.4geeks.de/blog/archives/2009/02/repair4geeksde/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ToscaWidgets headache</title>
		<link>http://www.4geeks.de/blog/archives/2008/12/toscawidgets-headache/</link>
		<comments>http://www.4geeks.de/blog/archives/2008/12/toscawidgets-headache/#comments</comments>
		<pubDate>Sun, 14 Dec 2008 20:01:38 +0000</pubDate>
		<dc:creator>ebo</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Use The Source]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[turbogears]]></category>

		<guid isPermaLink="false">http://www.4geeks.de/?p=162</guid>
		<description><![CDATA[I just spent 2 hours to find a way to set the value of a tw HiddenField. Unfortunately the author did not think, it would be a good thing to mention such nonrelevant tasks in the documentation.
To save you searching for yourself:
options = {'form_name' : {'attrs' : {'value':'your_value'}}}
Later in the template to show your form:
${tmpl_context.form(child_args=options)}
]]></description>
			<content:encoded><![CDATA[<p>I just spent 2 hours to find a way to set the value of a tw HiddenField. Unfortunately the author did not think, it would be a good thing to mention such nonrelevant tasks in the documentation.</p>
<p>To save you searching for yourself:</p>
<pre style="padding-left: 30px;">options = {'form_name' : {'attrs' : {'value':'your_value'}}}</pre>
<p>Later in the template to show your form:</p>
<pre style="padding-left: 30px;">${tmpl_context.form(child_args=options)}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.4geeks.de/blog/archives/2008/12/toscawidgets-headache/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
