Hello community, here is the log from the commit of package transifex-client for openSUSE:Factory checked in at 2015-03-23 12:17:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/transifex-client (Old) and /work/SRC/openSUSE:Factory/.transifex-client.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "transifex-client" Changes: -------- --- /work/SRC/openSUSE:Factory/transifex-client/transifex-client.changes 2014-06-01 19:40:50.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.transifex-client.new/transifex-client.changes 2015-03-23 12:17:43.000000000 +0100 @@ -1,0 +2,6 @@ +Fri Mar 13 12:51:11 UTC 2015 - [email protected] + +- Version bump to 0.11.1.beta: + * Various small bugfixes + +------------------------------------------------------------------- Old: ---- transifex-client-0.11.beta.tar.gz New: ---- transifex-client-0.11.1.beta.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ transifex-client.spec ++++++ --- /var/tmp/diff_new_pack.cjePeM/_old 2015-03-23 12:17:44.000000000 +0100 +++ /var/tmp/diff_new_pack.cjePeM/_new 2015-03-23 12:17:44.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package transifex-client # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,9 +16,9 @@ # -%define realver 0.11.beta +%define realver 0.11.1.beta Name: transifex-client -Version: 0.11~beta +Version: 0.11.1~beta Release: 0 Summary: Transifex Command-line Client License: GPL-2.0+ ++++++ transifex-client-0.11.beta.tar.gz -> transifex-client-0.11.1.beta.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/transifex-client-0.11.beta/PKG-INFO new/transifex-client-0.11.1.beta/PKG-INFO --- old/transifex-client-0.11.beta/PKG-INFO 2014-05-26 21:26:40.000000000 +0200 +++ new/transifex-client-0.11.1.beta/PKG-INFO 2014-06-25 16:48:05.000000000 +0200 @@ -1,6 +1,6 @@ -Metadata-Version: 1.0 +Metadata-Version: 1.1 Name: transifex-client -Version: 0.11.beta +Version: 0.11.1.beta Summary: A command line interface for Transifex Home-page: https://www.transifex.com Author: Transifex diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/transifex-client-0.11.beta/tests/test_project.py new/transifex-client-0.11.1.beta/tests/test_project.py --- old/transifex-client-0.11.beta/tests/test_project.py 2014-03-26 13:23:42.000000000 +0100 +++ new/transifex-client-0.11.1.beta/tests/test_project.py 2014-06-25 16:05:22.000000000 +0200 @@ -318,7 +318,7 @@ def test_new_translations(self): """Test finding new transaltions to add.""" with patch.object(self.p, 'do_url_request') as resource_mock: - resource_mock.return_value = json.dumps(self.details) + resource_mock.return_value = json.dumps(self.details), "utf-8" files_keys = self.langs new_trans = self.p._new_translations_to_add for force in [True, False]: @@ -470,7 +470,7 @@ } extensions = ['.po', '.ts', '', ] with patch.object(self.p, "do_url_request") as mock: - mock.return_value = json.dumps(sample_formats) + mock.return_value = json.dumps(sample_formats), "utf-8" for (type_, ext) in zip(['PO', 'QT', 'NONE', ], extensions): extension = self.p._extension_for(type_) self.assertEqual(extension, ext) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/transifex-client-0.11.beta/transifex_client.egg-info/PKG-INFO new/transifex-client-0.11.1.beta/transifex_client.egg-info/PKG-INFO --- old/transifex-client-0.11.beta/transifex_client.egg-info/PKG-INFO 2014-05-26 21:26:40.000000000 +0200 +++ new/transifex-client-0.11.1.beta/transifex_client.egg-info/PKG-INFO 2014-06-25 16:48:04.000000000 +0200 @@ -1,6 +1,6 @@ -Metadata-Version: 1.0 +Metadata-Version: 1.1 Name: transifex-client -Version: 0.11.beta +Version: 0.11.1.beta Summary: A command line interface for Transifex Home-page: https://www.transifex.com Author: Transifex diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/transifex-client-0.11.beta/txclib/__init__.py new/transifex-client-0.11.1.beta/txclib/__init__.py --- old/transifex-client-0.11.beta/txclib/__init__.py 2014-05-26 21:15:47.000000000 +0200 +++ new/transifex-client-0.11.1.beta/txclib/__init__.py 2014-06-25 16:38:11.000000000 +0200 @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -VERSION = (0, 11, 0, 'beta') +VERSION = (0, 11, 1, 'beta') def get_version(): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/transifex-client-0.11.beta/txclib/project.py new/transifex-client-0.11.1.beta/txclib/project.py --- old/transifex-client-0.11.beta/txclib/project.py 2014-04-08 16:35:11.000000000 +0200 +++ new/transifex-client-0.11.1.beta/txclib/project.py 2014-06-25 16:05:22.000000000 +0200 @@ -496,7 +496,7 @@ " -> %s: %s" % (color_text(remote_lang, "RED"), local_file) ) try: - r = self.do_url_request(url, language=remote_lang) + r, charset = self.do_url_request(url, language=remote_lang) except Exception as e: if isinstance(e, SSLError) or not skip: raise @@ -506,7 +506,7 @@ base_dir = os.path.split(local_file)[0] mkdir_p(base_dir) fd = open(local_file, 'wb') - fd.write(r.encode("utf-8")) + fd.write(r.encode(charset)) fd.close() if new_translations: @@ -545,11 +545,11 @@ " -> %s: %s" % (color_text(remote_lang, "RED"), local_file) ) - r = self.do_url_request(url, language=remote_lang) + r, charset = self.do_url_request(url, language=remote_lang) base_dir = os.path.split(local_file)[0] mkdir_p(base_dir) fd = open(local_file, 'wb') - fd.write(r.encode("utf-8")) + fd.write(r.encode(charset)) fd.close() def push(self, source=False, translations=False, force=False, resources=[], languages=[], @@ -707,9 +707,8 @@ 'resource': resource_slug } logger.debug("URL data are: %s" % self.url_info) - project_details = parse_json( - self.do_url_request('project_details', project=self) - ) + json, _ = self.do_url_request('project_details', project=self) + project_details = parse_json(json) teams = project_details['teams'] stats = self._get_stats_for_resource() delete_func(project_details, resource, stats, languages) @@ -1040,7 +1039,7 @@ return None def _download_pseudo(self, project_slug, resource_slug, pseudo_file): - response = self.do_url_request( + response, charset = self.do_url_request( 'pull_pseudo_file', resource_slug=resource_slug, project_slug=project_slug @@ -1078,7 +1077,7 @@ def _get_stats_for_resource(self): """Get the statistics information for a resource.""" try: - r = self.do_url_request('resource_stats') + r, charset = self.do_url_request('resource_stats') logger.debug("Statistics response is %s" % r) stats = parse_json(r) except HttpNotFound: @@ -1153,7 +1152,8 @@ def _extension_for(self, i18n_type): """Return the extension used for the specified type.""" try: - res = parse_json(self.do_url_request('formats')) + json, charset = self.do_url_request('formats') + res = parse_json(json) return res[i18n_type]['file-extensions'].split(',')[0] except Exception as e: logger.error(e) @@ -1215,7 +1215,8 @@ "i18n_type": i18n_type } - return make_request(method, hostname, url, username, passwd, data) + r, charset = make_request(method, hostname, url, username, passwd, data) + return r def _get_option(self, resource, option): """Get the value for the option in the config file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/transifex-client-0.11.beta/txclib/utils.py new/transifex-client-0.11.1.beta/txclib/utils.py --- old/transifex-client-0.11.beta/txclib/utils.py 2014-04-09 12:21:32.000000000 +0200 +++ new/transifex-client-0.11.1.beta/txclib/utils.py 2014-06-25 16:05:22.000000000 +0200 @@ -5,6 +5,7 @@ from json import loads as parse_json, dumps as compile_json except ImportError: from simplejson import loads as parse_json, dumps as compile_json +from email.parser import Parser from txclib.packages import urllib3 from txclib.packages.urllib3.packages import six from txclib.packages.urllib3.packages.six.moves import input @@ -73,6 +74,16 @@ ) +def determine_charset(response): + content_type = response.headers.get('content-type', None) + if content_type: + message = Parser().parsestr("Content-type: %s" % content_type) + for charset in message.get_charsets(): + if charset: + return charset + return "utf-8" + + def make_request(method, host, url, username, password, fields=None): if host.lower().startswith('https://'): connection = urllib3.connection_from_url( @@ -92,14 +103,15 @@ try: r = connection.request(method, url, headers=headers, fields=fields) data = r.data + charset = determine_charset(r) if isinstance(data, bytes): - data = data.decode("utf-8") + data = data.decode(charset) if r.status < 200 or r.status >= 400: if r.status == 404: raise HttpNotFound(data) else: raise Exception(data) - return data + return data, charset except SSLError: logger.error("Invalid SSL certificate") raise @@ -116,7 +128,7 @@ """ url = API_URLS[api_call] % kwargs try: - data = make_request('GET', kwargs['hostname'], url, username, password) + data, charset = make_request('GET', kwargs['hostname'], url, username, password) return parse_json(data) except Exception as e: logger.debug(six.u(str(e))) -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
