forked from antonylesuisse/qweb
/
tracsave.py
executable file
·39 lines (31 loc) · 959 Bytes
/
tracsave.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/usr/bin/python
# vim:set ts=4 et:
import sys, os, urllib, re, tempfile, urllib2
import mechanize
url=sys.argv[1]
base=os.path.basename(url)
urltxt='%s?format=txt'%url
orig=urllib2.urlopen(urltxt).read()
data=file(sys.argv[2]).read()
if data!=orig:
# POST the file
urledit='%s?action=edit'%url
br = mechanize.Browser()
br.set_handle_robots(False)
br.add_password("http://antony.lesuisse.org/", "ticket", "nospam")
br.open("http://antony.lesuisse.org/qweb/trac/login")
br.open(urledit)
editpage = br.response().read()
mo=re.search('name="version" value="([^"]+)"',editpage)
if mo:
version=mo.group(1)
post=urllib.urlencode({
"action":"edit",
"text":data,
"version":version,
"save":"Submit change",
"author":"anonymous",
"comment":"" } )
br.open(url,post)
br.response().read()
print "%s saved."%url