Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

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

Merged
tseaver merged 8 commits into
googleapis:mastergoogleapis/google-cloud-python:masterfrom
tseaver:851-1696-pubsub-api_helper_classesCopy head branch name to clipboard
Apr 22, 2016
Merged

Factor out API helper classes from 'pubsub.Connection'.#1736
tseaver merged 8 commits into
googleapis:mastergoogleapis/google-cloud-python:masterfrom
tseaver:851-1696-pubsub-api_helper_classesCopy head branch name to clipboard

Conversation

@tseaver

@tseaver tseaver commented Apr 22, 2016

Copy link
Copy Markdown
Contributor

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

tseaver commented Apr 22, 2016

Copy link
Copy Markdown
Contributor Author

@dhermes Rebased after merging #1700 to master. PTAL

Comment thread gcloud/pubsub/client.py
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

dhermes commented Apr 22, 2016

Copy link
Copy Markdown
Contributor

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

dhermes commented Apr 22, 2016

Copy link
Copy Markdown
Contributor

@tseaver LGTM save for my two three clarifications requested.

@tseaver

tseaver commented Apr 22, 2016

Copy link
Copy Markdown
Contributor Author

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

dhermes commented Apr 22, 2016

Copy link
Copy Markdown
Contributor

@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

tseaver commented Apr 22, 2016

Copy link
Copy Markdown
Contributor Author

141eab5 removed them.

@dhermes

dhermes commented Apr 22, 2016

Copy link
Copy Markdown
Contributor

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

Morty Proxy This is a proxified and sanitized view of the page, visit original site.