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