[pkg] require python >= 3.4
This avoid pip pulling a version that does not run on python2 when using a
python2 environment.
Since we already released some 3.27 releases in pypi, I think we should release
3.27.3 and remove releases 3.27.2, 3.27.1 and 3.27.0 from pypi.
from yams.buildobjs import EntityType, RelationType, RelationDefinition, String
from cubicweb.schema import PUB_SYSTEM_ENTITY_PERMS, PUB_SYSTEM_REL_PERMS
class CWPermission(EntityType):
"""entity type that may be used to construct some advanced security
configuration
"""
__permissions__ = PUB_SYSTEM_ENTITY_PERMS
name = String(required=True, indexed=True, internationalizable=True,
maxsize=100, description=(
'name or identifier of the permission'))
label = String(required=True, internationalizable=True, maxsize=100,
description=('distinct label to distinguate between other '
'permission entity of the same name'))
class granted_permission(RelationType):
"""explicitly granted permission on an entity"""
__permissions__ = PUB_SYSTEM_REL_PERMS
# XXX cardinality = '*1'
class require_permission(RelationType):
__permissions__ = PUB_SYSTEM_REL_PERMS
class require_group(RelationDefinition):
"""groups to which the permission is granted"""
__permissions__ = PUB_SYSTEM_REL_PERMS
subject = 'CWPermission'
object = 'CWGroup'
class has_group_permission(RelationDefinition):
"""short cut relation for 'U in_group G, P require_group G' for efficiency
reason. This relation is set automatically, you should not set this.
"""
__permissions__ = PUB_SYSTEM_REL_PERMS
subject = 'CWUser'
object = 'CWPermission'