Added objects.default{User,Group,Scd} and "acl" attribute to SCD
authorFrédéric Jolliton <git@frederic.jolliton.com>
Sat, 21 Oct 2006 14:28:23 +0000 (14:28 +0000)
committerFrédéric Jolliton <git@frederic.jolliton.com>
Sat, 21 Oct 2006 14:28:23 +0000 (14:28 +0000)
rsbac/objects.py

index c9754f0..d49a338 100644 (file)
@@ -650,24 +650,15 @@ class Scd( Object ) :
         self._id = byref( id )
         self.id = target
         self.name = name
+        self.acl = acl.AclById( self )
     def getRcType( self ) :
         return Type( self.type , self.id )
     rc_type = property( getRcType )
     def __repr__( self ) :
-        return '<SCD %s>' % self.name
-
-system = new.module( 'system' )
-
-def createScdObject() :
-    prefix = 'ST_'
-    for k , v in headers.__dict__.items() :
-        if k.startswith( prefix ) :
-            k = k[ len( prefix ) : ]
-            scd = Scd( v , k )
-            setattr( system , k , scd )
-
-# Create SystemClock, SystemSysctl, SystemQuota,..
-createScdObject()
+        if self.name is None :
+            return '<DefaultSCD>'
+        else :
+            return '<SCD %s>' % self.name
 
 #--[ NetworkObject ]----------------------------------------------------------
 
@@ -1032,10 +1023,29 @@ pseudoUsers = new.module( 'pseudoUsers' )
 for k , v in _g_pseudoUsers.items() :
     setattr( pseudoUsers , v , User( k ) )
 
+defaultUser = pseudoUsers.no_user
+
 pseudoGroups = new.module( 'pseudoGroups' )
 for k , v in _g_pseudoGroups.items() :
     setattr( pseudoGroups , v , Group( k ) )
 
+defaultGroup = pseudoGroups.no_group
+
+defaultScd = Scd( 0 , None )
+
+system = new.module( 'system' )
+
+def createScdObject() :
+    prefix = 'ST_'
+    for k , v in headers.__dict__.items() :
+        if k.startswith( prefix ) :
+            k = k[ len( prefix ) : ]
+            scd = Scd( v , k )
+            setattr( system , k , scd )
+
+# Create SystemClock, SystemSysctl, SystemQuota,..
+createScdObject()
+
 # Local Variables:
 # indent-tabs-mode: nil
 # python-indent: 4