Change the User-Agent header to include python implementation name

This commit is contained in:
Marcin Kulik
2013-10-14 17:10:46 +02:00
parent 6cee8d982b
commit fc526a4ffa
2 changed files with 14 additions and 4 deletions

View File

@@ -1,6 +1,7 @@
import json
import bz2
import platform
import re
from asciinema import __version__
from .requests_http_adapter import RequestsHttpAdapter
@@ -48,5 +49,7 @@ class Uploader(object):
return json.dumps(data)
def _user_agent(self):
return 'asciinema/%s (%s) python/%s' % \
(__version__, platform.platform(), platform.python_version())
os = re.sub('([^-]+)-(.*)', '\\1/\\2', platform.platform())
return 'asciinema/%s %s/%s %s' % (__version__,
platform.python_implementation(), platform.python_version(), os)

View File

@@ -37,6 +37,12 @@ class TestUploader(Test):
self.stdout = FakeStdout(b'data123', b'timing456')
self.asciicast = FakeAsciicast(cmd='ls -l', title='tit',
stdout=self.stdout, meta_data={ 'shell': '/bin/sh' })
self.real_platform = platform.platform
platform.platform = lambda: 'foo-bar-baz-qux-quux'
def tearDown(self):
Test.tearDown(self)
platform.platform = self.real_platform
def test_upload(self):
uploader = Uploader(self.http_adapter)
@@ -60,5 +66,6 @@ class TestUploader(Test):
}
def _expected_headers(self):
return { 'User-Agent': 'asciinema/%s (%s) python/%s' %
(__version__, platform.platform(), platform.python_version()) }
return { 'User-Agent': 'asciinema/%s %s/%s %s' %
(__version__, platform.python_implementation(),
platform.python_version(), 'foo/bar-baz-qux-quux') }