Hi Kumar,<br>    Ouch My fail. Please ignore the previous mail. I understand my<br>mistake now. Really really sorry for wasting your time. I was not<br>subclassing DataSet class.<br><br><div class="gmail_quote">On Thu, Nov 19, 2009 at 1:34 AM, Madhusudan C.S <span dir="ltr">&lt;<a href="mailto:madhusudancs@gmail.com">madhusudancs@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi Kumar,<br>    Thank you again for the response. <br><br><div class="gmail_quote"><div class="im">

On Thu, Nov 19, 2009 at 12:18 AM, Kumar McMillan <span dir="ltr">&lt;<a href="mailto:kumar.mcmillan@gmail.com" target="_blank">kumar.mcmillan@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div>On Wed, Nov 18, 2009 at 12:34 PM, Madhusudan C.S &lt;<a href="mailto:madhusudancs@gmail.com" target="_blank">madhusudancs@gmail.com</a>&gt; wrote:<br>



&gt; The data models for our app doesn&#39;t reside in a single Python module, but<br>
&gt; spread across several Python modules in the package called models.<br>
&gt;<br>
&gt; Can you please tell me what should I do in this case? How should my<br>
&gt;<br>
&gt; datafixture = GoogleDatastoreFixture(env=models, style=NamedDataStyle())  #<br>
&gt; Note models is a package containing models in each file, for example user<br>
&gt; model is in the module user.py.<br>
&gt; self.data = datafixture.data(datasets.UserData)<br>
<br>
</div>ok, I see.  The env keyword can be a dictionary.  So you can type out<br>
every model class, like:<br>
<br>
env={&#39;User&#39;: models.User, &#39;Other&#39;: other_models.Other, ...}<br>
<br>
but if that&#39;s not feasible then you&#39;ll have to make a proxy that acts<br>
like a dictionary.  Something like this should work:<br>
<br>
class MultiModuleEnv(object):<br>
<br>
    def __init__(self, modules):<br>
        self.modules = modules<br>
<br>
    def __getitem__(self, name):<br>
        for m in self.modules:<br>
            if hasattr(m, name):<br>
                return getattr(m, name)<br>
        raise KeyError(&quot;%s not found in %r&quot; % (name, self.modules))<br>
<br>
datafixture = GoogleDatastoreFixture(env=MultiModuleEnv([models,<br>
other_models, more_models]), ...)<br></blockquote></div><div><br>I have exactly the same <br>
thing I get the error, <br>
<br>
======================================================================<br>
ERROR: testCreateRedirect (tests.app.soc.modules.ghop.views.models.test_task.TaskTest)<br>
----------------------------------------------------------------------<div class="im"><br>
Traceback (most recent call last):<br></div>
  File
&quot;/media/python/workspace/melange-ghop-integration/tests/app/soc/modules/ghop/views/models/test_task.py&quot;,
line 146, in setUp<br>
    self.data.setup()<br>
  File &quot;/media/python/workspace/melange-ghop-integration/eggs/fixture-1.3.1-py2.5.egg/fixture/base.py&quot;, line 70, in setup<br>
    for ds in iter(self.datasets)])<br>
AttributeError: class HostData has no attribute &#39;shared_instance&#39;<br>
<br>I am pasting my test class&#39;s setUp method here:<br><br>def setUp(self):<br>    &quot;&quot;&quot;Set up required for the view tests.<br>    &quot;&quot;&quot;<br><br>    self.view = TestView()<br>    self.stubout = stubout.StubOutForTesting()<br>


    self.stubout.Set(responses, &#39;respond&#39;, respond_raw)<br>    self.stubout.Set(responses, &#39;errorResponse&#39;, error_raw)<br><br>    # using fixtures to setup data<br>    models_dict = {<br>        &#39;UserData&#39;: models.user.User,<br>


        &#39;SiteData&#39;: models.site.Site,<br>        &#39;SponsorData&#39;: models.sponsor.Sponsor,<br>        &#39;HostData&#39;: models.host.Host,<br>        &#39;TimelineData&#39;: models.timeline.Timeline,<br>        &#39;ProgramData&#39;: models.program.Program,<br>


        &#39;OrgData&#39;: models.organization.Organization,<br>        &#39;OrgAdminData&#39;: models.org_admin.OrgAdmin,<br>        &#39;MentorData&#39;: models.mentor.Mentor,<br>        &#39;StudentData&#39;: models.student.Student,<br>


        }<br><br>    datafixture = GoogleDatastoreFixture(env=models_dict,<br>                                         style=NamedDataStyle())<br><br>    self.data = datafixture.data(datasets.UserData, datasets.SiteData,<br>


                                 datasets.SponsorData, datasets.HostData,<br>                                 datasets.TimelineData, datasets.ProgramData,<br>                                 datasets.OrgData, datasets.OrgAdminData,<br>


                                 datasets.MentorData, datasets.MentorData)<br>    self.data.setup()<br><br>And my datasets file:<br><br>__all__ = [&#39;UserData&#39;, &#39;SiteData&#39;, &#39;SponsorData&#39;, &#39;HostData&#39;, &#39;MentorData&#39;, &#39;OrgData&#39;, &#39;OrgAdminData&#39;,<br>


           &#39;ProgramData&#39;, &#39;StudentData&#39;, &#39;TimelineData&#39;]<br><br><br>class UserData(DataSet):<br>  class site_admin:<br>    key_name = &#39;site_admin&#39;<br>    link_id = &#39;site_admin&#39;<br>

    account = users.User(email=&#39;<a href="mailto:site_admin@example.com" target="_blank">site_admin@example.com</a>&#39;)<br>
    name = &#39;Site Admin&#39;<br><br>  class melange_admin:<br>    key_name = &#39;melange_admin&#39;<br>    link_id = &#39;melange_admin&#39;<br>    account = users.User(email=&#39;<a href="mailto:melange_admin@example.com" target="_blank">melange_admin@example.com</a>&#39;)<br>


    name = &#39;Melange Admin&#39;<br><br>  class melange_mentor:<br>    key_name = &#39;melange_mentor&#39;<br>    link_id = &#39;melange_mentor&#39;<br>    account = users.User(email=&#39;<a href="mailto:melange_mentor@example.com" target="_blank">melange_mentor@example.com</a>&#39;)<br>


    name = &#39;Melange Mentor&#39;<br><br>  class melange_student_0001:<br>    key_name = &#39;melange_student_0001&#39;<br>    link_id = &#39;melange_student_0001&#39;<br>    account = users.User(email=&#39;<a href="mailto:melange_student_0001@example.com" target="_blank">melange_student_0001@example.com</a>&#39;)<br>


    name = &#39;Melange Student 0001&#39;<br><br>  class melange_student_0002:<br>    key_name = &#39;melange_student_0002&#39;<br>    link_id = &#39;melange_student_0002&#39;<br>    account = users.User(email=&#39;<a href="mailto:melange_student_0002@example.com" target="_blank">melange_student_0002@example.com</a>&#39;)<br>


    name = &#39;Melange Student 0002&#39;<br><br><br>class SiteData(DataSet):<br>  class site:<br>    key_name = &#39;site&#39;<br>    link_id = &#39;site&#39;<br><br><br>class SponsorData(DataSet):<br>  class google:<br>


    key_name = &#39;google&#39;<br>    link_id = &#39;google&#39;<br>    name = &#39;Google Inc.&#39;<br>    short_name = &#39;Google&#39;<br>    founder = UserData.site_admin<br>    home_page = &#39;<a href="http://www.google.com" target="_blank">http://www.google.com</a>&#39;<br>


    email = &#39;<a href="mailto:ospo@google.com" target="_blank">ospo@google.com</a>&#39;<br>    description = &#39;This is the profile for Google.&#39;<br>    contact_street = &#39;Some Street&#39;<br>    contact_city = &#39;Some City&#39;<br>


    contact_country = &#39;United States&#39;<br>    contact_postalcode = &#39;12345&#39;<br>    phone = &#39;1-555-BANANA&#39;<br>    status = &#39;active&#39;<br><br><br>class HostData:<br>  class google:<br>    key_name = &#39;google/test&#39;<br>


    link_id = &#39;test&#39;<br>    scope = SponsorData.google<br>    scope_path = &#39;google&#39;<br>    user = UserData.site_admin<br>    given_name = &#39;Test&#39;<br>    surname = &#39;Example&#39;<br>    name_on_documents = &#39;Test Example&#39;<br>


    email = &#39;<a href="mailto:test@example.com" target="_blank">test@example.com</a>&#39;<br>    res_street = &#39;Some Street&#39;<br>    res_city = &#39;Some City&#39;<br>    res_state = &#39;Some State&#39;<br>    res_country = &#39;United States&#39;<br>


    res_postalcode = &#39;12345&#39;<br>    phone = &#39;1-555-BANANA&#39;<br>    birth_date = db.DateProperty.now()<br>    agreed_to_tos = True<br><br>... and it continous. I guess, this happening because of the <br>ReferenceProperty there. But I am not able to find out why<br>


this error is happening and how it must be fixed. Can you <br>please help me?<br></div><div><div></div><div class="h5"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


<div><div></div><div><br>
&gt;<br>
&gt; be rewritten. Please help me.<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Traceback (most recent call last):<br>
&gt;&gt; &gt;   File<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; &quot;/media/python/workspace/melange-ghop-integration/tests/app/soc/modules/ghop/views/models/test_task.py&quot;,<br>
&gt;&gt; &gt; line 130, in setUp<br>
&gt;&gt; &gt;     self.data.setup()<br>
&gt;&gt; &gt;   File<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; &quot;/media/python/workspace/melange-ghop-integration/eggs/fixture-1.3.1-py2.5.egg/fixture/base.py&quot;,<br>
&gt;&gt; &gt; line 71, in setup<br>
&gt;&gt; &gt;     self.loader.load(self.data)<br>
&gt;&gt; &gt;   File<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; &quot;/media/python/workspace/melange-ghop-integration/eggs/fixture-1.3.1-py2.5.egg/fixture/loadable/loadable.py&quot;,<br>
&gt;&gt; &gt; line 193, in load<br>
&gt;&gt; &gt;     self.wrap_in_transaction(loader, unloading=False)<br>
&gt;&gt; &gt;   File<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; &quot;/media/python/workspace/melange-ghop-integration/eggs/fixture-1.3.1-py2.5.egg/fixture/loadable/loadable.py&quot;,<br>
&gt;&gt; &gt; line 310, in wrap_in_transaction<br>
&gt;&gt; &gt;     routine()<br>
&gt;&gt; &gt;   File<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; &quot;/media/python/workspace/melange-ghop-integration/eggs/fixture-1.3.1-py2.5.egg/fixture/loadable/loadable.py&quot;,<br>
&gt;&gt; &gt; line 192, in loader<br>
&gt;&gt; &gt;     self.load_dataset(ds)<br>
&gt;&gt; &gt;   File<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; &quot;/media/python/workspace/melange-ghop-integration/eggs/fixture-1.3.1-py2.5.egg/fixture/loadable/loadable.py&quot;,<br>
&gt;&gt; &gt; line 217, in load_dataset<br>
&gt;&gt; &gt;     self.attach_storage_medium(ds)<br>
&gt;&gt; &gt;   File<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; &quot;/media/python/workspace/melange-ghop-integration/eggs/fixture-1.3.1-py2.5.egg/fixture/loadable/loadable.py&quot;,<br>
&gt;&gt; &gt; line 375, in attach_storage_medium<br>
&gt;&gt; &gt;     self.Medium, ds.meta.storable_name, ds, repr_env))<br>
&gt;&gt; &gt; StorageMediaNotFound: could not find &lt;class<br>
&gt;&gt; &gt; &#39;fixture.loadable.google_datastore_loadable.EntityMedium&#39;&gt; &#39;User&#39; for<br>
&gt;&gt; &gt; dataset &lt;UserData at 0xa84decc with keys [&#39;user_0001&#39;]&gt; in self.env<br>
&gt;&gt; &gt; (&lt;type<br>
&gt;&gt; &gt; &#39;module&#39;&gt;)<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Can some one please tell me why I get this error and what I should to do<br>
&gt;&gt; &gt; to<br>
&gt;&gt; &gt; fix this?<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; --<br>
&gt;&gt; &gt; Thanks and regards,<br>
&gt;&gt; &gt;  Madhusudan.C.S<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Blogs at: <a href="http://www.madhusudancs.info" target="_blank">www.madhusudancs.info</a><br>
&gt;&gt; &gt; My Online Identity: madhusudancs<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; _______________________________________________<br>
&gt;&gt; &gt; testing-in-python mailing list<br>
&gt;&gt; &gt; <a href="mailto:testing-in-python@lists.idyll.org" target="_blank">testing-in-python@lists.idyll.org</a><br>
&gt;&gt; &gt; <a href="http://lists.idyll.org/listinfo/testing-in-python" target="_blank">http://lists.idyll.org/listinfo/testing-in-python</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Thanks and regards,<br>
&gt;  Madhusudan.C.S<br>
&gt;<br>
&gt; Blogs at: <a href="http://www.madhusudancs.info" target="_blank">www.madhusudancs.info</a><br>
&gt; My Online Identity: madhusudancs<br>
&gt;<br>
</div></div></blockquote></div></div></div><br><br clear="all"><br>-- <br><div><div></div><div class="h5">Thanks and regards,<br>  Madhusudan.C.S<br><br>Blogs at: <a href="http://www.madhusudancs.info" target="_blank">www.madhusudancs.info</a><br>

My Online Identity: madhusudancs<br>

</div></div></blockquote></div><br><br clear="all"><br>-- <br>Thanks and regards,<br>  Madhusudan.C.S<br><br>Blogs at: <a href="http://www.madhusudancs.info">www.madhusudancs.info</a><br>My Online Identity: madhusudancs<br>