Common functionality

Contains helper functions

secsgem.common.format_hex(text)[source]

Returns byte arrays (string) formated as hex numbers.

Example:

>>> import secsgem
>>>
>>> data = "asdfg"
>>> secsgem.common.format_hex(data)
'61:73:64:66:67'
Parameters:text (string) – byte array
Returns:Formated text
Return type:string
secsgem.common.is_windows()[source]

Returns True if running on windows

Returns:Is windows system
Return type:bool
secsgem.common.function_name(function)[source]

Gets name of function or method

Returns:function/method name
Return type:string
class secsgem.common.StreamFunctionCallbackHandler[source]

Base class for all connection classes. Provides functionality for registering and unregistering callbacks for streams and functions.

register_callback(stream, function, callback)[source]

Register the function callback for stream and function. Multiple callbacks can be registered for one function.

Parameters:
  • stream (integer) – stream to register callback for
  • function (integer) – function to register callback for
  • callback (def callback(connection)) – method to call when stream and functions is received
unregister_callback(stream, function, callback)[source]

Unregister the function callback for stream and function. Multiple callbacks can be registered for one function, only the supplied callback will be removed.

Parameters:
  • stream (integer) – stream to unregister callback for
  • function (integer) – function to register callback for
  • callback (def callback(connection)) – method to remove from callback list
class secsgem.common.EventHandler(target=None, events=None, generic_handler=None)[source]

Class for event handling. Provides functionality for managing events.

Parameters:
  • target (object) – receiver object for event callbacks
  • generic_handler (def handler(eventName, data)) – receiver function for all events
Params events:

dictionary of event names with handlers

fire_event(event_name, params)[source]

Fire an event

Parameters:
  • event_name (string) – event to fire
  • params (dict) – parameters for event
add_event_handler(event_name, handler)[source]

Register handler for an event. Multiple handlers can be registered for one event.

Parameters:
  • event_name (string) – event to register handler for
  • handler (def handler(event_name, handler)) – method to call when event is received
remove_event_handler(event_name, handler)[source]

Unregister handler for an event.

Parameters:
  • event_name (string) – event to unregister handler for
  • handler (def handler(event_name, handler)) – method to unregister
class secsgem.common.EventProducer(event_handler)[source]

Class for event production. Provides functionality for sending events.

Parameters:event_handler (secsgem.common.EventHandler) – object for event handling
fire_event(event_name, data, async=False)[source]

Fire an event

Parameters:
  • event_name (string) – event to fire
  • data (dict) – parameters for event