← Back to team overview

quickly-talk team mailing list archive

No schemas for new projects?

 

When you run "quickly create ubuntu-application test-app", you get an error that "env" doesn't exist. This error message is completely unintuitive. The real problem is that schemas are not generated for new projects:

# Compile schema if present
schemapath = os.path.abspath("data/glib-2.0/schemas")
if os.path.exists(schemapath):
    subprocess.call(["glib-compile-schemas", schemapath])

    datadir = os.path.abspath("data")
    if 'XDG_DATA_DIRS' in env:
        env['XDG_DATA_DIRS'] = "%s:%s" % (datadir, env['XDG_DATA_DIRS'])
    else:
        env['XDG_DATA_DIRS'] = datadir

# run the new application if X display
if templatetools.is_X_display() and os.path.isfile(exec_file):
    print _("Launching your newly created project!")
    subprocess.call(['./' + project_name], cwd='bin/', env=env)



So, first you check if schemapath exists. It never does. Then you see if X and exec_file exists, and they do. However, env doesn't exist because it's only being set if schemapath exists. The question is; why isn't schemas generated for new projects?

The code above seems to be copied in several places, by the way. Perhaps it would be better to make it reusable?





--
Jo-Erlend Schinstad



Follow ups