X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FPersons.py;fp=PLC%2FPersons.py;h=f035955e7e2f3fc29f9cb9ed1e35dd754e9793fc;hb=2fbc54bb18d05d1c8972257a342c3ae162e83c6e;hp=7c1a8fd5b0354e2c6bbe213f0d780975210f0002;hpb=1d36cde819b7bcadb4702e6e5952d66c1ce5d185;p=plcapi.git diff --git a/PLC/Persons.py b/PLC/Persons.py index 7c1a8fd..f035955 100644 --- a/PLC/Persons.py +++ b/PLC/Persons.py @@ -4,7 +4,7 @@ # Mark Huang # Copyright (C) 2006 The Trustees of Princeton University # -# $Id: Persons.py,v 1.38 2007/08/22 19:54:07 tmack Exp $ +# $Id: Persons.py,v 1.39 2007/10/01 20:51:46 tmack Exp $ # from types import StringTypes @@ -326,6 +326,14 @@ class Persons(Table): elif isinstance(person_filter, dict): person_filter = Filter(Person.fields, person_filter) sql += " AND (%s)" % person_filter.sql(api, "AND") + elif isinstance (person_filter, StringTypes): + person_filter = Filter(Person.fields, {'email':[person_filter]}) + sql += " AND (%s)" % person_filter.sql(api, "AND") + elif isinstance (person_filter, int): + person_filter = Filter(Person.fields, {'person_id':[person_filter]}) + sql += " AND (%s)" % person_filter.sql(api, "AND") + else: + raise PLCInvalidArgument, "Wrong person filter %r"%person_filter # aggregate data all_persons = {}