projects
/
matthijs
/
upstream
/
django-ldapdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
update copyright date
[matthijs/upstream/django-ldapdb.git]
/
ldapdb
/
models
/
query.py
diff --git
a/ldapdb/models/query.py
b/ldapdb/models/query.py
index ae4b73c7b559a3eac87e4953935b271c4a46bba1..5f522a61cd17b43cf94a91af28ce00dad7a72cf8 100644
(file)
--- a/
ldapdb/models/query.py
+++ b/
ldapdb/models/query.py
@@
-1,7
+1,7
@@
# -*- coding: utf-8 -*-
#
# django-ldapdb
# -*- coding: utf-8 -*-
#
# django-ldapdb
-# Copyright (C) 2009 Bolloré telecom
+# Copyright (C) 2009
-2010
Bolloré telecom
# See AUTHORS file for a full list of contributors.
#
# This program is free software: you can redistribute it and/or modify
# See AUTHORS file for a full list of contributors.
#
# This program is free software: you can redistribute it and/or modify
@@
-28,13
+28,7
@@
from django.db.models.sql.where import WhereNode as BaseWhereNode, Constraint as
import ldapdb
import ldapdb
-def escape_ldap_filter(value):
- value = str(value)
- return value.replace('\\', '\\5c') \
- .replace('*', '\\2a') \
- .replace('(', '\\28') \
- .replace(')', '\\29') \
- .replace('\0', '\\00')
+from ldapdb import escape_ldap_filter
class Constraint(BaseConstraint):
"""
class Constraint(BaseConstraint):
"""
@@
-90,12
+84,18
@@
class WhereNode(BaseWhereNode):
if isinstance(item, WhereNode):
bits.append(item.as_sql())
continue
if isinstance(item, WhereNode):
bits.append(item.as_sql())
continue
-
(table, column, type)
, x, y, values = item
- equal_bits = [ "(%s=%s)" % (column, value) for value in values ]
- if len(equal_bits) == 1:
- clause =
equal_bits[0]
+
constraint
, x, y, values = item
+ if hasattr(constraint, "col"):
+ # django 1.2
+ clause =
"(%s=%s)" % (constraint.col, values)
else:
else:
- clause = '(|%s)' % ''.join(equal_bits)
+ # django 1.1
+ (table, column, type) = constraint
+ equal_bits = [ "(%s=%s)" % (column, value) for value in values ]
+ if len(equal_bits) == 1:
+ clause = equal_bits[0]
+ else:
+ clause = '(|%s)' % ''.join(equal_bits)
if self.negated:
bits.append('(!%s)' % clause)
else:
if self.negated:
bits.append('(!%s)' % clause)
else: