On Wed, May 28, 2014 at 07:13:17PM +0200, Alessandro Pasotti wrote:
> Hi,
> 
> I'm trying to generate Django models/forms for an xsd, Im getting
> the a.m.  error with v. 2.12d
> 
> This is the xsd (it is an official XSD for Italian gov. invoicing):
> 
> http://www.fatturapa.gov.it/export/fatturazione/sdi/fatturapa/v1.0/fatturapa_v1.0.xsd
> 
> I've renamed the xsd to comply with python module naming (removed
> the dot).
> 
> I'm trying to follow step-by-step the instructions from this page:
> http://www.rexx.com/~dkuhlman/generateDS.html#id75
> 
> Any idea?
> 
> Full tb:
> Traceback (most recent call last):
>   File "./gends_generate_django.py", line 146, in <module>
>     main()
>   File "./gends_generate_django.py", line 141, in main
>     generate_model(options, module_name)
>   File "./gends_generate_django.py", line 92, in generate_model
>     cls.generate_model_(wrtmodels, wrtforms)
> AttributeError: type object 'AllegatiType' has no attribute
> 'generate_model_'

Alessandro,

Thanks for this report and the traceback.

I just now ran a test with your XML schema, after changing the
name to remove the dot (thanks for that hint).  I was able to
successfully generate models.py, forms.py, and admin.py.

So, I have not yet been able to reproduce this error.

I have sent you the files I generated.  See below.

One suggestion -- When you run this, we're using a special version
of class GeneratedsSuper which contains generate_model_.  The file
generated by generateDS.py contains a version  of that class, but
it's overridden if there is a file named generatedssuper.py on your
PYTHONPATH, and that's what we need it to do.  So, make sure that
the version of generatedssuper.py that you copied from
generateDS-xx.xx/django is actually being imported.  Try putting a
print statement in that file or put a syntax error in it to make
sure.

Also, I notice that the line:

     cls.generate_model_(wrtmodels, wrtforms)

in file gends_generate_django.py is on a slightly different line in
my version than yours -- line 90 in my file; line 92 in yours.  Is
it possible that we have a version mis-match here?  I do not recall
making any changes to that file in a long time, however, it's worth
checking.

I'm using a version that is in sync with the latest at Bitbucket:

    https://dkuhl...@bitbucket.org/dkuhlman/generateds

In a separate message (don't want to pollute the list), I've
attached a zip file with the files I used and the resulting files
model.py, forms.py, etc.  To generate them, I ran this:

    $ ./gends_run_gen_django.py fatturapa_v1_0.xsd

One other thing that could be a problem -- The script
gends_run_gen_django.py finds generateDS.py on your PATH
(environment variable).  It's near line 66, and I changed it to
point at a symbolic link in my current directory, as follows:

      args = ('./generateDS.py', '-f',                                          
    
          '-o', '%s' % (bindings_file_name, ),                                  
    
          '--member-specs=list',                                                
    
          schema_file_name,                                                     
    
          )                                                                     
    

Is it possible that it's not finding the version of generateDS.py
that you want, and that it's an old, out-of-date version.  I suppose
that piece of code could be made a bit safer, but I'm not sure how.

Please let me know if I can be of more help and if there is
something else I can do to try to reproduce that exception, or if
you have suggestions, etc.

Dave

-- 

Dave Kuhlman
http://www.davekuhlman.org

------------------------------------------------------------------------------
Time is money. Stop wasting it! Get your web API in 5 minutes.
www.restlet.com/download
http://p.sf.net/sfu/restlet
_______________________________________________
generateds-users mailing list
generateds-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/generateds-users

Reply via email to