##// END OF EJS Templates
interfaces: convert `repository.ipeerconnection` from zope `Attribute` attrs...
Matt Harbison -
r53360:0cfcc276 default
parent child Browse files
Show More
@@ -8,7 +8,10
8 8
9 9 from __future__ import annotations
10 10
11 import typing
12
11 13 from typing import (
14 Any,
12 15 Protocol,
13 16 )
14 17
@@ -16,6 +19,17 from ..i18n import _
16 19 from .. import error
17 20 from . import util as interfaceutil
18 21
22 if typing.TYPE_CHECKING:
23 # Almost all mercurial modules are only imported in the type checking phase
24 # to avoid circular imports
25 from ..utils import (
26 urlutil,
27 )
28
29 # TODO: create a Protocol class, since importing uimod here causes a cycle
30 # that confuses pytype.
31 Ui = Any
32
19 33 # Local repository feature string.
20 34
21 35 # Revlogs are being used for file storage.
@@ -112,8 +126,11 class ipeerconnection(Protocol):
112 126 outside of this module.
113 127 """
114 128
115 ui = interfaceutil.Attribute("""ui.ui instance""")
116 path = interfaceutil.Attribute("""a urlutil.path instance or None""")
129 ui: Ui
130 """ui.ui instance"""
131
132 path: urlutil.path | None
133 """a urlutil.path instance or None"""
117 134
118 135 def url(self):
119 136 """Returns a URL string representing this peer.
General Comments 0
You need to be logged in to leave comments. Login now