def ListCommonPrefixes(self, delimiter, callback, prefix=None, marker=None, maxkeys=None):
    assert delimiter is not None, 'delimiter arg is required on ListCommonPrefixes'
    def _OnCompletedGet(response):
      if response.error:
        raise response.error

      # Expected XML format documented at http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGET.html
      # Example for a response with 2 keys:
      # <?xml version="1.0" encoding="UTF-8"?>
      # <ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
      #   <Contents>
      #     <Key>path/to/object1</Key>
      #   </Contents>
      #   <Contents>
      #     <Key>path/to/object2</Key>
      #   </Contents>
      # </ListBucketResult>
      ns = '{http://s3.amazonaws.com/doc/2006-03-01/}'
      common_prefix_element = '%sCommonPrefixes' % ns
      prefix_element = '%sPrefix' % ns

      item_element = '%sContents' % ns
      key_element = '%sKey' % ns

      bucket_list = ElementTree.XML(response.body)
      prefixes = [item.find(prefix_element).text for item in bucket_list.iter(common_prefix_element)]
      items = [item.find(key_element).text for item in bucket_list.iter(item_element)]
      callback((prefixes, items))

    params = dict()
    if prefix:
      params['prefix'] = prefix
    if marker:
      params['marker'] = marker
    if maxkeys is not None:
      params['max-keys'] = maxkeys
    params['delimiter'] = delimiter

    self._async_s3_conn.make_request('GET', bucket=self._bucket_name, key='', params=params, callback=_OnCompletedGet)
Redirects to the manage runs list, with manage finder open.
dataset/ETHPy150Open viewfinderco/viewfinder/backend/storage/s3_object_store.py/S3ObjectStore.ListCommonPrefixes--crossover with--dataset/ETHPy150Open mozilla/moztrap/tests/view/manage/test_views.py/ManageHomeViewTest.test_redirects_to_manage_runs_with_open_finder