def generate_app_from_xml(path, xml_model_path=None, xml_model_string=None, **kwargs):
    '''
    Generise aplikaciju na zadatoj lokaciji sa zadatim xml modelom aplikacije.
    '''
    if (xml_model_path and xml_model_string) or not(xml_model_path or xml_model_string):
        raise Exception('Provide either xml_model_path or xml_model_string.')
    if xml_model_path:
        app_model = specification.from_xml_file(xml_model_path)
    if xml_model_string:
        app_model = specification.from_xml_string(xml_model_string)
    generate(path, app_model, **kwargs)
    
    return app_model
 def setUp(self):
     self.app_model = specification.from_xml_string(test_data.test_app_string)
Created on Mar 19, 2015

@author: PCX
'''

import os
from test import test_data

from generator import app_generator, specification
from generator.manage import Manager


def generate_test_app(app_model):
    app_name=app_model.app_name.replace(' ', '_')
    project_path = os.path.join('test_gen', app_name)
    
    app_generator.generate("test_gen", app_model, rewrite_db=False, rewrite_migrations=False)
    
    manager = Manager(project_path, app_name)
    manager.migrate_database()
    manager.create_super_user(username='******', password='******')
    manager.run_server()

if __name__ == "__main__":
    #app_model = test_data.test_app_model # TEST PYTHON MODEL
    app_model = specification.from_xml_string(test_data.test_app_string) # TEST XML MODEL
    
    generate_test_app(app_model)