Package flumotion :: Package component :: Package bouncers :: Module icalbouncer :: Class IcalBouncer
[hide private]

Class IcalBouncer

source code

             object --+            
                      |            
common.common.InitMixin --+        
                          |        
extern.log.log.Loggable --+        
                          |        
    component.BaseComponent --+    
                              |    
                bouncer.Bouncer --+
                                  |
                                 IcalBouncer

Nested Classes [hide private]

Inherited from bouncer.Bouncer: componentMediumClass

Instance Methods [hide private]
 
init(self)
A subclass should do as little as possible in its init method.
source code
 
check_properties(self, properties, addMessage)
BaseComponent convenience vmethod for running checks.
source code
 
do_setup(self)
Subclasses can implement me to set up the component before it is started.
source code
 
do_authenticate(self, keycard)
Must be overridden by subclasses.
source code
 
do_stop(self)
BaseComponent vmethod for stopping.
source code

Inherited from bouncer.Bouncer: addKeycard, authenticate, do_expireKeycards, do_validate, expireAllKeycards, expireKeycardId, expireKeycardIds, generateKeycardId, getDomain, getEnabled, hasKeycard, keepAlive, on_disabled, on_enabled, on_keycardAdded, on_keycardRemoved, removeKeycard, removeKeycardId, setDomain, setEnabled, typeAllowed

Inherited from component.BaseComponent: __init__, addMessage, adminCallRemote, do_check, fixRenamedProperties, getMood, getName, getWorkerName, setMedium, setMood, setShutdownHook, setWorkerName, setup, setup_completed, stop, waitForHappy

Inherited from component.BaseComponent (private): _pollCPU, _pollMemory

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Inherited from extern.log.log.Loggable: debug, doLog, error, info, log, logFunction, logObjectName, warning, warningFailure, writeMarker

Class Variables [hide private]
  logCategory = 'icalbouncer'
Implementors can provide a category to log their messages under.
tuple of flumotion.common.keycards.Keycard class objects keycardClasses = (<class 'flumotion.common.keycards.KeycardGen...
tuple of all classes of keycards this bouncer can authenticate, in order of preference
  events = []

Inherited from bouncer.Bouncer: KEYCARD_EXPIRE_INTERVAL

Instance Variables [hide private]

Inherited from component.BaseComponent: medium, name, uiState

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

init(self)

source code 

A subclass should do as little as possible in its init method. In particular, it should not try to access resources.

Failures during init are marshalled back to the manager through the worker's remote_create method, since there is no component state proxied to the manager yet at the time of init.

Overrides: component.BaseComponent.init
(inherited documentation)

check_properties(self, properties, addMessage)

source code 

BaseComponent convenience vmethod for running checks.

A component implementation can override this method to run any checks that it needs to. Typically, a check_properties implementation will call the provided addMessage() callback to note warnings or errors. For errors, addMessage() will set component's mood to sad, which will abort the init process before getting to do_setup().

Parameters:
  • properties - The component's properties
  • addMessage - Thunk to add a message to the component state. Will raise an exception if the message is of level ERROR.
Overrides: component.BaseComponent.check_properties
(inherited documentation)

do_setup(self)

source code 

Subclasses can implement me to set up the component before it is started. It should set up the component, possibly opening files and resources. Non-programming errors should not be raised, but returned as a failing deferred.

The return value may be a deferred.

Overrides: component.BaseComponent.do_setup
(inherited documentation)

do_authenticate(self, keycard)

source code 

Must be overridden by subclasses.

Authenticate the given keycard. Return the keycard with state AUTHENTICATED to authenticate, with state REQUESTING to continue the authentication process, or REFUSED to deny the keycard or a deferred which should have the same eventual value.

FIXME: Currently, a return value of 'None' is treated as rejecting the keycard. This is unintuitive.

FIXME: in fact, for authentication sessions like challenge/response, returning a keycard with state REFUSED instead of None will not work properly and may enter in an asynchronous infinit loop.

Overrides: bouncer.Bouncer.do_authenticate
(inherited documentation)

do_stop(self)

source code 

BaseComponent vmethod for stopping. The component should do any cleanup it needs, but must not set the component's mood to sleeping.

Returns:
twisted.internet.defer.Deferred
Overrides: component.BaseComponent.do_stop
(inherited documentation)

Class Variable Details [hide private]

keycardClasses

tuple of all classes of keycards this bouncer can authenticate, in order of preference
Type:
tuple of flumotion.common.keycards.Keycard class objects
Value:
(<class 'flumotion.common.keycards.KeycardGeneric'>)