我有几种在构造上变化不大的方法。它们用于设置给定项目(field_name)的(类似linux的)权限。变量oview_perms
, gview_perms
,aview_perms
分别代表 Owner、Group 和 Anonymous 权限。这些变量是不可变的,所以这就是我在返回时设置它们的原因。
也许有一种方法可以简化这一点,但仍然保持易于阅读?
def set_oview_perm(self, field_name, perm):
self.oview_perms = self._set_field_permission(self.oview_perms, field_name, perm)
def set_gview_perm(self, field_name, perm):
self.gview_perms = self._set_field_permission(self.gview_perms, field_name, perm)
def set_aview_perm(self, field_name, perm):
self.aview_perms = self._set_field_permission(self.aview_perms, field_name, perm)
def set_oedit_perm(self, field_name, perm):
self.oedit_perms = self._set_field_permission(self.oedit_perms, field_name, perm)
def set_gedit_perm(self, field_name, perm):
self.gedit_perms = self._set_field_permission(self.gedit_perms, field_name, perm)
def set_aedit_perm(self, field_name, perm):
self.aedit_perms = self._set_field_permission(self.aedit_perms, field_name, perm)