Active Script Hosting in Python

As a fitting finale to this section of the book, we will discuss how you can incorporate Active Scripting in your Python application. If you are working with Python, you already have a very cool extension language built right-in, but there may be good reasons for wanting to extend this to include other languages, marketing being just one!

If there is any end of the Active Scripting specification to work with, creating an application that supports Active Scripting is the one to choose over building a language engine. The COM specifications for applications using Active Scripting are not difficult to understand, and Python has additional helpers that reduce this to a small amount of code.

The sample application exposes an Active Scripting object model. It loads script code from a text file and executes it using any Active Scripting-supported language: two more examples will demonstrate VBScript and Python. The object model the application exposes is simple; there’s a single Application object supporting a single method Echo, which displays a message box.

These are the steps:

  1. Creates a PyIActiveScriptSite object. The win32com.axscript.server.axsite module provides an Active Scripting Site base-class that is suitable for our purposes. All you need to do is add an error handler; it’s simple and prints the message to the console.

  2. Defines the object model. The win32com.axscript.server.axsite module allows you to specify a dictionary of string-object pairs, where ...

Get Python Programming On Win32 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.