make default user-agent include git revision

This commit is contained in:
Ryan Hitchman 2011-03-29 08:48:44 -05:00
parent 154f457f3a
commit b82372a76c
2 changed files with 23 additions and 12 deletions

View File

@ -3,11 +3,22 @@ import socket
import subprocess
import time
from util import hook
from util import hook, http
socket.setdefaulttimeout(10) # global setting
def get_version():
p = subprocess.Popen(['git', 'log', '--oneline'], stdout=subprocess.PIPE)
stdout, _ = p.communicate()
p.wait()
revnumber = len(stdout.splitlines())
ret = stdout.split(None, 1)[0]
return ret, revnumber
#autorejoin channels
@hook.event('KICK')
def rejoin(paraml, conn=None):
@ -42,16 +53,13 @@ def onjoin(paraml, conn=None):
conn.join(channel)
time.sleep(1) # don't flood JOINs
# set user-agent
ident, rev = get_version()
http.ua_skybot = 'Skybot/r%d %s http://github.com/rmmh/skybot' % (rev, ident)
@hook.regex(r'^\x01VERSION\x01$')
def version(inp, notice=None):
p = subprocess.Popen(['git', 'log', '--oneline'], stdout=subprocess.PIPE)
stdout, _ = p.communicate()
p.wait()
revnumber = len(stdout.splitlines())
ret = stdout.split(None, 1)[0]
ident, rev = get_version()
notice('\x01VERSION skybot %s r%d - http://github.com/rmmh/'
'skybot/\x01' % (ret, revnumber))
'skybot/\x01' % (ident, rev))
http.ua_skybot = 'Skybot/r%d %s http://github.com/rmmh/skybot' % (rev, ident)

View File

@ -12,7 +12,7 @@ from urllib2 import HTTPError, URLError
from lxml import etree, html
user_agent = 'Skybot/1.0 http://github.com/rmmh/skybot'
ua_skybot = 'Skybot/1.0 http://github.com/rmmh/skybot'
ua_firefox = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) ' \
'Gecko/20070725 Firefox/2.0.0.6'
@ -37,12 +37,15 @@ def get_json(*args, **kwargs):
return json.loads(get(*args, **kwargs))
def open(url, query_params=None, user_agent=user_agent, post_data=None,
def open(url, query_params=None, user_agent=None, post_data=None,
get_method=None, cookies=False, **kwargs):
if query_params is None:
query_params = {}
if user_agent is None:
user_agent = ua_skybot
query_params.update(kwargs)
url = prepare_url(url, query_params)