server/repository.py
changeset 10669 155c29e0ed1c
parent 10663 54b8a1f249fb
child 10914 fed8bd56f223
equal deleted inserted replaced
10668:4fb62d791073 10669:155c29e0ed1c
   617         for k in chain(fetch_attrs, query_attrs):
   617         for k in chain(fetch_attrs, query_attrs):
   618             if k not in cwuserattrs:
   618             if k not in cwuserattrs:
   619                 raise Exception('bad input for find_user')
   619                 raise Exception('bad input for find_user')
   620         with self.internal_cnx() as cnx:
   620         with self.internal_cnx() as cnx:
   621             varmaker = rqlvar_maker()
   621             varmaker = rqlvar_maker()
   622             vars = [(attr, varmaker.next()) for attr in fetch_attrs]
   622             vars = [(attr, next(varmaker)) for attr in fetch_attrs]
   623             rql = 'Any %s WHERE X is CWUser, ' % ','.join(var[1] for var in vars)
   623             rql = 'Any %s WHERE X is CWUser, ' % ','.join(var[1] for var in vars)
   624             rql += ','.join('X %s %s' % (var[0], var[1]) for var in vars) + ','
   624             rql += ','.join('X %s %s' % (var[0], var[1]) for var in vars) + ','
   625             rset = cnx.execute(rql + ','.join('X %s %%(%s)s' % (attr, attr)
   625             rset = cnx.execute(rql + ','.join('X %s %%(%s)s' % (attr, attr)
   626                                               for attr in query_attrs),
   626                                               for attr in query_attrs),
   627                                query_attrs)
   627                                query_attrs)