macroserver
¶
Functions
Classes
MacroServer¶

-
class
MacroServer
(full_name, name=None, macro_path=None, environment_db=None, recorder_path=None)[source]¶ Bases:
sardana.macroserver.mscontainer.MSContainer
,sardana.macroserver.msbase.MSObject
,sardana.sardanamanager.SardanaElementManager
,sardana.sardanamanager.SardanaIDManager
-
logReportKlass
¶ alias of
NonOverlappingTimedRotatingFileHandler
-
set_environment_db
(environment_db)[source]¶ Sets the environment database.
- Parameters
env_db (
str
) – environment database name
-
set_macro_path
(macro_path)[source]¶ Sets the macro path.
- Parameters
macro_path (seq<str>) – macro path
-
set_recorder_path
(recorder_path)[source]¶ Sets the recorder path.
- Parameters
recorder_path (seq<str>) – recorder path
-
report
(msg, *args, **kwargs)[source]¶ Record a log message in the sardana report (if enabled) with default level INFO. The msg is the message format string, and the args are the arguments which are merged into msg using the string formatting operator. (Note that this means that you can use keywords in the format string, together with a single dictionary argument.)
kwargs are the same as
logging.Logger.debug()
plus an optional level kwargs which has default value INFOExample:
self.report("this is an official report!")
- Parameters
msg (
str
) – the message to be recordedargs – list of arguments
kwargs – list of keyword arguments
-
set_pool_names
(pool_names)[source]¶ Registers a new list of device pools in this manager
- Parameters
pool_names (seq<str>) – sequence of pool names
-
get_pool_names
()[source]¶ Returns the list of names of the pools this macro server is connected to.
- Returns
the list of names of the pools this macro server is connected to
- Return type
seq<str>
-
get_pool
(pool_name)[source]¶ Returns the device pool object corresponding to the given device name or None if no match is found.
- Parameters
pool_name (
str
) – device pool name- Returns
Pool object or None if no match is found
-
get_pools
()[source]¶ Returns the list of pools this macro server is connected to.
- Returns
the list of pools this macro server is connected to
- Return type
seq<Pool>
-
property
max_parallel_macros
¶ maximum number of macros which can execute at the same time
-
reload_macro_lib
(lib_name)[source]¶ Reloads the given library(=module) names.
- Raises
LibraryError in case the reload process is not successful
- Parameters
module_name – macro library name (=python module name)
path – a list of absolute path to search for libraries [default: None, means the current MacroPath will be used]
- Returns
the MacroLibrary object for the reloaded macro library
-
get_macros
(filter=None)[source]¶ Returns a
dict
containing information about macros.- Parameters
filter (
str
) – a regular expression for macro names [default: None, meaning all macros]- Returns
a
dict
containing information about macros- Return type
dict
<str
,MacroCode
>
-
get_macro_classes
()[source]¶ Returns a
dict
containing information about macro classes.- Parameters
filter (
str
) – a regular expression for macro names [default: None, meaning all macros]- Returns
a
dict
containing information about macro classes- Return type
dict
<str
,MacroClass
>
-
get_macro_functions
()[source]¶ Returns a
dict
containing information about macro functions.- Parameters
filter (
str
) – a regular expression for macro names [default: None, meaning all macros]- Returns
a
dict
containing information about macro functions- Return type
dict
<str
,MacroFunction
>
-
get_or_create_macro_lib
(lib_name, macro_name=None)[source]¶ Gets the exiting macro lib or creates a new macro lib file. If name is not None, a macro template code for the given macro name is appended to the end of the file.
- Parameters
lib_name (
str
) – module name, python file name, or full file name (with path)macro_name (
str
) – an optional macro name. If given a macro template code is appended to the end of the file (default is None meaning no macro code is added)
- Returns
a sequence with three items: full_filename, code, line number is 0 if no macro is created or n representing the first line of code for the given macro name.
- Return type
seq<str, str, int>
-
get_env
(key=None, door_name=None, macro_name=None)[source]¶ Gets the environment matching the given parameters:
door_name and macro_name define the context where to look for the environment. If both are None, the global environment is used. If door name is None but macro name not, the given macro environment is used and so on…
If key is None it returns the complete environment, otherwise key must be a string containing the environment variable name.
- Parameters
key (
str
) – environment variable name [default: None, meaning all environment]door_name (
str
) – local context for a given door [default: None, meaning no door context is used]macro_name (
str
) – local context for a given macro [default: None, meaning no macro context is used]
- Returns
a
dict
containing the environment- Return type
dict
- Raises
UnknownEnv
-
set_env
(key, value)[source]¶ Sets the environment key to the new value and stores it persistently.
- Parameters
key – the key for the environment
value – the value for the environment
- Returns
a tuple with the key and value objects stored
-