server/querier.py
changeset 10612 84468b90e9c1
parent 10609 e2d8e81bfe68
child 10613 8d9fe02387e3
equal deleted inserted replaced
10611:f4dec0cca9a1 10612:84468b90e9c1
    22 
    22 
    23 __docformat__ = "restructuredtext en"
    23 __docformat__ = "restructuredtext en"
    24 
    24 
    25 from itertools import repeat
    25 from itertools import repeat
    26 
    26 
       
    27 from six import string_types
    27 from six.moves import range
    28 from six.moves import range
    28 
    29 
    29 from rql import RQLSyntaxError, CoercionError
    30 from rql import RQLSyntaxError, CoercionError
    30 from rql.stmts import Union
    31 from rql.stmts import Union
    31 from rql.nodes import ETYPE_PYOBJ_MAP, etype_from_pyobj, Relation, Exists, Not
    32 from rql.nodes import ETYPE_PYOBJ_MAP, etype_from_pyobj, Relation, Exists, Not
   448         repo = cnx.repo
   449         repo = cnx.repo
   449         edited_entities = {}
   450         edited_entities = {}
   450         relations = {}
   451         relations = {}
   451         for subj, rtype, obj in self.relation_defs():
   452         for subj, rtype, obj in self.relation_defs():
   452             # if a string is given into args instead of an int, we get it here
   453             # if a string is given into args instead of an int, we get it here
   453             if isinstance(subj, basestring):
   454             if isinstance(subj, string_types):
   454                 subj = int(subj)
   455                 subj = int(subj)
   455             elif not isinstance(subj, (int, long)):
   456             elif not isinstance(subj, (int, long)):
   456                 subj = subj.entity.eid
   457                 subj = subj.entity.eid
   457             if isinstance(obj, basestring):
   458             if isinstance(obj, string_types):
   458                 obj = int(obj)
   459                 obj = int(obj)
   459             elif not isinstance(obj, (int, long)):
   460             elif not isinstance(obj, (int, long)):
   460                 obj = obj.entity.eid
   461                 obj = obj.entity.eid
   461             if repo.schema.rschema(rtype).inlined:
   462             if repo.schema.rschema(rtype).inlined:
   462                 if subj not in edited_entities:
   463                 if subj not in edited_entities: