@property
@functools.lru_cache(maxsize=64)
def permission(self) -> int:
return 1@property
@functools.lru_cache(maxsize=64)
def permission(self) -> int:
return Base.__init__(self, self.bot).permission + 1
Допустим, есть некий класс со следующим проперти:Класс - это, должно быть, Base? А, может, Fase? Неважно, есть класс, весь в декораторах.
и было бы неплохо, получить значение permission у родителя.Родителем класса по определению является класс. Проперть - это свойство экземпляра класса. Индивидуальная проперть одного экземпляра родительского класса влияет на одноимённую проперть экземпляра дочернего класса как?
Платформонезависимая@YardalGedal, ты где такие длинные слова писать выучился? Ладно, проехали.
class A:
_permission = 1
def permission(self) -> int:
return self._permission + 1
class B(A):
_permission = 2
@property
def permission(self) -> int:
permission = config.permissions.ALL
for n, i in enumerate(self.user.data.privileges):
if i:
permission += config.permissions.PRIVILEGES[n]
return permission@property
@functools.lru_cache(maxsize=8)
def permission(self) -> int:
permission = config.permissions.DIALOG
if self.chat.data.id and self.chat.users:
permission += config.permissions.CONVERSATION
if self.chat.users.get(self.user.data.id, {}).get('is_admin'):
permission += config.permissions.CONVERSATION_ADMIN
return permission + super().permission