Python1320

teh haax

Oct 24th, 2011
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.50 KB | None | 0 0
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. import sys
  4. import datetime
  5. import time
  6. import getopt
  7. import os
  8. import subprocess
  9. from svn import core, fs, delta, repos
  10. import re
  11. import curl
  12. import pycurl
  13. import subprocess
  14. import socket
  15.  
  16. revision_number=int(sys.argv[2])
  17. rep=sys.argv[1]
  18. repo_name=re.match('^(.*)/([^/]*)$',rep).group(2)
  19.  
  20. print "","Post commit running for rev "+str(revision_number)+" on rep: "+str(repo_name)
  21.  
  22.  
  23. # get svn data
  24. repository = repos.open(rep)
  25. fs_ptr = repos.fs(repository)
  26. log = fs.revision_prop(fs_ptr, revision_number, "svn:log")
  27. author = fs.revision_prop(fs_ptr, revision_number, "svn:author")
  28. date = fs.revision_prop(fs_ptr, revision_number, "svn:date")
  29.  
  30. # HOW :(
  31. cmd="/usr/bin/svnlook changed "+rep+" --revision="+sys.argv[2]
  32. changemsg=subprocess.Popen( cmd.split(), stdout=subprocess.PIPE).communicate()[0]
  33.  
  34.  
  35. # Send to forums
  36. poster=curl.Curl()
  37. poster.set_url("http://gmod.iriz.org")
  38. poster.set_verbosity(0)
  39. cgi="aowl/secret/secret.php"
  40. params = [
  41.  ('rev',revision_number),
  42.  ('rep',repo_name),
  43.  ('author',author),
  44.  ('date',date),
  45.  ('log',log),
  46.  ('changed',changemsg),
  47. ]
  48. poster.set_option(pycurl.HTTPAUTH, pycurl.HTTPAUTH_BASIC)
  49. poster.set_option(pycurl.USERPWD, "imanottellyou:s0rr3w")
  50. #Fix for lighttpd...
  51. poster.set_option(pycurl.HTTPHEADER, ['Expect:'])
  52.  
  53. print "","Sending to forums..."
  54. poster.set_timeout(360)
  55. poster.post(cgi,params)
  56. resp=poster.info()['response-code']
  57. if resp!=200 and resp!="200":
  58.         print("","CURL SEND FAILED: "+str(resp))
  59.  
  60.  
Advertisement
Add Comment
Please, Sign In to add comment