apptools.scripting.recorder module¶
Code to support recording to a readable and executable Python script.
- FIXME:
Support for dictionaries?
-
class
apptools.scripting.recorder.
Recorder
[source]¶ Bases:
traits.has_traits.HasTraits
-
get_object_path
(object)[source]¶ Returns the path in the object hierarchy of a registered object. Useful for debugging.
-
get_script_id
(object)[source]¶ Returns the script_id of a registered object. Useful when you want to manually add a record statement.
-
record
(code)[source]¶ Record a string to be stored to the output file.
- Parameters
code (str) – A string of text.
-
record_function
(func, args, kw)[source]¶ Record a function call given the function and its arguments.
-
register
(object, parent=None, trait_name_on_parent='', ignore=None, known=False, script_id=None)[source]¶ Register an object with the recorder. This sets up the object for recording.
By default all traits (except those starting and ending with ‘_’) are recorded. For attributes that are themselves recordable, one may mark traits with a ‘record’ metadata as follows:
If metadata record=False is set, the nested object will not be recorded.
If record=True, then that object is also recorded if it is not None.
If the object is a list or dict that is marked with record=True, the list is itself not listened to for changes but all its contents are registered.
If the object has a trait named recorder then this recorder instance will be set to it if possible.
- Parameters
object (Instance(HasTraits)) – The object to register in the registry.
parent (Instance(HasTraits)) – An optional parent object in which object is contained
trait_name_on_parent (str) – An optional trait name of the object in the parent.
ignore (list(str)) – An optional list of trait names on the object to be ignored.
known (bool) – Optional specification if the object id is known on the interpreter. This is needed if you are manually injecting code to define/create an object.
script_id (str) – Optionally specify a script_id to use for this object. It is not guaranteed that this ID will be used since it may already be in use.
-
ui_save
()[source]¶ Save recording to file, pop up a UI dialog to find out where and close the file when done.
-
unregister
(object)[source]¶ Unregister the given object from the recorder. This inverts the logic of the register(…) method.
-
write_script_id_in_namespace
(script_id)[source]¶ If a script_id is not known in the current script’s namespace, this sets it using the path of the object or actually instantiating it. If this is not possible (since the script_id matches no existing object), nothing is recorded but the framework is notified that the particular script_id is available in the namespace. This is useful when you want to inject code in the namespace to create a particular object.
-