python - ObjectPath: trouble with "in" operator -


i learning objectpath python , have found out, e.g., how exact match on attribute:

>>> import objectpath >>> >>> tree = objectpath.tree({'doc': {'title': 'purple best color'}}) >>> >>> tree.execute('$..*[@.title "purple best color"]').next() {'title': 'purple best color'} 

this makes sense me; want start root ($) , recursively (..) find (*) items (@) title == "purple best color". , works!

but try similar in operator:

>>> tree.execute('$..*["purple" in @.title]').next() traceback (most recent call last):   file "<stdin>", line 1, in <module> stopiteration 

huh? seemed natural way tweak condition, it's not quite right.

in manual, read in checks if result of left side of expression in array, object or string, , in objects, keys matched. (maybe that's issue, not sure quite means here). think current @ indeed string...?

considering above, missing here?

interestingly enough, explicitly converting purple string works:

$..*[str("purple") in @.title] 

created issue @ objectpath issue tracker:


Comments

Popular posts from this blog

get url and add instance to a model with prefilled foreign key :django admin -

css - Make div keyboard-scrollable in jQuery Mobile? -

ruby on rails - Seeing duplicate requests handled with Unicorn -