You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
992 B
Python

#!/usr/bin/env python
import cgitb; cgitb.enable()
import os, sys, cgi, json
from subprocess import PIPE, Popen
from settings import PROJECT_PATH, PROJECT_URL, EDITOR_URL, MAKE
from project import Project
method = os.environ.get("REQUEST_METHOD", "")
fs = cgi.FieldStorage()
project = fs.getvalue("p", "")
frompaths = fs.getlist("f[]")
topaths = fs.getlist("t[]")
ret = {}
ret['returncode'] = -1
print >> sys.stderr, "mv", frompaths, topaths
passes = 0
fails = 0
if frompaths:
proj = Project(project)
for f, t in zip(frompaths, topaths):
frompath = os.path.join(proj.fullpath, f)
topath = os.path.join(proj.fullpath, t)
try:
os.rename(frompath, topath)
passes += 1
except OSError:
fails += 1
pass
# print >> sys.stderr, "***", frompath, topath
ret['passes'] = passes
ret['fails'] = fails
ret['returncode'] = 0
print "Content-type: application/json"
print
print json.dumps(ret)