googleapis / googleapis/google-cloud-python

Refactor ProtoEnumMeta to use _ignore_ for _pb_options

Ouverte
#16,911 0 commentaires 0 réactions 1 personne assignée Réclamée par @chalmerlowe Voir sur GitHub
priority: p2 type: cleanup
Langage dominant
Python
Étoiles
5.4k
Forks
1.8k
Merge moyen
3 j 4 h
PR mergées (30 j)
122

Description

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

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.