def sync(self, app=None): """Sync the local views with CouchDB server.""" app = app or self.app if app is None: return #XXX local_path = app.config.get('COUCHDB_VIEWS') design_path = os.path.join(app.root_path, local_path) loader = FileSystemDocsLoader(design_path) loader.sync(app.extensions['couchdbkit'].db)
def handle(self, *args, **options): for dbname in ('couchflow', 'couchauth', 'couchsessions', 'circulation'): db = get_db(dbname) path = settings.PROJECT_PATH + '/apps/'+dbname+'/_design/' loader = FileSystemDocsLoader(path) loader.sync(db) sys.stdout.write('Successfully updated "%s"\n' % dbname)
def couch_sync(): couch_db = couch.init(app.config) path = os.getcwd() path = path.replace('/manage.py', '') if not path: return "You must provide the path to PonyExpress" dir = '%s/ponyexpress/_design' % path print("Syncronizing Couchdb Views from %s" % dir) loader = FileSystemDocsLoader(dir) loader.sync(couch_db, verbose=True)
def load_views(self, lp): self.loadpath = lp try: print "Loading design docs from %s" % lp loader = FileSystemDocsLoader(self.loadpath) loader.sync(self.db, verbose=True) print "Design docs loaded" return 0 except: log.fatal("Document load path not found: %s" % lp) raise exceptions.VogelerPersistenceException()
from couchdbkit.loaders import FileSystemDocsLoader from couchdbkit import Server, Database import sys, os path_to_design = sys.argv[1] uri = sys.argv[2] dbname = sys.argv[3] print 'upload views from directory root:\t%s \t to db:\t%s/%s' % ( path_to_design, uri, dbname) server = Server(uri) db = server.get_or_create_db(dbname) loader = FileSystemDocsLoader(path_to_design) loader.sync(db, verbose=True)
if __name__ == '__main__': fname = sys.argv[1] uri = sys.argv[2] dbname = sys.argv[3] print 'Upload contents of %s to %s/%s' % (fname, uri, dbname) if (fname.endswith('.gz')): fname = gunzip(fname) # #connect to the db cloudant = Server(uri) db = cloudant.get_or_create_db(dbname) print db.info() #sync the views for prebuilt indices loader = FileSystemDocsLoader('_design/') loader.sync(db, verbose=True) #loop on file for upload reader = DictReader(open(fname), delimiter='|') #used for bulk uploading docs = list() checkpoint = 1000 n = 0 start = time.time() for doc in reader: n += 1 docs.append(doc) if (len(docs) % checkpoint == 0):
return self.name or u'' # You don't need a try/except. This is just to allow to run FA's tests without # couchdb installed. Btw this have to be in another place in your app. eg: you # don't need to sync views each time the controller is loaded. try: server = Server() if server: pass except: server = None else: db = server.get_or_create_db('formalchemy_test') design_docs = os.path.join(os.path.dirname(pylonsapp.__file__), '_design') loader = FileSystemDocsLoader(design_docs) loader.sync(db, verbose=True) contain(db, Pet, Person) class CouchdbController(BaseController): # override default classes to use couchdb fieldsets FieldSet = couchdb.FieldSet Grid = couchdb.Grid model = [Person, Pet] def Session(self): """return a formalchemy.ext.couchdb.Session""" return couchdb.Session(db)
def sync_ddocs(dburl): auth_filters = get_credentials() db = Database(dburl, filters=auth_filters) loader = FileSystemDocsLoader('_design') loader.sync(db, verbose=True)
def sync(self): """Sync the local views with CouchDB server.""" local_path = self.app.config.get('COUCHDB_VIEWS') design_path = os.path.join(self.app.root_path, local_path) loader = FileSystemDocsLoader(design_path) loader.sync(self.db)