googleapis / googleapis/google-cloud-python

Refactor ProtoEnumMeta to use _ignore_ for _pb_options

オープン
#16,911 コメント 0 件 リアクション 0 件 担当者 1 名 @chalmerlowe が担当を希望しています GitHub で見る
priority: p2 type: cleanup
主要言語
Python
スター
5.4k
フォーク
1.8k
平均マージ
3日 4時間
マージ済み PR(30日)
122

説明

We dropped Python 3.7 support and moved to Python 3.9 as the minimum version. This allows us to use the specialized `_ignore_` attribute in `Enum` to ignore `_pb_options` instead of the current manual removal from `_member_names`. Please effect this change to clean up the code in packages/proto-plus/proto/enums.py rather than using the current cumbersome approach.

```
pb_options = "_pb_options"
opts = attrs.pop(pb_options, {})
# This is the only portable way to remove the _pb_options name
# from the enum attrs.
# TODO: Use _ignore_ attribute to ignore _pb_options (Issue #16911)
if pb_options in attrs._member_names:
if isinstance(attrs._member_names, list):
idx = attrs._member_names.index(pb_opt
attrs._member_names.pop(idx)
elif isinstance(attrs._member_names, set):
attrs._member_names.discard(pb_options
else: # Python 3.11.0b3
del attrs._member_names[pb_options]
```

https://github.com/googleapis/google-cloud-python/blob/daa042330755b0db1853b6e45568ead2a3066f4f/packages/proto-plus/pyproject.toml#L23

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。