def sync_tables(): """sync all core tables, beginning with _parent_child""" from lib.chai import db, site from lib.models import core_models import conf db.get().sync_tables(core_models) if 'models' in conf.sites[site]: db.get().sync_tables(conf.sites[site]['models'])
def main(): """call action based on options""" import os, sys, conf (options, args) = getparser().parse_args() import lib.chai lib.chai.site = options.site or conf.default_site from lib.chai import db if options.newapp is not None: newapp() elif options.setup is not None: setup_db() elif options.update is not None: if options.update == 'all': sync_tables() else: from lib.chai import db db.get().sync_table(options.update) elif options.publish is not None: publish() elif options.adduser: from lib.chai import db, objstore db.begin() objstore.insert(type="user", name=options.adduser[0], password=options.adduser[1]) db.commit() elif options.uwsgi is not None: from lib.chai.util import uwsgi_manager m = uwsgi_manager.manager('conf/uwsgi.xml') getattr(m, options.uwsgi)(1) elif options.replace is not None: from lib.chai.util import replacer # in code replacer.replace(conf.sites[lib.chai.site]['path'], options.replace[0], \ options.replace[1], options.replace[2]) # replace in framework replacer.replace('lib', options.replace[0], options.replace[1], options.replace[2]) elif options.concat is not None: concat() db.close()
def main(): """call action based on options""" import os, sys, conf (options, args) = getparser().parse_args() import lib.chai lib.chai.site = options.site or conf.default_site from lib.chai import db if options.newapp is not None: newapp() elif options.setup is not None: setup_db() elif options.update is not None: if options.update=='all': sync_tables() else: from lib.chai import db db.get().sync_table(options.update) elif options.publish is not None: publish() elif options.adduser: from lib.chai import db, objstore db.begin() objstore.insert(type="user", name=options.adduser[0], password=options.adduser[1]) db.commit() elif options.uwsgi is not None: from lib.chai.util import uwsgi_manager m = uwsgi_manager.manager('conf/uwsgi.xml') getattr(m, options.uwsgi)(1) elif options.replace is not None: from lib.chai.util import replacer # in code replacer.replace(conf.sites[lib.chai.site]['path'], options.replace[0], \ options.replace[1], options.replace[2]) # replace in framework replacer.replace('lib', options.replace[0], options.replace[1], options.replace[2]) elif options.concat is not None: concat() db.close()
def get_valid_obj(obj): """returns an object copy with only valid columns""" obj_copy = {} columns = db.get().columns(obj['type']) # copy valid columns for c in columns: if c in obj: obj_copy[c] = obj[c] return obj_copy