Skip to content

A tool to search for Python code using jQuery-like selectors

github.com/caioariede
7 pointscaioariede2 comments
On HN

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

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.