Exemple #1
0
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'/>"
Exemple #3
0
    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