courtney ludwin
courtneyludwin at yahoo.com
Sat Jan 7 23:13:55 EST 2006
I misread, My reply was for "URL" (encode/decode)ing not html (ecnode/decode)ing. Sorry bout that, Courtney --- courtney ludwin <courtneyludwin at yahoo.com> wrote: > Yo Sean, > I just wrote the encode/decode functions recently > and > posted them on by blog: > http://2centspoorer.blogspot.com/2006/01/urlencoderdecoder-for-python.html > > regards, > Courtney > > > anyway here it is... > > > _keys = [ > "$", "&", "+", ",", "/", ":", ";", "=", "?", "@", > " > ", '"', > "<", ">", "#", "%", "{", "}", "|", "\\", "^", "~", > "[", "]", "`"] > > _vals = [ > '%24', '%26', '%2B', '%2C', '%2F', '%3A', '%3B', > '%3D', '%3F', > '%40', '%20', '%22', '%3C', '%3E', '%23', '%25', > '%7B', '%7D', > '%7C', '%5C', '%5E', '%7E', '%5B', '%5D', '%60'] > > def encode(str=""): > """ URL Encodes a string with out side effects > """ > return "".join([_swap(x) for x in str]) > > def decode(str=""): > """ Takes a URL encoded string and decodes it with > out side effects > """ > if not str: return None > for v in _vals: > if v in str: str = str.replace(v, > _keys[_vals.index(v)]) > return str > > def _swap(x): > """ Helper function for encode. > """ > if x in _keys: return _vals[_keys.index(x)] > return x > > ### units ### > if __name__ == "__main__": > assert("".join(_keys) == > decode(encode("".join(_keys)))) > assert("".join(_vals) == > encode(decode("".join(_vals)))) > print "passed all unit tests." > > > > > --- Sean Jamieson <sean at barriescene.com> wrote: > > > Hi, I don't know if what I'm about to ask has > > already been requested, or > > if this is the right list, but here I go: > > > > I have been using mod_python for about 3 weeks > now, > > and have come up > > with a few things that I'd like to see added into > > the util module (I'm > > assuming this might be the right place for them). > > > > 1. a refresh() sibling to the redirect() function; > I > > use the Refresh > > header quite often in my applications. > > > > 2. html(encode|decode) for translating all defined > > entity characters; > > currently pythons default cgi.escape only > translates > > "&", "<" and ">", > > and xml.sax.saxutils.escape is both silly if > you're > > not using sax for > > anything else, and not convenient as you have to > > give it the translation > > table. Also a simple method to unescape these is > > quite useful aswell. > > > > I've thought of other things aswell, but I can't > > remember what they were > > right now :-) > > > > This is a great project, keep up the good work. > > > > Thanks, > > Sean > > _______________________________________________ > > Mod_python mailing list > > Mod_python at modpython.org > > > http://mailman.modpython.org/mailman/listinfo/mod_python > > > > > > > __________________________________________ > Yahoo! DSL Something to write home about. > Just $16.99/mo. or less. > dsl.yahoo.com > > _______________________________________________ > Mod_python mailing list > Mod_python at modpython.org > http://mailman.modpython.org/mailman/listinfo/mod_python > __________________________________________ Yahoo! DSL Something to write home about. Just $16.99/mo. or less. dsl.yahoo.com
|