Uname:
Linux server.thebazaar99.com 5.14.0-687.17.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Jun 22 07:21:26 EDT 2026 x86_64
Software:
Apache
PHP version:
8.3.32 [ PHP INFO ] PHP os:
Linux
Server Ip:
163.227.92.254
Your Ip:
216.73.217.24
User:
gutlooks (1003) | Group:
gutlooks (1005)
Safe Mode:
OFF
Disable Function:
exec,passthru,shell_exec,system
# Copyright 2015, Tresys Technology, LLC
#
# SPDX-License-Identifier: LGPL-2.1-only
#
from typing import MutableMapping
from weakref import WeakKeyDictionary
class DiffResultDescriptor:
"""Descriptor for managing diff results."""
# @properties could be used instead, but there are so
# many result attributes, this will keep the code cleaner.
def __init__(self, diff_function: str) -> None:
self.diff_function = diff_function
# use weak references so instances can be
# garbage collected, rather than unnecessarily
# kept around due to this descriptor.
self.instances: MutableMapping = WeakKeyDictionary()
def __get__(self, obj, objtype=None):
if obj is None:
return self
if self.instances.setdefault(obj, None) is None:
diff = getattr(obj, self.diff_function)
diff()
return self.instances[obj]
def __set__(self, obj, value):
self.instances[obj] = value
def __delete__(self, obj):
self.instances[obj] = None