User Tools

Site Tools


python_getstarted

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
python_getstarted [2018/01/01 14:35] – [Creating a Script] g00r00python_getstarted [2023/01/20 01:04] – [Executing a Python Script] g00r00
Line 1: Line 1:
-===== Getting Started =====+===== Getting Started with Scripting =====
  
 //Note: This section assumes you've already performed the installation of //Note: This section assumes you've already performed the installation of
Line 16: Line 16:
  
  
 +----
 ==== Creating a Script ==== ==== Creating a Script ====
  
Line 62: Line 62:
   writeln("|PA")   writeln("|PA")
  
 +
 +Refer to the [[python_functions|function reference]] and [[python_examples|Python examples]] section for more information on Python functions available as part of the Mystic module.  Third party Python modules can also be installed and used within your Python scripts.
 +
 +----
 ==== Executing a Python Script ==== ==== Executing a Python Script ====
  
Line 71: Line 75:
  
 Python scripts can be executed from your menus by using the "GY" menu Python scripts can be executed from your menus by using the "GY" menu
-command.  By default Mystic looks in the theme's script directory for +command for Python 2, or the "GZ" menu command for Python 3.  By default 
-.mpy files using the same logic that Mystic Programming Language uses.+Mystic looks in the theme's script directory for .mpy files using the 
 +same logic that Mystic Programming Language uses.
  
   * If you supply a file with no extension, Mystic will add .mpy to it   * If you supply a file with no extension, Mystic will add .mpy to it
Line 80: Line 85:
 For example: For example:
  
-  Menu Command: GY (Execute Python Script)+  Menu Command: GY (Execute Python Script)
           Data: testpython           Data: testpython
  
Line 86: Line 91:
 directory if it exists.  If it is not found, then it will try to do the directory if it exists.  If it is not found, then it will try to do the
 same from the default script directory if "theme fallback" is enabled. same from the default script directory if "theme fallback" is enabled.
 +
 +To execute Python 3, you'd use the GZ menu command instead of GY.
  
 === By Prompt Replacement === === By Prompt Replacement ===
Line 95: Line 102:
    001 #mypython    001 #mypython
  
-The above example would execute mypython.mpy from the theme's script+The above example would execute mypython.mpy with Python 2.7 from the theme's script
 directory in place of system prompt #001. directory in place of system prompt #001.
 +
 +To execute a Python 3 script from a prompt, use the ~ character instead of #
  
 === By Command Line === === By Command Line ===
  
 Mystic Python scripts can be executed directly from the command line by Mystic Python scripts can be executed directly from the command line by
-using the -Y option, but keep in mind a username and password must be+using the -Y and -Z options, but keep in mind a username and password must be
 supplied along with it.  For example: supplied along with it.  For example:
  
   mystic -uSysop -ppassword -ytestpython   mystic -uSysop -ppassword -ytestpython
      
-The above example will execute testpython from the user's theme script+The above example will execute Python 2 script testpython from the user's theme script
 directory applying the same logic as defined above for the path/filename directory applying the same logic as defined above for the path/filename
-conversions in Mystic Python.+conversions in Mystic Python.  To execute Python 3 script from command line, use -Z 
 +instead of -Y. 
 + 
 +=== Through MPL Hooks === 
 + 
 +Mystic has hooks in various locations where functionality of Mystic can be completely replaced by MPL scripts, such as the user login and new user application processes.  It is possible to use these MPL hooks to call a Mystic Python script using the MenuCmd MPL function. 
 + 
 +This type of approach would allow the entire login and new user application process to be completely scripted in Python, for example.  Your BBS could then call another script from a start menu to completely replace the menu system.  
 + 
 +A BBS can range from a completely scripted experience, to a completely customized theme without using any scripting, or anything in between.
python_getstarted.txt · Last modified: 2023/01/20 02:28 by g00r00

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki