3
SÉLj˜Q ã @ sÆ d Z dZddlZddlZejd dk r`G dd„ deƒZG dd„ deƒZejjeƒ ejjeƒ nejZG d d
„ d
eƒZ G dd„ de ƒZ
ejje ƒ G d
d„ de ƒZG dd„ deƒZ
G dd„ deƒZdS )aè Contains container classes to represent different protocol buffer types.
This file defines container classes which represent categories of protocol
buffer field types which need extra maintenance. Currently these categories
are:
- Repeated scalar fields - These are all repeated fields which aren't
composite (e.g. they are of simple types like int32, string, etc).
- Repeated composite fields - Repeated fields which are composite. This
includes groups and nested messages.
zpetar@google.com (Petar Petrov)é Né c @ sf e Zd Zf Zddd„Zdd„ Zdd„ Zdd „ Zd
d„ Zdd
„ Z dd„ Z
dd„ ZdZdd„ Z
dd„ ZdS )ÚMappingNc C s" y| | S t k
r |S X d S )N)ÚKeyError)ÚselfÚkeyÚdefault© r ú /usr/lib/python3.6/containers.pyÚgetG s zMapping.getc C s* y| | W n t k
r dS X dS d S )NFT)r )r r r r r Ú__contains__M s
zMapping.__contains__c C s t | ƒS )N)Úiter)r r r r ÚiterkeysU s zMapping.iterkeysc c s x| D ]}| | V qW d S )Nr )r r r r r Ú
itervaluesX s
zMapping.itervaluesc c s x| D ]}|| | fV qW d S )Nr )r r r r r Ú iteritems\ s
zMapping.iteritemsc C s t | ƒS )N)Úlist)r r r r Úkeys` s zMapping.keysc s ‡ fdd„ˆ D ƒS )Nc s g | ]}|ˆ | f‘qS r r )Ú.0r )r r r ú