Extend: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
===DESCRIPTION=== | ===DESCRIPTION=== | ||
[[Extend]] is an API-only function which binds a new external function as a command into the PyMOL scripting language. In other words, when you write a function and want PyMOL to recognize the new command, you '''extend''' the command into PyMOL. Once extended, the function name is recognized like other function names (example below). Typically, '''extend''' is the last line of a PyMOL script. | |||
===PYMOL API=== | ===PYMOL API=== | ||
<source lang="python"> | |||
cmd.extend(string name,function function) | |||
</source> | |||
===PYTHON EXAMPLE=== | ===PYTHON EXAMPLE=== | ||
<source lang="python"> | |||
def foo(moo=2): print moo | |||
cmd.extend('foo',foo) | |||
</source> | |||
The following would now work within PyMOL: | The following would now work within PyMOL: | ||
<source lang="python"> | |||
PyMOL>foo | |||
2 | |||
PyMOL>foo 3 | |||
3 | |||
PyMOL>foo moo=5 | |||
5 | |||
PyMOL>foo ? | |||
Usage: foo [ moo ] | Usage: foo [ moo ] | ||
</source> | |||
===NOTES=== | ===NOTES=== | ||
Line 24: | Line 30: | ||
===SEE ALSO=== | ===SEE ALSO=== | ||
*[[Alias]] | |||
*[[Api]] | |||
*[[Category:Scripting]] | |||
[[Category:Commands|extend]] | [[Category:Commands|extend]] |
Revision as of 16:35, 17 April 2009
DESCRIPTION
Extend is an API-only function which binds a new external function as a command into the PyMOL scripting language. In other words, when you write a function and want PyMOL to recognize the new command, you extend the command into PyMOL. Once extended, the function name is recognized like other function names (example below). Typically, extend is the last line of a PyMOL script.
PYMOL API
cmd.extend(string name,function function)
PYTHON EXAMPLE
def foo(moo=2): print moo
cmd.extend('foo',foo)
The following would now work within PyMOL:
PyMOL>foo
2
PyMOL>foo 3
3
PyMOL>foo moo=5
5
PyMOL>foo ?
Usage: foo [ moo ]
NOTES
For security reasons, new PyMOL commands created using "extend" are not saved or restored in sessions.