Revision 833baad6 pithos/backends/simple.py

b/pithos/backends/simple.py
790 790
            sql = sql % (self._sql_until(until), ', '.join('?' * len(keys)))
791 791
            param = (cont_prefix + prefix + '%',) + tuple(keys)
792 792
            if allowed:
793
                for x in allowed:
794
                    sql += ' and o.name like ?'
795
                    param += (x,)
793
                sql += ' and (' + ' or '.join(('o.name like ?',) * len(allowed)) + ')'
794
                param += tuple([x + '%' for x in allowed])
796 795
            sql += ' order by o.name'
797 796
        else:
798 797
            sql = 'select name, version_id from (%s) where name like ?'
799 798
            sql = sql % self._sql_until(until)
800 799
            param = (cont_prefix + prefix + '%',)
801 800
            if allowed:
802
                for x in allowed:
803
                    sql += ' and name like ?'
804
                    param += (x,)
801
                sql += ' and (' + ' or '.join(('name like ?',) * len(allowed)) + ')'
802
                param += tuple([x + '%' for x in allowed])
805 803
            sql += ' order by name'
806 804
        c = self.con.execute(sql, param)
807 805
        objects = [(x[0][len(cont_prefix):], x[1]) for x in c.fetchall()]

Also available in: Unified diff