Rapidshare to Megaupload script

MRAB google at mrabarnett.plus.com
Sat Feb 14 17:17:09 EST 2009


aiwarrior wrote:
> I've made this script and would like to have some input and share it
> with the community.
> I also have a page with some code i produce on my spare time. http://pneves.net
> Thanks
> 
[snip]
> 
> def from_rapidshare(url):
>     '''Check if this is a rapidshare link'''
>     return (url.startswith("rapidshare.com") or
>         url.startswith("www.rapidshare.com") or
>         url.startswith("http://rapidshare.com") or
>         url.startswith("http://www.rapidshare.com"))
> 
You can shorten:

     s.startswith(x) or s.startswith(y) or ...

to:

     s.startswith((x, y, ...))

[snip]
>     cfg = ConfigParser.SafeConfigParser()
>     cfg.read(path)
>     try:
>         m_user = cfg.get("Acc_Details", "m_user")
>         m_password = cfg.get("Acc_Details", "m_password")
>         r_user = cfg.get("Acc_Details", "r_user")
>         r_password = cfg.get("Acc_Details", "r_password")
>     except ConfigParser.NoSectionError or ConfigParser.NoOptionError:

In order to catch multiple exceptions it should be:

     except (ConfigParser.NoSectionError, ConfigParser.NoOptionError):

>         print "no section or No Option"
>         print
>         os.remove(path)
>     return (m_user, m_password, r_user, r_password)
> 
> def cookie_processor(cookie):
>     cookie = cookie.split("; ")
> ##    cookie = dict( [cookie[x].split("=") for x in xrange ( len
> (cookie) ) ] )
Or:
##    cookie = dict(x.split("=") for x in cookie)

> ##    if cookie['user'] != None:
When checking for None use "is" and "is not":
##    if cookie['user'] is not None:

>     return cookie
> ##    else:
> ##        print "Scheme has changed or authentication failes. Last
> option most likely"
> ##        sys.exit()
Raising an exception is better than exiting.

> ##
> 
[snip]
> def mu_auth(login):
>     r_user = login[0]
>     r_password = login[1]
>     cred = urllib.urlencode({"login": r_user, "password": r_password})
>     try:
>         req = urllib2.urlopen("http://www.megaupload.com", cred)
>         cookie_mu = cookie_processor( req.headers.get("set-cookie",
> "") )
> 
>     except:
Don't use an empty "except"; be explicit in which exception you want to 
catch .

[snip]
> 
> if sys.argv[1] == "-h" or sys.argv[1] == "–help":
Or:

     if sys.argv[1] in ("-h", "–help"):

[snip]

> elif from_rapidshare(sys.argv[1]): #if argument is one or more urls
>     for i in range(1, len(sys.argv)):
Or:

     for arg in sys.argv[1 : ]:

and so on.

>         if from_rapidshare(sys.argv[i]):
>             urls.append(sys.argv[i])
> else:
>         print "This is not valid argument" , sys.argv[1]
>         sys.exit()
> urls = []
> 
[snip]
HTH



More information about the Python-list mailing list