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
--
http://mail.python.org/mailman/listinfo/python-list