def execute(self, *args, **options): verbosity = int(options.get('verbosity')) workers = [] if not len(args): print "No database to ping" sys.exit(1) for db_key in args: if verbosity >= 2: print "Using database", db_key print "Settings data:", settings.COUCHDB[db_key] db = django_couch.db(db_key) for row in django_couch.design_docs(db): nop, view = row.id.split('/', 1) d = db[row.id] for function in d.get('views', []): worker = Pinger(verbosity, db_key, view, function) workers.append(worker) worker.start() for worker in workers: if verbosity > 1: print "Waiting for worker %s (%s/%s @ %s)..." % (worker, worker.view_name, worker.func_name, worker.db_key) worker.join() if verbosity > 1: print ' done'
def authenticate(self, username, password): db = django_couch.db('db') rows = self.db.view(settings.COUCHDB_AUTH_VIEW, key=username.lower(), include_docs=True, limit=1).rows if len(rows) and check_password(password, rows[0].value): return CustomUser(db[rows[0].id]) pass
def execute(self, command = None, **options): if not command: print "No action specified" return if not command in ['restore', 'backup']: print "Unknown command:", command return if not options.get('database') and not options.get('dbkey'): print "No database specified" return if options.get('dbkey'): db = django_couch.db(options['dbkey']) else: server = Server(options.get('server')) db = server[options.get('database')] if command == 'backup': print "Backing up remote to", options.get('path') self.backup(db, options.get('path')) elif command == 'restore': print "Restoring local path to remote server", options.get('path') self.restore(db, options.get('path'), options)
def load(user_id): db = django_couch.db('db') try: doc = Tax(db[user_id]) except ResourceNotFound: raise Http404(u"Product '%s' not found" % user_id) assert doc.type == 'product', "Invalid data loaded" return doc
def __init__(self, *args, **kwargs): self._db = django_couch.db('db') self.type = 'product' now = datetime.now() self.is_active = True self.created = now.strftime(settings.DATETIME_FMT) super(Product, self).__init__(*args, **kwargs)
def load(user_id): db = django_couch.db('db') try: doc = CustomUser(db[user_id]) except ResourceNotFound: raise Http404(u"User '%s' not found" % user_id) assert doc.type == 'user', "Invalid data loaded" return doc
def __init__(self, *args, **kwargs): self._db = django_couch.db('db') self.type = 'user' now = datetime.now() self.is_active = True self.is_superuser = True self.joined = now.strftime(settings.DATETIME_FMT) super(User, self).__init__(*args, **kwargs)
def execute(self, db_key, username, *args, **kwargs): db = django_couch.db(db_key) skel = { 'type': 'user', 'is_staff': True, 'is_superuser': True, 'username': username, } u = User(skel, _db = db) password = DjangoUser.objects.make_random_password() u.set_password(password) #password_hash = u.password u.create('u_%s' % username) print 'User %s created. Document id: %s, password: %s' % (username, u.id, password)
def docs_list(request, *args, **kwargs): db_key = kwargs.get('db_key') template = kwargs.get('template') view_args = kwargs.get('view_args', {}).copy() view = kwargs.get('view') db = django_couch.db(db_key) # some magic here if 'startkey' in view_args: view_args['startkey'] = loads(view_args['startkey'] % kwargs) if 'endkey' in view_args: view_args['endkey'] = loads(view_args['endkey'] % kwargs) view_res = db.view(view, **view_args) rows = view_res.rows return render_to_response(template, {'rows': rows, 'kwargs': kwargs})
def __init__(self): self.db = django_couch.db(settings.COUCHDB_AUTH_DB)
def run(self): db = django_couch.db(self.db_key) if self.verbosity >= 2: print 'quering view %s/%s' % (self.view_name, self.func_name) db.view('%s/%s' % (self.view_name, self.func_name), limit = 0).rows
def items(self): return django_couch.db().view('pages/attachments').rows