| 2757 | self._sort_alias(alias) |
| 2758 | |
| 2759 | def _add_key(self, pgpkey): |
| 2760 | pkid = id(pgpkey) |
| 2761 | if pkid not in self._keys: |
| 2762 | self._keys[pkid] = pgpkey |
| 2763 | |
| 2764 | # add to _{pub,priv}keys if this is either a primary key, or a subkey without one |
| 2765 | if pgpkey.parent is None: |
| 2766 | if pgpkey.is_public: |
| 2767 | self._pubkeys.append(pkid) |
| 2768 | |
| 2769 | else: |
| 2770 | self._privkeys.append(pkid) |
| 2771 | |
| 2772 | # aliases |
| 2773 | self._add_alias(pgpkey.fingerprint, pkid) |
| 2774 | self._add_alias(pgpkey.fingerprint.keyid, pkid) |
| 2775 | self._add_alias(pgpkey.fingerprint.shortid, pkid) |
| 2776 | for uid in pgpkey.userids: |
| 2777 | self._add_alias(uid.name, pkid) |
| 2778 | if uid.comment: |
| 2779 | self._add_alias(uid.comment, pkid) |
| 2780 | |
| 2781 | if uid.email: |
| 2782 | self._add_alias(uid.email, pkid) |
| 2783 | |
| 2784 | # subkeys |
| 2785 | for subkey in pgpkey.subkeys.values(): |
| 2786 | self._add_key(subkey) |
| 2787 | |
| 2788 | def load(self, *args): |
| 2789 | r""" |