Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Factor out API helper classes from 'pubsub.Connection'.#1736

Merged
tseaver merged 8 commits intogoogleapis:masterfrom
tseaver:851-1696-pubsub-api_helper_classes
Apr 22, 2016
Merged

Factor out API helper classes from 'pubsub.Connection'.#1736
tseaver merged 8 commits intogoogleapis:masterfrom
tseaver:851-1696-pubsub-api_helper_classes

Conversation

@tseaver
Copy link
Contributor

@tseaver tseaver commented Apr 22, 2016

Uses #1700 as a base.

Toward #851 / #1696.

@tseaver tseaver added the api: pubsub Issues related to the Pub/Sub API. label Apr 22, 2016
@googlebot googlebot added the cla: yes This human has signed the Contributor License Agreement. label Apr 22, 2016
tseaver added 6 commits April 22, 2016 12:14
These API objects will represent logical groupings of the JSON api
endpoints, and correspond one-for-one to the stubs exposed by the
generated gRPC code.

Further commits will move the endpoint-specific methods from the
'Connecttion' class into the relevant API classes, and adjust the
callers.

See:

#1700 (comment)
@tseaver
Copy link
Contributor Author

tseaver commented Apr 22, 2016

@dhermes Rebased after merging #1700 to master. PTAL

def publisher_api(self):
"""Helper for publisher-related API calls."""
if self._publisher_api is None:
self._publisher_api = _PublisherAPI(self.connection)

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

@dhermes
Copy link
Contributor

dhermes commented Apr 22, 2016

For non-test code, ISTM the only change after the cut-and-paste was self.api_request -> self.conn.api_request (and synonyms). Is that correct?

self.assertEqual(conn.build_api_url('/foo', api_base_url=base_url2),
URI)

def _verify_uri(self, uri, expected_path, **expected_qs):

This comment was marked as spam.

This comment was marked as spam.

@dhermes
Copy link
Contributor

dhermes commented Apr 22, 2016

@tseaver LGTM save for my two three clarifications requested.

@tseaver
Copy link
Contributor Author

tseaver commented Apr 22, 2016

For non-test code, ISTM the only change after the cut-and-paste was self.api_request -> self.conn.api_request (and synonyms). Is that correct?

For the helper objects, yes. The callers now delegate to the methods of the helpers, rather than the connection.

@tseaver tseaver merged commit d97cffe into googleapis:master Apr 22, 2016
@tseaver tseaver deleted the 851-1696-pubsub-api_helper_classes branch April 22, 2016 18:01
@dhermes
Copy link
Contributor

dhermes commented Apr 22, 2016

@tseaver You jumped the gun a bit on the merge. I have an unanswered question:

Why couldn't those lines just be deleted?

regarding setting test connections to object(). Why do they need to be set at all?

@tseaver
Copy link
Contributor Author

tseaver commented Apr 22, 2016

141eab5 removed them.

@dhermes
Copy link
Contributor

dhermes commented Apr 22, 2016

I'm seeing

conn = client.connection = object()

on line 36 of gcloud/pubsub/test_client.py. Lines like that are ones I am curious about.

Instead of self.assertTrue(api._connection is conn) you could use self.assertIsNone(api._connection)

parthea added a commit that referenced this pull request Nov 24, 2025
Co-authored-by: Anthonios Partheniou <partheniou@google.com>
parthea added a commit that referenced this pull request Mar 6, 2026
* chore(python): Add Python 3.12

Source-Link: googleapis/synthtool@af16e6d
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:bacc3af03bff793a03add584537b36b5644342931ad989e3ba1171d3bd5399f5

* add trove classifier for python 3.12

* update kokoro configs

* Add python 3.12 to noxfile.py

* update georaphy sample requirements

* update geography samples requirements

* add testing constraint file for 3.12

* remove repr test

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Anthonios Partheniou <partheniou@google.com>
Co-authored-by: Linchin <lingqing.gan@gmail.com>
parthea pushed a commit that referenced this pull request Mar 9, 2026
PR created by the Librarian CLI to initialize a release. Merging this PR
will auto trigger a release.

Librarian Version: v1.0.2-0.20251119154421-36c3e21ad3ac
Language Image:
us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/python-librarian-generator@sha256:8e2c32496077054105bd06c54a59d6a6694287bc053588e24debe6da6920ad91
<details><summary>google-cloud-storage: 3.9.0</summary>

##
[3.9.0](googleapis/python-storage@v3.8.0...v3.9.0)
(2026-02-02)

### Features

* update generation for MRD (#1730)
([08bc7082](googleapis/python-storage@08bc7082))

* add get_object method for async grpc client (#1735)
([0e5ec29b](googleapis/python-storage@0e5ec29b))

* Add micro-benchmarks for reads comparing standard (regional) vs rapid
(zonal) buckets. (#1697)
([1917649f](googleapis/python-storage@1917649f))

* Add support for opening via `write_handle` and fix `write_handle` type
(#1715)
([2bc15fa5](googleapis/python-storage@2bc15fa5))

* add samples for appendable objects writes and reads
([2e1a1eb5](googleapis/python-storage@2e1a1eb5))

* add samples for appendable objects writes and reads (#1705)
([2e1a1eb5](googleapis/python-storage@2e1a1eb5))

* add context manager to mrd (#1724)
([5ac2808a](googleapis/python-storage@5ac2808a))

* Move Zonal Buckets features of `_experimental` (#1728)
([74c9ecc5](googleapis/python-storage@74c9ecc5))

* add default user agent for grpc (#1726)
([7b319469](googleapis/python-storage@7b319469))

* expose finalized_time in blob.py applicable for GET_OBJECT in ZB
(#1719)
([8e21a7f](googleapis/python-storage@8e21a7fe))

* expose `DELETE_OBJECT` in `AsyncGrpcClient` (#1718)
([c8dd7a0b](googleapis/python-storage@c8dd7a0b))

* send `user_agent` to grpc channel (#1712)
([cdb2486b](googleapis/python-storage@cdb2486b))

* integrate writes strategy and appendable object writer (#1695)
([dbd162b3](googleapis/python-storage@dbd162b3))

* Add micro-benchmarks for writes comparing standard (regional) vs rapid
(zonal) buckets. (#1707)
([dbe9d8b8](googleapis/python-storage@dbe9d8b8))

* add support for `generation=0` to avoid overwriting existing objects
and add `is_stream_open` support (#1709)
([ea0f5bf8](googleapis/python-storage@ea0f5bf8))

* add support for `generation=0` to prevent overwriting existing objects
([ea0f5bf8](googleapis/python-storage@ea0f5bf8))

* add `is_stream_open` property to AsyncAppendableObjectWriter for
stream status check
([ea0f5bf8](googleapis/python-storage@ea0f5bf8))

### Bug Fixes

* receive eof while closing reads stream (#1733)
([2ef63396](googleapis/python-storage@2ef63396))

* update write handle on every recv() (#1716)
([5d9fafe1](googleapis/python-storage@5d9fafe1))

* implement requests_done method to signal end of requests in async
streams. Gracefully close streams. (#1700)
([6c160794](googleapis/python-storage@6c160794))

* implement requests_done method to signal end of requests in async
streams. Gracefully close streams.
([6c160794](googleapis/python-storage@6c160794))

* instance grpc client once per process in benchmarks (#1725)
([721ea2dd](googleapis/python-storage@721ea2dd))

* Fix formatting in setup.py dependencies list (#1713)
([cc4831d7](googleapis/python-storage@cc4831d7))

* Change contructors of MRD and AAOW AsyncGrpcClient.grpc_client to
AsyncGrpcClient (#1727)
([e730bf50](googleapis/python-storage@e730bf50))

</details>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api: pubsub Issues related to the Pub/Sub API. cla: yes This human has signed the Contributor License Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants