On Saturday 16 June 2007, O.R.Senthil Kumaran wrote: > The urlparse will cotain parse_qs and parse_qsl takes the query string > (not url) and with optional arguments keep_blank_values and strict_parsing > (same as cgi). > > http://deadbeefbabe.org/paste/5154 Looks good. > > It may be convenient to add methods to the urlparse.BaseResult class > > providing access to the parsed version of the query on the instance. ... > * parse_qs or parse_qsl will be invoked on the query component separately > by the user. Yes; this doesn't change, really. Methods would still need to be invoked separately, but the query string doesn't need to be passed in; it's part of the data object. > * If parsed query needs to be available at the instance as a convenience > function, then we will have to assume the keep_blank_values and > strict_parsing values. If it were a property, yes, but I think a method on the result object makes more sense because we don't want to assume values for these arguments. > * Coding question: Without retyping the bunch of code again in the > BaseResult, would is the possible to call parse_qs/parse_qsl function on > self.query and provide the result? Basically, what would be a good of > doing it. That's what I was thinking. Just add something like this to BaseResult (untested): def parsedQuery(self, keep_blank_values=False, strict_parsing=False): return parse_qs( self.query, keep_blank_values=keep_blank_values, strict_parsing=strict_parsing) def parsedQueryList(self, keep_blank_values=False, strict_parsing=False): return parse_qsl( self.query, keep_blank_values=keep_blank_values, strict_parsing=strict_parsing) Whether there's a real win with this is unclear. I generally prefer having an object that represents the URL and lets me get what I want from it, rather than having to pass the bits around to separate parsing functions. The result objects were added in 2.5, though, and I've no real idea how widely they've been adopted. -Fred -- Fred L. Drake, Jr. <fdrake at acm.org> "Chaos is the score upon which reality is written." --Henry Miller
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4