Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
A tool to search for Python code using jQuery-like selectors (github.com/caioariede)
7 points by caioariede on Feb 8, 2016 | hide | past | favorite | 2 comments


Interesting idea, and a great exercise for learning more about parsing, CSS selectors, and command-line interfaces.

One point of (hopefully) constructive criticism: I'm not completely sold on the CSS selector syntax. Attribute selectors are semantically meaningful in the DOM, not as much so in Python.

Providing a more Pythonic query language might make it easier for users to guess the purpose of queries and to build complex queries of their own. For instance:

    class * extends IntegerField
    class FloatField
    class FloatField: def *
    class FloatField: def to*
    from collections import Counter
or perhaps:

    class FloatField: def to*(foo)
    for * in *: if * is None
(or perhaps even `for $1 in : if $1 is None`. There are probably better ways than what I described to express the wildcard part, especially if you want to distinguish these from `args`, `kwargs`...)

Anyways, it's always awesome to see people putting their work out there, and I hope you'll continue to do so!


I agree with you. I'm also not convinced that these kind of selectors are good to match Python code. It was more an exercise to develop a generic library that helps implementing jQuery-like selectors [1].

Even if the project doesn't go too far, it was a good fun for my weekend.

[1]: https://github.com/caioariede/pyq/tree/master/sizzle




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: