indygreg created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  With abc interfaces, instance attributes could not satisfy
  @abc.abstractproperty requirements because interface conformance
  was tested at type creation time. When we created the abc
  peer interfaces, we had to make "ui" a @property to satisfy
  abc.
  
  Now that peer interfaces are using zope.interface and there is no
  import time validation (but there are tests validating instances
  conform to the interface), we can go back to using regular object
  attributes.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D3069

AFFECTED FILES
  mercurial/httppeer.py
  mercurial/localrepo.py
  mercurial/sshpeer.py
  tests/test-wireproto.py

CHANGE DETAILS

diff --git a/tests/test-wireproto.py b/tests/test-wireproto.py
--- a/tests/test-wireproto.py
+++ b/tests/test-wireproto.py
@@ -32,11 +32,7 @@
 class clientpeer(wireproto.wirepeer):
     def __init__(self, serverrepo, ui):
         self.serverrepo = serverrepo
-        self._ui = ui
-
-    @property
-    def ui(self):
-        return self._ui
+        self.ui = ui
 
     def url(self):
         return b'test'
diff --git a/mercurial/sshpeer.py b/mercurial/sshpeer.py
--- a/mercurial/sshpeer.py
+++ b/mercurial/sshpeer.py
@@ -354,7 +354,7 @@
         stderr and to forward its output.
         """
         self._url = url
-        self._ui = ui
+        self.ui = ui
         # self._subprocess is unused. Keeping a handle on the process
         # holds a reference and prevents it from being garbage collected.
         self._subprocess = proc
@@ -379,10 +379,6 @@
 
     # Begin of ipeerconnection interface.
 
-    @util.propertycache
-    def ui(self):
-        return self._ui
-
     def url(self):
         return self._url
 
diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -162,15 +162,11 @@
         if caps is None:
             caps = moderncaps.copy()
         self._repo = repo.filtered('served')
-        self._ui = repo.ui
+        self.ui = repo.ui
         self._caps = repo._restrictcapabilities(caps)
 
     # Begin of _basepeer interface.
 
-    @util.propertycache
-    def ui(self):
-        return self._ui
-
     def url(self):
         return self._repo.url()
 
diff --git a/mercurial/httppeer.py b/mercurial/httppeer.py
--- a/mercurial/httppeer.py
+++ b/mercurial/httppeer.py
@@ -135,7 +135,7 @@
 
 class httppeer(wireproto.wirepeer):
     def __init__(self, ui, path, url, opener):
-        self._ui = ui
+        self.ui = ui
         self._path = path
         self._url = url
         self._caps = None
@@ -150,9 +150,9 @@
             getattr(h, "close_all", lambda: None)()
 
     def _openurl(self, req):
-        if (self._ui.debugflag
-            and self._ui.configbool('devel', 'debug.peer-request')):
-            dbg = self._ui.debug
+        if (self.ui.debugflag
+            and self.ui.configbool('devel', 'debug.peer-request')):
+            dbg = self.ui.debug
             line = 'devel-peer-request: %s\n'
             dbg(line % '%s %s' % (req.get_method(), req.get_full_url()))
             hgargssize = None
@@ -179,17 +179,13 @@
             start = util.timer()
 
         ret = self._urlopener.open(req)
-        if self._ui.configbool('devel', 'debug.peer-request'):
+        if self.ui.configbool('devel', 'debug.peer-request'):
             dbg(line % '  finished in %.4f seconds (%s)'
                 % (util.timer() - start, ret.code))
         return ret
 
     # Begin of ipeerconnection interface.
 
-    @util.propertycache
-    def ui(self):
-        return self._ui
-
     def url(self):
         return self._path
 



To: indygreg, #hg-reviewers
Cc: mercurial-devel
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to