On 2013-02-06 21:41, rh wrote:
I am curious to know if others would have done this differently. And if so
how so?

This converts a url to a more easily managed filename, stripping the
http protocol off.

This:

http://alongnameofasite1234567.com/q?sports=run&a=1&b=1

becomes this:

alongnameofasite1234567_com_q_sports_run_a_1_b_1


def u2f(u):
     nx = re.compile(r'https?://(.+)$')
     u = nx.search(u).group(1)
     ux = re.compile(r'([-:./?&=]+)')
     return ux.sub('_', u)

One alternate is to not do the compile step. There must also be a way to
do it all at once. i.e. remove the protocol and replace the chars.

Here's one way:

def u2f(u):
return re.sub(r'^https?://|([-:./?&=]+)', lambda m: '_' if m.group(1) else '', u)

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to