sardanameta

This module is part of the Python Sardana libray. It defines the base classes for MetaLibrary and MetaClass

Classes

SardanaLibrary

Inheritance diagram of SardanaLibrary

class SardanaLibrary(**kwargs)[source]

Object representing a python module containing sardana classes. Public members:

  • module - reference to python module

  • file_path - complete (absolute) path (with file name at the end)

  • file_name - file name (including file extension)

  • path - complete (absolute) path

  • name - (=module name) module name (without file extension)

  • meta_classes - dict<str, SardanMetaClass>

  • exc_info - exception information if an error occurred when loading

    the module

name

object name

description = '<Undocumented>'
module_name

Returns the module name for this library.

Returns:the module name
Return type:str
code

Returns a sequence of sourcelines corresponding to the module code.

Returns:list of source code lines
Return type:list<str>
add_meta_class(meta_class)[source]

Adds a new :class:~`sardana.sardanameta.SardanaClass` to this library.

Parameters:meta_class (:class:~`sardana.sardanameta.SardanaClass`) – the meta class to be added to this library
get_meta_class(meta_class_name)[source]

Returns a :class:~`sardana.sardanameta.SardanaClass` for the given meta class name or None if the meta class does not exist in this library.

Parameters:meta_class_name (str) – the meta class name
Returns:a meta class or None
Return type::class:~`sardana.sardanameta.SardanaClass`
get_meta_classes()[source]

Returns a sequence of the meta classes that belong to this library.

Returns:a sequence of meta classes that belong to this library
Return type:seq<:class:~`sardana.sardanameta.SardanaClass`>
has_meta_class(meta_class_name)[source]

Returns True if the given meta class name belongs to this library or False otherwise.

Parameters:meta_class_name (str) – the meta class name
Returns:True if the given meta class name belongs to this library or False otherwise
Return type:bool
add_meta_function(meta_function)[source]

Adds a new :class:~`sardana.sardanameta.SardanaFunction` to this library.

Parameters:meta_function (:class:~`sardana.sardanameta.SardanaFunction`) – the meta function to be added to this library
get_meta_function(meta_function_name)[source]

Returns a :class:~`sardana.sardanameta.SardanaFunction` for the given meta function name or None if the meta function does not exist in this library.

Parameters:meta_function_name (str) – the meta function name
Returns:a meta function or None
Return type::class:~`sardana.sardanameta.SardanaFunction`
get_meta_functions()[source]

Returns a sequence of the meta functions that belong to this library.

Returns:a sequence of meta functions that belong to this library
Return type:seq<:class:~`sardana.sardanameta.SardanaFunction`>
has_meta_function(meta_function_name)[source]

Returns True if the given meta function name belongs to this library or False otherwise.

Parameters:meta_function_name (str) – the meta function name
Returns:True if the given meta function name belongs to this library or False otherwise
Return type:bool
get_meta(meta_name)[source]

Returns a :class:~`sardana.sardanameta.SardanaCode` for the given meta name or None if the meta does not exist in this library.

Parameters:meta_name (str) – the meta name (class, function)
Returns:a meta or None
Return type::class:~`sardana.sardanameta.SardanaCode`
has_meta(meta_name)[source]

Returns True if the given meta name belongs to this library or False otherwise.

Parameters:meta_name (str) – the meta name
Returns:True if the given meta (class or function) name belongs to this library or False otherwise
Return type:bool
has_metas()[source]

Returns True if any meta object exists in the library or False otherwise.

Returns:True if any meta object (class or function) exists in the library or False otherwise
Return type:bool
get_metas()[source]

Returns a sequence of the meta (class and functions) that belong to this library.

Returns:a sequence of meta (class and functions) that belong to this library
Return type:seq<:class:~`sardana.sardanameta.SardanaCode`>
get_name()[source]

Returns the module name for this library (same as :meth:~sardana.sardanameta.SardanaLibrary.get_module_name).

Returns:the module name
Return type:str
get_module_name()[source]

Returns the module name for this library (same as :meth:~sardana.sardanameta.SardanaLibrary.get_name).

Returns:the module name
Return type:str
get_module()[source]

Returns the python module for this library.

Returns:the python module
Return type:object
get_description()[source]

Returns the this library documentation or “<Undocumented>” if no documentation exists.

Returns:this library documentation or None
Return type:str
get_code()[source]

Returns a sequence of sourcelines corresponding to the module code.

Returns:list of source code lines
Return type:list<str>
get_file_path()[source]

Returns the file path for this library. On posix systems is something like: /abs/path/filename.py

Returns:this library file path
Return type:str
get_file_name()[source]

Returns the file name for this library. On posix systems is something like: filename.py

Returns:this library file name
Return type:str
has_errors()[source]

Returns True if this library has syntax errors or False otherwise.

Returns:True if this library has syntax errors or False otherwise
Return type:bool
set_error(exc_info)[source]

Sets the error information for this library

Parameters:exc_info (tuple<type, value, traceback>) – error information. It must be an object similar to the one returned by sys.exc_info()
get_error()[source]

Gets the error information for this library or None if no error exists

Returns:error information. An object similar to the one returned by sys.exc_info()
Return type:tuple<type, value, traceback>
serialize(*args, **kwargs)[source]

Returns a serializable object describing this object.

Returns:a serializable dict
Return type:dict
Critical = 50
Debug = 10
DftLogFormat = <logging.Formatter object>
DftLogLevel = 20
DftLogMessageFormat = '%(threadName)-14s %(levelname)-8s %(asctime)s %(name)s: %(message)s'
Error = 40
Fatal = 50
Info = 20
Trace = 5
Warning = 30
addChild(child)

Adds a new logging child

Parameters:child – (logging.Logger) the new child
addLevelName(level_no, level_name)

Registers a new log level

Parameters:
  • level_no – (int) the level number
  • level_name – (str) the corresponding name
addLogHandler(handler)

Registers a new handler in this object’s logger

Parameters:handler – (logging.Handler) the new handler to be added
addRootLogHandler(h)

Adds a new handler to the root logger

Parameters:h – (logging.Handler) the new log handler
add_listener(listener)

Adds a new listener for this object.

Parameters:listener – a listener
are_events_blocked()
block_events()
call__init__(klass, *args, **kw)

Method to be called from subclasses to call superclass corresponding __init__ method. This method ensures that classes from diamond like class hierarquies don’t call their super classes __init__ more than once.

call__init__wo_kw(klass, *args)

Same as call__init__ but without keyword arguments because PyQT does not support them.

changeLogName(name)

Change the log name for this object.

Parameters:name – (str) the new log name
cleanUp()

The cleanUp. Default implementation does nothing Overwrite when necessary

copyLogHandlers(other)

Copies the log handlers of other object to this object

Parameters:other – (object) object which contains ‘log_handlers’
critical(msg, *args, **kw)

Record a critical message in this object’s logger. Accepted args and kwargs are the same as logging.Logger.critical().

Parameters:
  • msg – (str) the message to be recorded
  • args – list of arguments
  • kw – list of keyword arguments
debug(msg, *args, **kw)

Record a debug message in this object’s logger. Accepted args and kwargs are the same as logging.Logger.debug().

Parameters:
  • msg – (str) the message to be recorded
  • args – list of arguments
  • kw – list of keyword arguments
deprecated(msg, *args, **kw)

Record a deprecated warning message in this object’s logger. Accepted args and kwargs are the same as logging.Logger.warning().

Parameters:
  • msg – (str) the message to be recorded
  • args – list of arguments
  • kw – list of keyword arguments
disableLogOutput()

Disables the logging.StreamHandler which dumps log records, by default, to the stderr.

enableLogOutput()

Enables the logging.StreamHandler which dumps log records, by default, to the stderr.

error(msg, *args, **kw)

Record an error message in this object’s logger. Accepted args and kwargs are the same as logging.Logger.error().

Parameters:
  • msg – (str) the message to be recorded
  • args – list of arguments
  • kw – list of keyword arguments
exception(msg, *args)

Log a message with severity ‘ERROR’ on the root logger, with exception information.. Accepted args are the same as logging.Logger.exception().

Parameters:
  • msg – (str) the message to be recorded
  • args – list of arguments
fatal(msg, *args, **kw)

Record a fatal message in this object’s logger. Accepted args and kwargs are the same as logging.Logger.fatal().

Parameters:
  • msg – (str) the message to be recorded
  • args – list of arguments
  • kw – list of keyword arguments
fire_event(event_type, event_value, listeners=None, protected=True)
flushOutput()

Flushes the log output

flush_queue()
frontend

the object frontend

full_name

object full name

getAttrDict()
getChildren()

Returns the log children for this object

Returns:(sequence<logging.Logger) the list of log children
getLogFormat()

Retuns the current log message format (the root log format)

Returns:(str) the log message format
getLogFullName()

Gets the full log name for this object

Returns:(str) the full log name
getLogLevel()

Retuns the current log level (the root log level)

Returns:(int) a number representing the log level
getLogName()

Gets the log name for this object

Returns:(str) the log name
getLogObj()

Returns the log object for this object

Returns:(logging.Logger) the log object
getLogger(name=None)
getParent()

Returns the log parent for this object or None if no parent exists

Returns:(logging.Logger or None) the log parent for this object
getRootLog()

Retuns the root logger

Returns:(logging.Logger) the root logger
get_frontend()

Returns this sardana frontend object or None if no frontend is registered

Returns:this objects frontend
Return type:object
get_full_name()

Returns this sardana object full name

Returns:this sardana object full name
Return type:str
get_interface()

Returns the interface this object implements.

Returns:The interface this object implements.
Return type:sardana.sardanadefs.Interface
get_interface_names()

Returns a sequence of interface names this object implements.

Returns:The sequence of interfaces this object implements.
Return type:sequence<str>
get_interfaces()

Returns the set of interfaces this object implements.

Returns:The set of interfaces this object implements.
Return type:class:set <sardana.sardanadefs.Interface>
get_manager()

Return the sardana.Manager which owns this sardana object.

Returns:the manager which owns this pool object.
Return type:sardana.Manager
get_parent()

Returns this pool object parent.

Returns:this objects parent
Return type:SardanaBaseObject
get_parent_name()

Returns this sardana object parent’s name.

Returns:this objects parent
Return type:str
get_type()

Returns this sardana object type.

Returns:this sardana object type
Return type:ElementType
has_listeners()

Returns True if anybody is listening to events from this object

Returns:True is at least one listener is listening or False otherwise
info(msg, *args, **kw)

Record an info message in this object’s logger. Accepted args and kwargs are the same as logging.Logger.info().

Parameters:
  • msg – (str) the message to be recorded
  • args – list of arguments
  • kw – list of keyword arguments
initRoot()

Class method to initialize the root logger. Do NOT call this method directly in your code

log(level, msg, *args, **kw)

Record a log message in this object’s logger. Accepted args and kwargs are the same as logging.Logger.log().

Parameters:
  • level – (int) the record level
  • msg – (str) the message to be recorded
  • args – list of arguments
  • kw – list of keyword arguments
log_format = <logging.Formatter object>
log_level = 20
manager

reference to the sardana.Manager

queue_event(event_type, event_value, listeners=None)
removeRootLogHandler(h)

Removes the given handler from the root logger

Parameters:h – (logging.Handler) the handler to be removed
remove_listener(listener)

Removes an existing listener for this object.

Parameters:listener – the listener to be removed
Returns:True is succeeded or False otherwise
resetLogFormat()

Resets the log message format (the root log format)

resetLogLevel()

Resets the log level (the root log level)

root_init_lock = <thread.lock object>
root_inited = False
serialized(*args, **kwargs)
setLogFormat(format)

sets the new log message format

Parameters:level – (str) the new log message format
setLogLevel(level)

sets the new log level (the root log level)

Parameters:level – (int) the new log level
stack(target=5)

Log the usual stack information, followed by a listing of all the local variables in each frame.

Parameters:target – (int) the log level assigned to the record
Returns:(str) The stack string representation
str(*args, **kwargs)
stream_handler = None
syncLog()

Synchronises the log output

trace(msg, *args, **kw)

Record a trace message in this object’s logger. Accepted args and kwargs are the same as logging.Logger.log().

Parameters:
  • msg – (str) the message to be recorded
  • args – list of arguments
  • kw – list of keyword arguments
traceback(level=5, extended=True)

Log the usual traceback information, followed by a listing of all the local variables in each frame.

Parameters:
  • level – (int) the log level assigned to the traceback record
  • extended – (bool) if True, the log record message will have multiple lines
Returns:

(str) The traceback string representation

unblock_events()
updateAttrDict(other)
warning(msg, *args, **kw)

Record a warning message in this object’s logger. Accepted args and kwargs are the same as logging.Logger.warning().

Parameters:
  • msg – (str) the message to be recorded
  • args – list of arguments
  • kw – list of keyword arguments

SardanaClass

Inheritance diagram of SardanaClass

class SardanaClass(**kwargs)[source]

Object representing a python class.

Critical = 50
Debug = 10
DftLogFormat = <logging.Formatter object>
DftLogLevel = 20
DftLogMessageFormat = '%(threadName)-14s %(levelname)-8s %(asctime)s %(name)s: %(message)s'
Error = 40
Fatal = 50
Info = 20
Trace = 5
Warning = 30
addChild(child)

Adds a new logging child

Parameters:child – (logging.Logger) the new child
addLevelName(level_no, level_name)

Registers a new log level

Parameters:
  • level_no – (int) the level number
  • level_name – (str) the corresponding name
addLogHandler(handler)

Registers a new handler in this object’s logger

Parameters:handler – (logging.Handler) the new handler to be added
addRootLogHandler(h)

Adds a new handler to the root logger

Parameters:h – (logging.Handler) the new log handler
add_listener(listener)

Adds a new listener for this object.

Parameters:listener – a listener
are_events_blocked()
block_events()
call__init__(klass, *args, **kw)

Method to be called from subclasses to call superclass corresponding __init__ method. This method ensures that classes from diamond like class hierarquies don’t call their super classes __init__ more than once.

call__init__wo_kw(klass, *args)

Same as call__init__ but without keyword arguments because PyQT does not support them.

changeLogName(name)

Change the log name for this object.

Parameters:name – (str) the new log name
cleanUp()

The cleanUp. Default implementation does nothing Overwrite when necessary

code

Returns a tuple (sourcelines, firstline) corresponding to the definition of this code object. sourcelines is a list of source code lines. firstline is the line number of the first source code line.

code_object
copyLogHandlers(other)

Copies the log handlers of other object to this object

Parameters:other – (object) object which contains ‘log_handlers’
critical(msg, *args, **kw)

Record a critical message in this object’s logger. Accepted args and kwargs are the same as logging.Logger.critical().

Parameters:
  • msg – (str) the message to be recorded
  • args – list of arguments
  • kw – list of keyword arguments
debug(msg, *args, **kw)

Record a debug message in this object’s logger. Accepted args and kwargs are the same as logging.Logger.debug().

Parameters:
  • msg – (str) the message to be recorded
  • args – list of arguments
  • kw – list of keyword arguments
deprecated(msg, *args, **kw)

Record a deprecated warning message in this object’s logger. Accepted args and kwargs are the same as logging.Logger.warning().

Parameters:
  • msg – (str) the message to be recorded
  • args – list of arguments
  • kw – list of keyword arguments
description = '<Undocumented>'
disableLogOutput()

Disables the logging.StreamHandler which dumps log records, by default, to the stderr.

enableLogOutput()

Enables the logging.StreamHandler which dumps log records, by default, to the stderr.

error(msg, *args, **kw)

Record an error message in this object’s logger. Accepted args and kwargs are the same as logging.Logger.error().

Parameters:
  • msg – (str) the message to be recorded
  • args – list of arguments
  • kw – list of keyword arguments
exception(msg, *args)

Log a message with severity ‘ERROR’ on the root logger, with exception information.. Accepted args are the same as logging.Logger.exception().

Parameters:
  • msg – (str) the message to be recorded
  • args – list of arguments
fatal(msg, *args, **kw)

Record a fatal message in this object’s logger. Accepted args and kwargs are the same as logging.Logger.fatal().

Parameters:
  • msg – (str) the message to be recorded
  • args – list of arguments
  • kw – list of keyword arguments
file_name

Returns the file name for the library where this class is. On posix systems is something like: filename.py

Returns:the file name for the library where this class is
Return type:str
file_path

Returns the file path for for the library where this class is. On posix systems is something like: /abs/path/filename.py

Returns:the file path for for the library where this class is
Return type:str
fire_event(event_type, event_value, listeners=None, protected=True)
flushOutput()

Flushes the log output

flush_queue()
frontend

the object frontend

full_name

object full name

getAttrDict()
getChildren()

Returns the log children for this object

Returns:(sequence<logging.Logger) the list of log children
getLogFormat()

Retuns the current log message format (the root log format)

Returns:(str) the log message format
getLogFullName()

Gets the full log name for this object

Returns:(str) the full log name
getLogLevel()

Retuns the current log level (the root log level)

Returns:(int) a number representing the log level
getLogName()

Gets the log name for this object

Returns:(str) the log name
getLogObj()

Returns the log object for this object

Returns:(logging.Logger) the log object
getLogger(name=None)
getParent()

Returns the log parent for this object or None if no parent exists

Returns:(logging.Logger or None) the log parent for this object
getRootLog()

Retuns the root logger

Returns:(logging.Logger) the root logger
get_brief_description(max_chars=60)
get_code()

Returns a tuple (sourcelines, firstline) corresponding to the definition of the controller class. sourcelines is a list of source code lines. firstline is the line number of the first source code line.

get_frontend()

Returns this sardana frontend object or None if no frontend is registered

Returns:this objects frontend
Return type:object
get_full_name()

Returns this sardana object full name

Returns:this sardana object full name
Return type:str
get_interface()

Returns the interface this object implements.

Returns:The interface this object implements.
Return type:sardana.sardanadefs.Interface
get_interface_names()

Returns a sequence of interface names this object implements.

Returns:The sequence of interfaces this object implements.
Return type:sequence<str>
get_interfaces()

Returns the set of interfaces this object implements.

Returns:The set of interfaces this object implements.
Return type:class:set <sardana.sardanadefs.Interface>
get_manager()

Return the sardana.Manager which owns this sardana object.

Returns:the manager which owns this pool object.
Return type:sardana.Manager
get_name()

Returns this sardana object name

Returns:this sardana object name
Return type:str
get_parent()

Returns this pool object parent.

Returns:this objects parent
Return type:SardanaBaseObject
get_parent_name()

Returns this sardana object parent’s name.

Returns:this objects parent
Return type:str
get_type()

Returns this sardana object type.

Returns:this sardana object type
Return type:ElementType
has_listeners()

Returns True if anybody is listening to events from this object

Returns:True is at least one listener is listening or False otherwise
info(msg, *args, **kw)

Record an info message in this object’s logger. Accepted args and kwargs are the same as logging.Logger.info().

Parameters:
  • msg – (str) the message to be recorded
  • args – list of arguments
  • kw – list of keyword arguments
initRoot()

Class method to initialize the root logger. Do NOT call this method directly in your code

lib

Returns the library :class:~`sardana.sardanameta.SardanaLibrary` for this class.

Returns:a reference to the library where this class is located
Return type::class:~`sardana.sardanameta.SardanaLibrary`
log(level, msg, *args, **kw)

Record a log message in this object’s logger. Accepted args and kwargs are the same as logging.Logger.log().

Parameters:
  • level – (int) the record level
  • msg – (str) the message to be recorded
  • args – list of arguments
  • kw – list of keyword arguments
log_format = <logging.Formatter object>
log_level = 20
manager

reference to the sardana.Manager

module

Returns the python module for this class.

Returns:the python module
Return type:object
module_name

Returns the module name for this class.

Returns:the module name
Return type:str
name

object name

path

Returns the absolute path for the library where this class is. On posix systems is something like: /abs/path

Returns:the absolute path for the library where this class is
Return type:str
queue_event(event_type, event_value, listeners=None)
removeRootLogHandler(h)

Removes the given handler from the root logger

Parameters:h – (logging.Handler) the handler to be removed
remove_listener(listener)

Removes an existing listener for this object.

Parameters:listener – the listener to be removed
Returns:True is succeeded or False otherwise
resetLogFormat()

Resets the log message format (the root log format)

resetLogLevel()

Resets the log level (the root log level)

root_init_lock = <thread.lock object>
root_inited = False
serialize(*args, **kwargs)

Returns a serializable object describing this object.

Returns:a serializable dict
Return type:dict
serialized(*args, **kwargs)
setLogFormat(format)

sets the new log message format

Parameters:level – (str) the new log message format
setLogLevel(level)

sets the new log level (the root log level)

Parameters:level – (int) the new log level
stack(target=5)

Log the usual stack information, followed by a listing of all the local variables in each frame.

Parameters:target – (int) the log level assigned to the record
Returns:(str) The stack string representation
str(*args, **kwargs)
stream_handler = None
syncLog()

Synchronises the log output

trace(msg, *args, **kw)

Record a trace message in this object’s logger. Accepted args and kwargs are the same as logging.Logger.log().

Parameters:
  • msg – (str) the message to be recorded
  • args – list of arguments
  • kw – list of keyword arguments
traceback(level=5, extended=True)

Log the usual traceback information, followed by a listing of all the local variables in each frame.

Parameters:
  • level – (int) the log level assigned to the traceback record
  • extended – (bool) if True, the log record message will have multiple lines
Returns:

(str) The traceback string representation

unblock_events()
updateAttrDict(other)
warning(msg, *args, **kw)

Record a warning message in this object’s logger. Accepted args and kwargs are the same as logging.Logger.warning().

Parameters:
  • msg – (str) the message to be recorded
  • args – list of arguments
  • kw – list of keyword arguments
klass