def bisquik2db_internal(inputs, parent, resource, replace): '''Parse a document (either as a doc, or an etree. Verify against xmlschema if present ''' results = [] if parent is not None: parent = DBSession.merge(parent) if resource is not None: resource = DBSession.merge(resource) ts = datetime.now() for el in inputs: node = updateDB(root=el, parent=parent, resource=resource, replace=replace, ts=ts) log.debug("returned %s ", str(node)) log.debug('modified : new (%d), dirty (%d), deleted(%d)', len(DBSession.new), len(DBSession.dirty), len(DBSession.deleted)) # pylint: disable=no-member if node not in DBSession: # pylint: disable=unsupported-membership-test # pylint: disable=no-member DBSession.add(node) #log.debug ("node.document = %s" , str( node.document)) node.document.ts = ts results.append(node) #DBSession.flush() #for node in results: # DBSession.refresh(node) if log.isEnabledFor(logging.DEBUG): log.debug('modifyed : new (%d), dirty (%d), deleted(%d)', len(DBSession.new), len(DBSession.dirty), len(DBSession.deleted)) # pylint: disable=no-member log.debug("Bisquik2db last_node %s of document %s ", str(node), str(node.document)) if len(results) == 1: return node return results
def setbasicauth(self, username, passwd, **kw): log.debug("Set basic auth %s", kw) if not identity.is_admin() and username != identity.get_username(): return "<error msg='failed: not allowed to change password of others' />" user = tg.request.identity.get('user') log.debug("Got user %s", user) if user and user.user_name == username: # sanity check user = DBSession.merge(user) user.password = passwd log.info("Setting new basicauth password for %s", username) #transaction.commit() return "<success/>" log.error("Could not set basicauth password for %s", username) return "<error msg='Failed to set password'/>"
def _get_bquser(self): if not request_valid(): return None bquser = request.identity.get('bisque.bquser') if bquser: if bquser not in DBSession: #pylint: disable=unsupported-membership-test bquser = DBSession.merge(bquser) request.identity['bisque.bquser'] = bquser return bquser user_name = self.get_username() if not user_name: return None from bq.data_service.model.tag_model import BQUser log.debug("fetch BQUser by name") bquser = DBSession.query(BQUser).filter_by( resource_name=user_name).first() request.identity['bisque.bquser'] = bquser #log.debug ("bq user = %s" % user) log.debug('user %s -> %s' % (user_name, bquser)) return bquser