Skip to content

Commit 1f5696f

Browse files
committed
Remove dict parent class from Context
1 parent 9bc8701 commit 1f5696f

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

src/posit/connect/context.py

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,25 +23,28 @@ def wrapper(instance: ContextManager, *args, **kwargs):
2323
return decorator
2424

2525

26-
class Context(dict):
26+
class Context:
2727
def __init__(self, session: requests.Session, url: Url):
2828
self.session = session
2929
self.url = url
30+
self._version: str | None
3031

3132
@property
3233
def version(self) -> Optional[str]:
33-
try:
34-
value = self["version"]
35-
except KeyError:
36-
endpoint = self.url + "server_settings"
37-
response = self.session.get(endpoint)
38-
result = response.json()
39-
value = self["version"] = result.get("version")
34+
value = self._version
35+
if isinstance(value, str):
36+
return value
37+
38+
# Populate version
39+
endpoint = self.url + "server_settings"
40+
response = self.session.get(endpoint)
41+
result = response.json()
42+
value = self._version = result.get("version")
4043
return value
4144

4245
@version.setter
4346
def version(self, value):
44-
self["version"] = value
47+
self._version = value
4548

4649

4750
class ContextManager(Protocol):

0 commit comments

Comments
 (0)