home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 July / CMCD0704.ISO / Software / Shareware / Comunicatii / jyte / jyte.exe / localserver.py < prev    next >
Text File  |  2002-12-13  |  1KB  |  50 lines

  1. # LocalServer .EXE support for Python.
  2. #
  3. # This is designed to be used as a _script_ file by pythonw.exe
  4. #
  5. # In some cases, you could also use Python.exe, which will create
  6. # a console window useful for debugging.
  7. #
  8. # NOTE: When NOT running in any sort of debugging mode,
  9. # 'print' statements may fail, as sys.stdout is not valid!!!
  10.  
  11. #
  12. # Usage:
  13. #  wpython.exe LocalServer.py clsid [, clsid]
  14. import sys
  15. sys.coinit_flags = 2
  16. import pythoncom
  17. import win32api
  18. from win32com.server import factory
  19.  
  20. usage = """\
  21. Invalid command line arguments
  22.  
  23. This program provides LocalServer COM support
  24. for Python COM objects.
  25.  
  26. It is typically run automatically by COM, passing as arguments
  27. The ProgID or CLSID of the Python Server(s) to be hosted
  28. """
  29.  
  30. def serve(clsids):
  31.     infos = factory.RegisterClassFactories(clsids)
  32.  
  33.     pythoncom.EnableQuitMessage(win32api.GetCurrentThreadId())    
  34.     pythoncom.CoResumeClassObjects()
  35.  
  36.     pythoncom.PumpMessages()
  37.     
  38.     factory.RevokeClassFactories( infos )
  39.     
  40.     pythoncom.CoUninitialize()
  41.     
  42. def main():
  43.     if len(sys.argv)==1:
  44.         win32api.MessageBox(0, usage, "Python COM Server")
  45.         sys.exit(1)
  46.     serve(sys.argv[1:])
  47.  
  48. if __name__=='__main__':
  49.     main()
  50.