crafty-4/app/classes/shared/permission_helper.py

28 lines
815 B
Python
Raw Normal View History

2022-01-15 00:23:50 +00:00
from enum import Enum
2022-01-15 00:23:50 +00:00
class PermissionHelper:
@staticmethod
def both_have_perm(a: str, b: str, permission_tested: Enum):
return permission_helper.combine_perm_bool(
a[permission_tested.value], b[permission_tested.value]
)
2022-01-15 00:23:50 +00:00
@staticmethod
def combine_perm(a: str, b: str) -> str:
return "1" if (a == "1" and b == "1") else "0"
2022-01-15 00:23:50 +00:00
@staticmethod
def combine_perm_bool(a: str, b: str) -> bool:
return a == "1" and b == "1"
2022-01-15 00:23:50 +00:00
@staticmethod
def combine_masks(permission_mask_a: str, permission_mask_b: str) -> str:
both_masks = zip(list(permission_mask_a), list(permission_mask_b))
return "".join(
map(lambda x: permission_helper.combine_perm(x[0], x[1]), both_masks)
)
2022-01-15 00:23:50 +00:00
permission_helper = PermissionHelper()