#!/usr/bin/python
# -*- coding: UTF-8 -*-
# enable debugging
#import cgitb
#cgitb.enable()
import os, sys
sys.stderr = sys.stdout
print 'Status: 301 Moved Permanently'
print 'Location: /yifeibot/downloaders/gallica.py'
print
exit()
print "Content-Type: text/html; charset=utf-8"
print
print """
exemple d'URL à fournir:
http://gallica.bnf.fr/proxy?method=R&ark=btv1b55005208r.f1&l=6&r=4864,6656,256,256
"""
sys.stdout.flush()
import cgitb
#cgitb.enable()
def die(message=None):
if message: print message
exit()
import cgi
try:
url = cgi.FieldStorage()["url"].value
except:
try:
url = sys.argv[1]
except:
url = ""
if not "http://" in url: die("Lien non valide (http://)!
")
if not "gallica.bnf.fr/" in url: die("Site Gallica seulement (bnf.gallica.fr)!
")
if not "proxy?method=R&ark=" in url: die("Lien invalide (proxy?method=R&ark=)!
")
filename = url.split("=")[2].split(".")[0]
try:
pages = cgi.FieldStorage()["pages"].value
except:
try:
pages = sys.argv[2]
except:
pages = "1"
pages = max(int(pages), 1)
filename = "%s.f%i" % (filename, pages)
jobname = "g-" + filename[::-1]
prefix = "/data/project/yifeibot/public_html/tmp/"
#prefix = "/tmp/"
if os.path.isfile(prefix + filename + ".jpg"):
print "Done!"
print ''
die()
import grid
for job in grid.qstat():
if len(job["name"]) > 5 and jobname[:len(job["name"])] == job["name"]:
die("Job already running, please wait... If this is taking too long, please contact commons:User:Zhuyifei1999")
grid.submit(["python", "/data/project/yifeibot/public_html/gallica.core.py", "'%s'" % url, str(pages)], N=jobname, mem="2g")
die("Job submitted, please wait...")