elif name.startswith('reduce_'): name = name[len('reduce_'):] key = 'reduce' else: key = 'map' views.setdefault(name, dict())[key] = code id = "_design/%s" % design try: doc = db[id] except couchdb.http.ResourceNotFound: logging.debug("loading %s", id) db.save(dict(_id=id, views=views)) else: if doc['views'] != views: doc['views'] = views logging.debug("updating %s", id) db.save(doc) else: logging.debug("no change %s", id) if __name__ == '__main__': import sys from charon import utils try: utils.load_settings(filepath=sys.argv[1]) except IndexError: utils.load_settings() db = utils.get_db() load_designs(db)
parser.add_option("-f", "--force", action="store_true", dest="force", default=True, help='force action, rather than ask for confirmation') (options, args) = parser.parse_args() if not options.force: response = raw_input('about to delete everything; really sure? [n] > ') if not utils.to_bool(response): sys.exit('aborted') if len(args) == 0: filepath = None elif len(args) == 1: filepath = args[0] else: sys.exit('too many arguments') utils.load_settings(filepath=filepath) db = utils.get_db() wipeout_database(db) print 'wiped out database' load_designs(db) print 'loaded designs' default = 'dump.tar.gz' if options.force: filename = default else: filename = raw_input("load data from file? [{0}] > ".format(default)) if not filename: filename = default if os.path.exists(filename): count_items, count_files = undump(db, filename)
dest="force", default=True, help='force action, rather than ask for confirmation') (options, args) = parser.parse_args() if not options.force: response = raw_input('about to delete everything; really sure? [n] > ') if not utils.to_bool(response): sys.exit('aborted') if len(args) == 0: filepath = None elif len(args) == 1: filepath = args[0] else: sys.exit('too many arguments') utils.load_settings(filepath=filepath) db = utils.get_db() wipeout_database(db) print 'wiped out database' load_designs(db) print 'loaded designs' default = 'dump.tar.gz' if options.force: filename = default else: filename = raw_input("load data from file? [{0}] > ".format(default)) if not filename: filename = default if os.path.exists(filename): count_items, count_files = undump(db, filename)
"""Development script for deleting explicitly a project and all its stuff. WARNING: Destructive! Must not be used in the production instance.""" from charon import utils if __name__ == "__main__": import sys if len(sys.argv) != 2: sys.exit("give project identifier") utils.load_settings() db = utils.get_db() view = db.view("project/projectid", include_docs=True, key=sys.argv[1]) rows = list(view) if len(rows) != 1: sys.exit("no such project") project = rows[0].doc print "Project", project["projectid"], project.get("title", "[no title]") answer = raw_input("really delete? (y/n) > ") if utils.to_bool(answer): utils.delete_project(db, project) print "deleted"
"""Development script for deleting explicitly a project and all its stuff. WARNING: Destructive! Must not be used in the production instance.""" from charon import utils if __name__ == '__main__': import sys if len(sys.argv) != 2: sys.exit('give project identifier') utils.load_settings() db = utils.get_db() view = db.view('project/projectid', include_docs=True, key=sys.argv[1]) rows = list(view) if len(rows) != 1: sys.exit('no such project') project = rows[0].doc print 'Project', project['projectid'], project.get('title', '[no title]') answer = raw_input('really delete? (y/n) > ') if utils.to_bool(answer): utils.delete_project(db, project) print 'deleted'