<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
	>
<channel>
	<title>Comments on: Gaebar Beta 3 (version 0.3) released</title>
	<atom:link href="http://aralbalkan.com/1907/feed" rel="self" type="application/rss+xml" />
	<link>http://aralbalkan.com/1907</link>
	<description>Passionate geekisms.</description>
	<lastBuildDate>Tue, 22 May 2012 18:33:10 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Oyunlar</title>
		<link>http://aralbalkan.com/1907/comment-page-1#comment-259467</link>
		<dc:creator>Oyunlar</dc:creator>
		<pubDate>Sat, 20 Feb 2010 15:21:02 +0000</pubDate>
		<guid isPermaLink="false">http://aralbalkan.com/1907#comment-259467</guid>
		<description>Well the company is in Brighton, need I say more ;-)</description>
		<content:encoded><![CDATA[<p>Well the company is in Brighton, need I say more ;-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Guria</title>
		<link>http://aralbalkan.com/1907/comment-page-1#comment-240547</link>
		<dc:creator>Guria</dc:creator>
		<pubDate>Sun, 05 Apr 2009 13:00:44 +0000</pubDate>
		<guid isPermaLink="false">http://aralbalkan.com/1907#comment-240547</guid>
		<description>Hi, first of all, thaks for great app.
In your GitHub projects, such as gaebar-gaed and gaebar-aep you use submodule feature of git to include gaebar and unit tests. You use your personal GitHub urls like git@github.com:aral/gaebar.git, but you should use the public ones, e.g. git://github.com/aral/gaebar.git. For you, of course, works both methods, but for others &#039;git submodule init &amp;&amp; git submodule update&#039; process fails because thats needs authentication on GitHub with your account.</description>
		<content:encoded><![CDATA[<p>Hi, first of all, thaks for great app.<br />
In your GitHub projects, such as gaebar-gaed and gaebar-aep you use submodule feature of git to include gaebar and unit tests. You use your personal GitHub urls like <a href="mailto:git@github.com">git@github.com</a>:aral/gaebar.git, but you should use the public ones, e.g. git://github.com/aral/gaebar.git. For you, of course, works both methods, but for others &#8216;git submodule init &amp;&amp; git submodule update&#8217; process fails because thats needs authentication on GitHub with your account.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris</title>
		<link>http://aralbalkan.com/1907/comment-page-1#comment-237216</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Sun, 29 Mar 2009 22:44:49 +0000</pubDate>
		<guid isPermaLink="false">http://aralbalkan.com/1907#comment-237216</guid>
		<description>And yes, I did apply Vasiljev&#039;s patch. Unfortunately, it doesn&#039;t appear to work.</description>
		<content:encoded><![CDATA[<p>And yes, I did apply Vasiljev&#8217;s patch. Unfortunately, it doesn&#8217;t appear to work.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris</title>
		<link>http://aralbalkan.com/1907/comment-page-1#comment-237212</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Sun, 29 Mar 2009 22:34:12 +0000</pubDate>
		<guid isPermaLink="false">http://aralbalkan.com/1907#comment-237212</guid>
		<description>Gaebar isn&#039;t working for me. When I try and restore a backup, I get the error:

    existing_entity = main_user.get(datastore_types.Key.from_path(&#039;main_user&#039;, 13094L, _app=app_name))
NameError: global name &#039;main_user&#039; is not defined</description>
		<content:encoded><![CDATA[<p>Gaebar isn&#8217;t working for me. When I try and restore a backup, I get the error:</p>
<p>    existing_entity = main_user.get(datastore_types.Key.from_path(&#8216;main_user&#8217;, 13094L, _app=app_name))<br />
NameError: global name &#8216;main_user&#8217; is not defined</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alexander Vasiljev</title>
		<link>http://aralbalkan.com/1907/comment-page-1#comment-236550</link>
		<dc:creator>Alexander Vasiljev</dc:creator>
		<pubDate>Sat, 28 Mar 2009 11:48:42 +0000</pubDate>
		<guid isPermaLink="false">http://aralbalkan.com/1907#comment-236550</guid>
		<description>Believe it or not, I made PolyModel works in gaebar. Details here:
http://groups.google.com/group/app-engine-patch/browse_thread/thread/441ad1a7a47cf59b/f0007e42a53924a9#f0007e42a53924a9</description>
		<content:encoded><![CDATA[<p>Believe it or not, I made PolyModel works in gaebar. Details here:<br />
<a href="http://groups.google.com/group/app-engine-patch/browse_thread/thread/441ad1a7a47cf59b/f0007e42a53924a9#f0007e42a53924a9" rel="nofollow">http://groups.google.com/group/app-engine-patch/browse_thread/thread/441ad1a7a47cf59b/f0007e42a53924a9#f0007e42a53924a9</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alexander Vasiljev</title>
		<link>http://aralbalkan.com/1907/comment-page-1#comment-235669</link>
		<dc:creator>Alexander Vasiljev</dc:creator>
		<pubDate>Thu, 26 Mar 2009 13:40:04 +0000</pubDate>
		<guid isPermaLink="false">http://aralbalkan.com/1907#comment-235669</guid>
		<description>Hello,  John.

The following quick and dirty hack makes gaebar work with aep 1 (DJANGO_STYLE_MODEL_KIND = True):

First, consider you have
yourapp.models.YourModel
then insert yourapp_YourModel entry into settings.GAEBAR_MODELS

After that, patch gaebar/views.py:


--- gaebar/views.py	2009-03-26 19:19:00.000000000 +0600
+++ ../local/gaebar/views.py	2009-03-26 18:41:52.000000000 +0600
@@ -448,7 +448,7 @@
 	for model_name in kind_map:
 		model_classes.append(kind_map[model_name])
 		
-	Model = kind_map[current_model]
+	Model = kind_map[current_model.lower()]
 		
 	fields = Model.fields()
 	
@@ -548,7 +548,7 @@
 				
 		# Generate code: Check if entity already exists and delete it if it
 		# does, by bypassing standard delete logic, because it may be overridden.
-		code += u&#039;\texisting_entity = %s.get(%s)\n&#039; % (current_model, key_repr)
+		code += u&#039;\texisting_entity = %s.get(%s)\n&#039; % (current_model.split(u&#039;_&#039;)[1], key_repr)
 		code += u&#039;\tif existing_entity:\n&#039;
 		#code += u&#039;\t\texisting_entity.delete()\n&#039;
 		code += u&#039;\t\t_delete(existing_entity)\n&#039;
@@ -693,7 +693,7 @@
 
 		# OK, all properties are ready, write out the row&#039;s constructor to create the row.
 		# code += u&#039;\t%s = %s(key_name=%s%s%s%s)\n&#039; % (row_name, current_model, key_name.__repr__(), properties_code, reference_fields_code, parent_code)
-		code += u&#039;\t%s = %s(key_name=u&quot;%s&quot;%s%s%s)\n&#039; % (row_name, current_model, key_name, properties_code, reference_fields_code, parent_code)
+		code += u&#039;\t%s = %s(key_name=u&quot;%s&quot;%s%s%s)\n&#039; % (row_name, current_model.split(u&#039;_&#039;)[1], key_name, properties_code, reference_fields_code, parent_code)
 
 		# Does this row belong to an Expando model? (It&#039;s OK to put Expoando properties after the 
 		# constructor as they cannot be required.)


Yes, there should be
if settings.DJANGO_STYLE_MODEL_KIND... 
around and such, but I am too lazy for that</description>
		<content:encoded><![CDATA[<p>Hello,  John.</p>
<p>The following quick and dirty hack makes gaebar work with aep 1 (DJANGO_STYLE_MODEL_KIND = True):</p>
<p>First, consider you have<br />
yourapp.models.YourModel<br />
then insert yourapp_YourModel entry into settings.GAEBAR_MODELS</p>
<p>After that, patch gaebar/views.py:</p>
<p>&#8212; gaebar/views.py	2009-03-26 19:19:00.000000000 +0600<br />
+++ ../local/gaebar/views.py	2009-03-26 18:41:52.000000000 +0600<br />
@@ -448,7 +448,7 @@<br />
 	for model_name in kind_map:<br />
 		model_classes.append(kind_map[model_name])</p>
<p>-	Model = kind_map[current_model]<br />
+	Model = kind_map[current_model.lower()]</p>
<p> 	fields = Model.fields()</p>
<p>@@ -548,7 +548,7 @@</p>
<p> 		# Generate code: Check if entity already exists and delete it if it<br />
 		# does, by bypassing standard delete logic, because it may be overridden.<br />
-		code += u&#8217;\texisting_entity = %s.get(%s)\n&#8217; % (current_model, key_repr)<br />
+		code += u&#8217;\texisting_entity = %s.get(%s)\n&#8217; % (current_model.split(u&#8217;_')[1], key_repr)<br />
 		code += u&#8217;\tif existing_entity:\n&#8217;<br />
 		#code += u&#8217;\t\texisting_entity.delete()\n&#8217;<br />
 		code += u&#8217;\t\t_delete(existing_entity)\n&#8217;<br />
@@ -693,7 +693,7 @@</p>
<p> 		# OK, all properties are ready, write out the row&#8217;s constructor to create the row.<br />
 		# code += u&#8217;\t%s = %s(key_name=%s%s%s%s)\n&#8217; % (row_name, current_model, key_name.__repr__(), properties_code, reference_fields_code, parent_code)<br />
-		code += u&#8217;\t%s = %s(key_name=u&#8221;%s&#8221;%s%s%s)\n&#8217; % (row_name, current_model, key_name, properties_code, reference_fields_code, parent_code)<br />
+		code += u&#8217;\t%s = %s(key_name=u&#8221;%s&#8221;%s%s%s)\n&#8217; % (row_name, current_model.split(u&#8217;_')[1], key_name, properties_code, reference_fields_code, parent_code)</p>
<p> 		# Does this row belong to an Expando model? (It&#8217;s OK to put Expoando properties after the<br />
 		# constructor as they cannot be required.)</p>
<p>Yes, there should be<br />
if settings.DJANGO_STYLE_MODEL_KIND&#8230;<br />
around and such, but I am too lazy for that</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tony Andrews</title>
		<link>http://aralbalkan.com/1907/comment-page-1#comment-222950</link>
		<dc:creator>Tony Andrews</dc:creator>
		<pubDate>Mon, 23 Feb 2009 18:48:28 +0000</pubDate>
		<guid isPermaLink="false">http://aralbalkan.com/1907#comment-222950</guid>
		<description>I noticed recently that parent/child relationships aren&#039;t being restored properly. Is that a known issue?

Thanks,
Tony</description>
		<content:encoded><![CDATA[<p>I noticed recently that parent/child relationships aren&#8217;t being restored properly. Is that a known issue?</p>
<p>Thanks,<br />
Tony</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John</title>
		<link>http://aralbalkan.com/1907/comment-page-1#comment-212841</link>
		<dc:creator>John</dc:creator>
		<pubDate>Wed, 04 Feb 2009 02:46:21 +0000</pubDate>
		<guid isPermaLink="false">http://aralbalkan.com/1907#comment-212841</guid>
		<description>Hi Aral,

Thanks for your great work.  I couldn&#039;t imagine deploying a GAE app without Gaebar.

While building a site using app-engine-patch from the repository and having difficulty configuring backups, I discovered the following in the aep docs:

&quot;&quot;&quot;
Starting with app-engine-patch 1.0 the model kind() gets prefixed with the app label of the app which defines that model. For example, if you have myapp.models.MyModel the datastore will store entities with the following entity name: myapp_MyModel. This is needed to prevent conflicts when multiple apps define models with the same name. Note that Django uses this naming scheme, too, when creating SQL tables. If necessary, you can disable that feature in your settings.py:

DJANGO_STYLE_MODEL_KIND = False
&quot;&quot;&quot;

How involved would it be to have Gaebar honor the DJANGO_STYLE_MODEL_KIND setting?

Thanks!
-John</description>
		<content:encoded><![CDATA[<p>Hi Aral,</p>
<p>Thanks for your great work.  I couldn&#8217;t imagine deploying a GAE app without Gaebar.</p>
<p>While building a site using app-engine-patch from the repository and having difficulty configuring backups, I discovered the following in the aep docs:</p>
<p>&#8220;&#8221;"<br />
Starting with app-engine-patch 1.0 the model kind() gets prefixed with the app label of the app which defines that model. For example, if you have myapp.models.MyModel the datastore will store entities with the following entity name: myapp_MyModel. This is needed to prevent conflicts when multiple apps define models with the same name. Note that Django uses this naming scheme, too, when creating SQL tables. If necessary, you can disable that feature in your settings.py:</p>
<p>DJANGO_STYLE_MODEL_KIND = False<br />
&#8220;&#8221;"</p>
<p>How involved would it be to have Gaebar honor the DJANGO_STYLE_MODEL_KIND setting?</p>
<p>Thanks!<br />
-John</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thomas Bohmbach, Jr.</title>
		<link>http://aralbalkan.com/1907/comment-page-1#comment-208960</link>
		<dc:creator>Thomas Bohmbach, Jr.</dc:creator>
		<pubDate>Mon, 26 Jan 2009 20:32:29 +0000</pubDate>
		<guid isPermaLink="false">http://aralbalkan.com/1907#comment-208960</guid>
		<description>Hi Aral.  Grats on 0.3, unfortunately I have to re-report a bug that my patch fixed but was commented out by Rafal Jonca&#039;s patch.  Specifically, if you have a key_name that ends in an odd number of &#039;\&#039; characters, the code shard created by Gaebar that creates that entity will be invalid (have a non-terminated string).  

(If you&#039;re interested, the reason we have such key_names is due to some automated security audits that were run against our site.)

My solution to this was to use __repr__() on the key_name just like you do for class parameters.  This solved not only the non-terminated string case, but also solved (for us anyway) the unicode key_name problem, all without having to change the character encoding of the code shard to utf-8 (which, it seems to me, won&#039;t work if your key_names contain non-utf8 data).

The line in question is in views.py.  My patch is the commented out line #695, and Rafal&#039;s line is #696.

It is my belief that Rafal&#039;s unicode key_name fix is unnecessary if we use __repr__() on the key_name, plus it addresses at the same time the non-terminated string bug.

Thoughts?</description>
		<content:encoded><![CDATA[<p>Hi Aral.  Grats on 0.3, unfortunately I have to re-report a bug that my patch fixed but was commented out by Rafal Jonca&#8217;s patch.  Specifically, if you have a key_name that ends in an odd number of &#8216;\&#8217; characters, the code shard created by Gaebar that creates that entity will be invalid (have a non-terminated string).  </p>
<p>(If you&#8217;re interested, the reason we have such key_names is due to some automated security audits that were run against our site.)</p>
<p>My solution to this was to use __repr__() on the key_name just like you do for class parameters.  This solved not only the non-terminated string case, but also solved (for us anyway) the unicode key_name problem, all without having to change the character encoding of the code shard to utf-8 (which, it seems to me, won&#8217;t work if your key_names contain non-utf8 data).</p>
<p>The line in question is in views.py.  My patch is the commented out line #695, and Rafal&#8217;s line is #696.</p>
<p>It is my belief that Rafal&#8217;s unicode key_name fix is unnecessary if we use __repr__() on the key_name, plus it addresses at the same time the non-terminated string bug.</p>
<p>Thoughts?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ara Pehlivanian</title>
		<link>http://aralbalkan.com/1907/comment-page-1#comment-207360</link>
		<dc:creator>Ara Pehlivanian</dc:creator>
		<pubDate>Thu, 22 Jan 2009 01:30:48 +0000</pubDate>
		<guid isPermaLink="false">http://aralbalkan.com/1907#comment-207360</guid>
		<description>Hehehehe, Patrick, you beat me to it! :-)</description>
		<content:encoded><![CDATA[<p>Hehehehe, Patrick, you beat me to it! :-)</p>
]]></content:encoded>
	</item>
</channel>
</rss>

