11308: Merge branch 'master' into 11308-python3
authorTom Clegg <tom@curoverse.com>
Wed, 12 Apr 2017 19:01:07 +0000 (15:01 -0400)
committerTom Clegg <tom@curoverse.com>
Wed, 12 Apr 2017 19:01:07 +0000 (15:01 -0400)
Conflicts:
sdk/python/arvados/__init__.py
sdk/python/arvados/api.py
sdk/python/arvados/commands/ls.py
sdk/python/arvados/keep.py
sdk/python/setup.py
sdk/python/tests/test_arv_ls.py

1  2 
build/run-tests.sh
sdk/python/arvados/api.py
sdk/python/arvados/commands/ls.py
sdk/python/arvados/keep.py
sdk/python/setup.py
sdk/python/tests/test_arv_ls.py

Simple merge
index a06170d2e4916939f25b50dfcccfe5ec67d136f8,543725b516beada820f9b3e001d1267024436b02..6581a8e9acb59bbd81eb57997550d82543887b53
@@@ -79,8 -75,8 +79,8 @@@ def _intercept_http_request(self, uri, 
      for _ in range(retry_count):
          self._last_request_time = time.time()
          try:
-             return self.orig_http_request(uri, **kwargs)
+             return self.orig_http_request(uri, method, **kwargs)
 -        except httplib.HTTPException:
 +        except http.client.HTTPException:
              _logger.debug("Retrying API request in %d s after HTTP error",
                            delay, exc_info=True)
          except socket.error:
index 250bda8f24ac1d46d829fbb42ecbfeeb5343d80b,c6ca0855f70098359f7648694fd807150497cb3e..3e3f67142b579de674089de49563ea8f243ec5a4
mode 100644,100755..100644
@@@ -1,7 -1,11 +1,10 @@@
 -#!/usr/bin/env python
 -
  from __future__ import print_function
 +from __future__ import division
  
  import argparse
+ import collections
+ import logging
+ import re
  import sys
  
  import arvados
@@@ -25,12 -31,12 +30,12 @@@ def parse_args(args)
      return parser.parse_args(args)
  
  def size_formatter(coll_file):
-     return "{:>10}".format((coll_file.size() + 1023) // 1024)
 -    return "{:>10}".format((coll_file.size + 1023) / 1024)
++    return "{:>10}".format((coll_file.size + 1023) // 1024)
  
  def name_formatter(coll_file):
-     return "{}/{}".format(coll_file.stream_name(), coll_file.name)
+     return "{}/{}".format(coll_file.stream_name, coll_file.name)
  
- def main(args, stdout, stderr, api_client=None):
+ def main(args, stdout, stderr, api_client=None, logger=None):
      args = parse_args(args)
  
      if api_client is None:
index ce34e180c12dbb3885e91a4fa7365b000a5c07cf,5b4770c4d0dca8824c268448296d0658c8ba04d8..b0413ebf92a06985591685c54e567b890f6827b1
@@@ -1,14 -1,7 +1,15 @@@
 -import cStringIO
 +from __future__ import absolute_import
 +from __future__ import division
 +from future import standard_library
 +standard_library.install_aliases()
 +from builtins import next
 +from builtins import str
 +from builtins import range
 +from builtins import object
- import io
+ import collections
  import datetime
  import hashlib
++import io
  import logging
  import math
  import os
index 9380a03caad23c274173d3fc33761489eee04de8,5387b0232ab47ae74f5e9c125915b796ecfe1d96..a07155ece332e35ad0315ea1a45095280a485efb
@@@ -45,16 -45,13 +45,13 @@@ setup(name='arvados-python-client'
            ('share/doc/arvados-python-client', ['LICENSE-2.0.txt', 'README.rst']),
        ],
        install_requires=[
-           'google-api-python-client==1.4.2',
-           'oauth2client >=1.4.6, <2',
 -          'google-api-python-client==1.6.2, <1.7',
++          'google-api-python-client >=1.6.2, <1.7',
            'ciso8601',
-           'httplib2',
-           'pycurl >=7.19.5.1, <7.21.5',
-           'python-gflags >=3',
 -          'httplib2 >= 0.9.2',
++          'httplib2 >=0.9.2',
+           'pycurl >=7.19.5.1',
            'setuptools',
 -          'ws4py<0.4',
 -          'ruamel.yaml>=0.13.7'
 +          'ws4py <0.4',
-           'ruamel.yaml >=0.13.7',
-           'future',
++          'ruamel.yaml >=0.13.7'
        ],
        test_suite='tests',
        tests_require=['pbr<1.7.0', 'mock>=1.0', 'PyYAML'],
index a7117d3d043d229da800f01048f868e1d0b18878,99b551082f8c7399500e9b71f3338050f33fea02..e3f6c128aab622dfc49945e50258007998bfeed6
@@@ -35,10 -35,10 +35,10 @@@ class ArvLsTestCase(run_test_server.Tes
          api_client.collections().get().execute.return_value = coll_info
          return coll_info, api_client
  
-     def run_ls(self, args, api_client):
+     def run_ls(self, args, api_client, logger=None):
 -        self.stdout = io.BytesIO()
 -        self.stderr = io.BytesIO()
 +        self.stdout = StringIO()
 +        self.stderr = StringIO()
-         return arv_ls.main(args, self.stdout, self.stderr, api_client)
+         return arv_ls.main(args, self.stdout, self.stderr, api_client, logger)
  
      def test_plain_listing(self):
          collection, api_client = self.mock_api_for_manifest(
  
      def test_locator_failure(self):
          api_client = mock.MagicMock(name='mock_api_client')
+         error_mock = mock.MagicMock()
+         logger = mock.MagicMock()
+         logger.error = error_mock
          api_client.collections().get().execute.side_effect = (
              arv_error.NotFoundError)
-         self.assertNotEqual(0, self.run_ls([self.FAKE_UUID], api_client))
-         self.assertNotEqual('', self.stderr.getvalue())
+         self.assertNotEqual(0, self.run_ls([self.FAKE_UUID], api_client, logger))
+         self.assertEqual(1, error_mock.call_count)
  
      def test_version_argument(self):
 -        err = io.BytesIO()
 -        out = io.BytesIO()
 -        with redirected_streams(stdout=out, stderr=err):
 +        with redirected_streams(stdout=StringIO, stderr=StringIO) as (out, err):
              with self.assertRaises(SystemExit):
                  self.run_ls(['--version'], None)
 -        self.assertEqual(out.getvalue(), '')
 -        self.assertRegexpMatches(err.getvalue(), "[0-9]+\.[0-9]+\.[0-9]+")
 +        self.assertVersionOutput(out, err)