def try_add(obj): try: DBSession.add(obj) DBSession.commit() except sqlalchemy.exc.IntegrityError: DBSession.rollback() pass
def serviceconfig(args, settings): vhosts = list(DBSession.query(models.VHost).all()) for vhost in vhosts: vhost.on_update(settings)
parser_dc.add_argument('-s', '--service', help='Only <service>', action='append', default=[]) parser_dc.add_argument('-o', '--output', default='./config/', help='where to put generated config') parser_dc.add_argument('-r', '--reload', action='store_true', help='reload chosen services') args = parser.parse_args() log_level = logging.WARNING if args.verbose != None: verbose = int(args.verbose) if verbose == 1: log_level = logging.INFO elif verbose >= 2: log_level = logging.DEBUG logging.basicConfig(level=log_level) config_uri = args.config setup_logging(config_uri) settings = get_appsettings(config_uri) engine = sqlalchemy.engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) try: f = args.func except AttributeError: parser.print_help() exit() f(args, settings=settings)