#!/usr/bin/python import cgi, os, os.path, time, re lockFileName = "files/todolock" fileName = "files/todos.xml" while(os.path.exists(lockFileName)): time.sleep(.25) lockFileHandle = open(lockFileName, "w") lockFileHandle.write("locked") lockFileHandle.close() form = cgi.FieldStorage() idToUpdate = int(form.getfirst("todoID")) isUpMove = int(form.getfirst("isUp")) oldFile = open(fileName, 'r') oldFileLines = oldFile.readlines() oldFile.close() lineIndex = 0 todoIDre = re.compile(r'^ 1) lineToSwitch = lineIndex - 1 else: doSwitch = (lineIndex < (len(oldFileLines) - 2)) lineToSwitch = lineIndex + 1 if (doSwitch): tempLine = oldFileLines[lineIndex] oldFileLines[lineIndex] = oldFileLines[lineToSwitch] oldFileLines[lineToSwitch] = tempLine break lineIndex = lineIndex + 1 newFile = open(fileName, 'w') for line in oldFileLines: newFile.write(line) newFile.close() os.remove(lockFileName) print "Content-type: text/plain\n\n" print "done."