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

description = '<Undocumented>'
property module_name

Returns the module name for this library.

Returns:

the module name

Return type:

str

property 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

Critical message level (constant)

Debug = 10

Debug message level (constant)

DftLogFormat = <logging.Formatter object>

Default log format (constant)

DftLogLevel = 20

Default log level (constant)

DftLogMessageFormat = '%(threadName)-14s %(levelname)-8s %(asctime)s %(name)s: %(message)s'

Default log message format (constant)

Error = 40

Error message level (constant)

Fatal = 50

Fatal message level (constant)

Info = 20

Info message level (constant)

Trace = 5

Trace message level (constant)

Warning = 30

Warning message level (constant)

addChild(child)

Adds a new logging child

Parameters:

child (logging.Logger) – the new child

classmethod 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

classmethod 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 PyQt4 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=None, dep=None, alt=None, rel=None, dbg_msg=None, _callerinfo=None, **kw)

Record a deprecated warning message in this object’s logger. If message is not passed, a estandard deprecation message is constructued using dep, alt, rel arguments. Also, an extra debug message can be recorded, followed by traceback info.

Parameters:
  • msg (str) – the message to be recorded (if None passed, it will be constructed using dep (and, optionally, alt and rel)

  • dep (str) – name of deprecated feature (in case msg is None)

  • alt (str) – name of alternative feature (in case msg is None)

  • rel (str) – name of release from which the feature was deprecated (in case msg is None)

  • dbg_msg (str) – msg for debug (or None to log only the warning)

  • _callerinfo – for internal use only. Do not use this argument.

  • kw – any additional keyword arguments, are passed to logging.Logger.warning()

classmethod disableLogOutput()

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

classmethod 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()
property frontend

the object frontend

property full_name

object full name

getAttrDict()
getChildren()

Returns the log children for this object

Returns:

the list of log children

Return type:

sequence<logging.Logger

classmethod getLogFormat()

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

Returns:

the log message format

Return type:

str

getLogFullName()

Gets the full log name for this object

Returns:

the full log name

Return type:

str

classmethod getLogLevel()

Retuns the current log level (the root log level)

Returns:

a number representing the log level

Return type:

int

getLogName()

Gets the log name for this object

Returns:

the log name

Return type:

str

getLogObj()

Returns the log object for this object

Returns:

the log object

Return type:

logging.Logger

classmethod getLogger(name=None)
getParent()

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

Returns:

the log parent for this object

Return type:

logging.Logger or None

classmethod getRootLog()

Retuns the root logger

Returns:

the root logger

Return type:

logging.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_listeners()
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

classmethod 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>

Default log message format

log_level = 20

Current global log level

property manager

reference to the sardana.Manager

property name

object name

queue_event(event_type, event_value, listeners=None)
removeLogHandler(handler)

Removes the given handler from this object’s logger

Parameters:

handler (logging.Handler) – the handler to be removed

classmethod 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

classmethod resetLogFormat()

Resets the log message format (the root log format)

classmethod resetLogLevel()

Resets the log level (the root log level)

root_init_lock = <unlocked _thread.lock object>

Internal usage

root_inited = True

Internal usage

serialized(*args, **kwargs)
classmethod setLogFormat(format)

sets the new log message format

Parameters:

format (str) – the new log message format

classmethod setLogLevel(level)

sets the new log level (the root log level)

Parameters:

level (int) – the new log level

set_name(name)

Sets sardana object name

Param:

sardana object name

Type:

str

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:

The stack string representation

Return type:

str

str(*args, **kwargs)
stream_handler = <StreamHandler <stderr> (NOTSET)>

the main stream handler

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:

The traceback string representation

Return type:

str

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

Critical message level (constant)

Debug = 10

Debug message level (constant)

DftLogFormat = <logging.Formatter object>

Default log format (constant)

DftLogLevel = 20

Default log level (constant)

DftLogMessageFormat = '%(threadName)-14s %(levelname)-8s %(asctime)s %(name)s: %(message)s'

Default log message format (constant)

Error = 40

Error message level (constant)

Fatal = 50

Fatal message level (constant)

Info = 20

Info message level (constant)

Trace = 5

Trace message level (constant)

Warning = 30

Warning message level (constant)

addChild(child)

Adds a new logging child

Parameters:

child (logging.Logger) – the new child

classmethod 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

classmethod 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 PyQt4 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

property 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.

property 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=None, dep=None, alt=None, rel=None, dbg_msg=None, _callerinfo=None, **kw)

Record a deprecated warning message in this object’s logger. If message is not passed, a estandard deprecation message is constructued using dep, alt, rel arguments. Also, an extra debug message can be recorded, followed by traceback info.

Parameters:
  • msg (str) – the message to be recorded (if None passed, it will be constructed using dep (and, optionally, alt and rel)

  • dep (str) – name of deprecated feature (in case msg is None)

  • alt (str) – name of alternative feature (in case msg is None)

  • rel (str) – name of release from which the feature was deprecated (in case msg is None)

  • dbg_msg (str) – msg for debug (or None to log only the warning)

  • _callerinfo – for internal use only. Do not use this argument.

  • kw – any additional keyword arguments, are passed to logging.Logger.warning()

description = '<Undocumented>'
classmethod disableLogOutput()

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

classmethod 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

property 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

property 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()
property frontend

the object frontend

property full_name

object full name

getAttrDict()
getChildren()

Returns the log children for this object

Returns:

the list of log children

Return type:

sequence<logging.Logger

classmethod getLogFormat()

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

Returns:

the log message format

Return type:

str

getLogFullName()

Gets the full log name for this object

Returns:

the full log name

Return type:

str

classmethod getLogLevel()

Retuns the current log level (the root log level)

Returns:

a number representing the log level

Return type:

int

getLogName()

Gets the log name for this object

Returns:

the log name

Return type:

str

getLogObj()

Returns the log object for this object

Returns:

the log object

Return type:

logging.Logger

classmethod getLogger(name=None)
getParent()

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

Returns:

the log parent for this object

Return type:

logging.Logger or None

classmethod getRootLog()

Retuns the root logger

Returns:

the root logger

Return type:

logging.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_listeners()
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

classmethod initRoot()

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

property lib

~`sardana.sardanameta.SardanaLibrary` for this class.

Returns:

a reference to the library where this class is located

Return type:

:class:~`sardana.sardanameta.SardanaLibrary`

Type:

Returns the library

Type:

class

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>

Default log message format

log_level = 20

Current global log level

property manager

reference to the sardana.Manager

property module

Returns the python module for this class.

Returns:

the python module

Return type:

object

property module_name

Returns the module name for this class.

Returns:

the module name

Return type:

str

property name

object name

property 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)
removeLogHandler(handler)

Removes the given handler from this object’s logger

Parameters:

handler (logging.Handler) – the handler to be removed

classmethod 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

classmethod resetLogFormat()

Resets the log message format (the root log format)

classmethod resetLogLevel()

Resets the log level (the root log level)

root_init_lock = <unlocked _thread.lock object>

Internal usage

root_inited = True

Internal usage

serialize(*args, **kwargs)

Returns a serializable object describing this object.

Returns:

a serializable dict

Return type:

dict

serialized(*args, **kwargs)
classmethod setLogFormat(format)

sets the new log message format

Parameters:

format (str) – the new log message format

classmethod setLogLevel(level)

sets the new log level (the root log level)

Parameters:

level (int) – the new log level

set_name(name)

Sets sardana object name

Param:

sardana object name

Type:

str

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:

The stack string representation

Return type:

str

str(*args, **kwargs)
stream_handler = <StreamHandler <stderr> (NOTSET)>

the main stream handler

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:

The traceback string representation

Return type:

str

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

property klass