From 7ce577bb2f1300f183430bf3499a116f97176db8 Mon Sep 17 00:00:00 2001 From: Cor Kalis Date: Mon, 21 May 2018 13:27:54 +0200 Subject: [PATCH] First open source version. --- .gitignore | 8 + README.md | 88 ++ build_installer.bat | 10 + docs/Net2Scripting.png | Bin 0 -> 1250 bytes docs/README.txt | 121 +++ inno_script.iss | 47 + make.bat | 21 + resources/Net2Scripting.ico | Bin 0 -> 328190 bytes run.bat | 6 + runtime/Python.Runtime.dll | Bin 0 -> 130048 bytes src/Net2Scripting.exe.config | 43 + src/Net2Scripting.py | 329 ++++++ src/config.py | 99 ++ src/docgen.py | 78 ++ src/index.htm | 29 + src/libs/log4netdll/log4net.dll | Bin 0 -> 288768 bytes src/libs/paxton/Paxton.Cryptography.dll | Bin 0 -> 8704 bytes .../paxton/Paxton.Net2.OEMClientLibrary.dll | Bin 0 -> 415744 bytes src/libs/paxton/Paxton.Net2.Utils.dll | Bin 0 -> 175616 bytes src/libs/paxton/Paxton.Remoting.Channel.dll | Bin 0 -> 65024 bytes ...axton.Remoting.RemotingLayerInterfaces.dll | Bin 0 -> 13312 bytes src/net2base/__init__.py | 43 + src/net2dbxs/__init__.py | 146 +++ src/net2xs/__init__.py | 999 ++++++++++++++++++ src/net2xs/conversions.py | 151 +++ src/net2xs/deftypes.py | 120 +++ src/network/__init__.py | 8 + src/network/net2plus.py | 66 ++ src/network/sqlserver.py | 54 + src/pylog4net/__init__.py | 64 ++ src/samples/add_user.py | 51 + src/samples/add_users_with_card.py | 46 + src/samples/direct_db_query.py | 35 + src/samples/find_modules.py | 17 + src/samples/find_sqlserver.py | 17 + src/samples/get_access_levels.py | 22 + src/samples/get_cards.py | 21 + src/samples/get_time_zones.py | 22 + src/samples/inheritance.py | 47 + src/samples/modify_user.py | 48 + src/samples/monitor_acu.py | 48 + src/samples/open_all_doors.py | 60 ++ src/samples/user_script.py | 21 + src/settings.py | 21 + src/setup.py | 35 + 45 files changed, 3041 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 build_installer.bat create mode 100644 docs/Net2Scripting.png create mode 100644 docs/README.txt create mode 100644 inno_script.iss create mode 100644 make.bat create mode 100644 resources/Net2Scripting.ico create mode 100644 run.bat create mode 100644 runtime/Python.Runtime.dll create mode 100644 src/Net2Scripting.exe.config create mode 100644 src/Net2Scripting.py create mode 100644 src/config.py create mode 100644 src/docgen.py create mode 100644 src/index.htm create mode 100644 src/libs/log4netdll/log4net.dll create mode 100644 src/libs/paxton/Paxton.Cryptography.dll create mode 100644 src/libs/paxton/Paxton.Net2.OEMClientLibrary.dll create mode 100644 src/libs/paxton/Paxton.Net2.Utils.dll create mode 100644 src/libs/paxton/Paxton.Remoting.Channel.dll create mode 100644 src/libs/paxton/Paxton.Remoting.RemotingLayerInterfaces.dll create mode 100644 src/net2base/__init__.py create mode 100644 src/net2dbxs/__init__.py create mode 100644 src/net2xs/__init__.py create mode 100644 src/net2xs/conversions.py create mode 100644 src/net2xs/deftypes.py create mode 100644 src/network/__init__.py create mode 100644 src/network/net2plus.py create mode 100644 src/network/sqlserver.py create mode 100644 src/pylog4net/__init__.py create mode 100644 src/samples/add_user.py create mode 100644 src/samples/add_users_with_card.py create mode 100644 src/samples/direct_db_query.py create mode 100644 src/samples/find_modules.py create mode 100644 src/samples/find_sqlserver.py create mode 100644 src/samples/get_access_levels.py create mode 100644 src/samples/get_cards.py create mode 100644 src/samples/get_time_zones.py create mode 100644 src/samples/inheritance.py create mode 100644 src/samples/modify_user.py create mode 100644 src/samples/monitor_acu.py create mode 100644 src/samples/open_all_doors.py create mode 100644 src/samples/user_script.py create mode 100644 src/settings.py create mode 100644 src/setup.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b1aa47b --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +build +dist +dist_installer +docs/*.html +docs/index.htm +*.pyc +#*# +*~ diff --git a/README.md b/README.md new file mode 100644 index 0000000..e436257 --- /dev/null +++ b/README.md @@ -0,0 +1,88 @@ +Net2Scripting +=== + +Python scripting for the Paxton Net2 SDK. + +This project builds a setup file, that will install a Python scripting environment +that can communicate with Paxton Net2, using the SDK (or a direct DB connection). + + +### **Read this first** +The scripts in this package are currently quite inflexible, in that they assume +that packages are installed in particular directories. For future versions this +should be changed to maybe an environment setting or a 'user' file containg the +definitions. (this file should be in .gitignore) + +For now, the install directories are specificly marked in the requirements. + +### Requirements +The NetScripting project relies on the following: + * An x86 Windows environment (64-bit did not work). Windows7-32bit should be ok. + * DotNet 4.0 + - Installing Paxton Net2 V5.x should take care of that + - The Paxton Net2 OEMClientLibrary dlls (v5.01) are included in this package. + * Python x86 3.4.4 + - Is the Python environment + - Download from http://www.python.org + - Install in C:\WinPrg\Python34\ !!! + * pythonnet-2.3.0-cp34-cp34m-win32.whl + - Is Python .net extension + - Download from http://pythonnet.sourceforge.net + - Install with pip install + * py2exe-0.9.2.2-py33.py34-none-any.whl + - To create a python executable + - Download from http://www.py2exe.org + - Install with pip install + - Remove 'clr' in c:/WinPrg/Python34/lib/site-packages/py2exe/hooks.py !!! + - Note that py2exe does/did not support 3.5 and up yet + * Inno Setup 5.4.2 (higher versions most likely also work) + - To create an installer (uses the inno_script.iss) + - Download from http://www.jrsoftware.org + - Install in C:\Program Files\Inno Setup 5\ !!! + +The following convenience batch files are available: + * run.bat + - To run de scripting tool while testing sample code + - It will wait after execution and run again after pressing enter (ctrl C=exit) + - Do no just click it in explorer; this will not work + - Create a sendTo shortcut to it, to execute python scripts from the explorer. + + type "shell:sento" in the file explorer address bar to access the + SentTo folder + + Create shortcut to run.bat and call it "Test with Net2Scripting" + * make.bat + - Creates an exe-based distro in ./dist + - You can click it in explorer + * build_installer.bat + - Requires make.bat to run first + - Creates a 'SetupNet2Scripting.exe' in ./dist_installer + - You can click it in explorer + +Beware of the following: + * That the doc's generated, need to be defined in src/docgen.py + * That for py2exe, new modules must be defined in 'Net2Scripting.py', + to have py2exe include them in the exe generation. + * That the makefile.bat will show warnings (which we ignore for now): +``` + 8 missing Modules + ------------------ +? Paxton imported from net2xs +? _dbm imported from dbm.ndbm +? log4net imported from pylog4net +? multiprocessing.SimpleQueue imported from concurrent.futures.process +? netbios imported from uuid +? win32evtlog imported from logging.handlers +? win32evtlogutil imported from logging.handlers +? win32wnet imported from uuid +``` + +### Configuration +Runtime configuration file is: src/Net2Scripting.exe.config +(complies to the dotnet standard) + +### Version updates +To update the version number, adjust the following files: + * inno_script.iss + * src/settings.py + +### License +MIT diff --git a/build_installer.bat b/build_installer.bat new file mode 100644 index 0000000..733d32a --- /dev/null +++ b/build_installer.bat @@ -0,0 +1,10 @@ +@echo off +del dist_installer\* /s/q > nul + +rem taskkill /IM explorer.exe /F +rem cd /d %userprofile%\AppData\Local +rem del IconCache.db /a +rem start explorer.exe + +"C:\Program Files\Inno Setup 5\ISCC.exe" inno_script.iss +pause diff --git a/docs/Net2Scripting.png b/docs/Net2Scripting.png new file mode 100644 index 0000000000000000000000000000000000000000..e5f6ca610c17dad2dc9cf3d080d51bef1372f9b3 GIT binary patch literal 1250 zcmV<81ReW{P)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RY1P==_0dknj0ssI6bV)=(R7l6Q zR!xi)RS^EF-s_&3o?RAL0tu|5A|`T?pg|KjnaIJ!t3NRu^kU+TgE5?p7n41C^yGPC zV!TN_i6$zEo^}m2(Wg);}>_f-+BFbuuxMr`F)hifgMr=ewc_VvSe_~+li~$0I0%0wlkwC=_R{n$xPpTS> z-i*C0H=DRM5v{#8W`Kghcazb9JEJG6Vx%`?n)U-RrKU=Qsys-uZr(3L02rwzjc6fh zhhQQgWdv7^3KcOkZ)Ux$FmgKX5q;}vAVC9z86$_I2MiTD=Po8*w|Ep(LA~#SVPGM%3Z(KjJ|6plW!*g^Hf!PQmVi>{{ zwrL+A`en$Au-So5mX~Fj_RF#RGO#58ARRKLRI*(}RX$z0P=>M3LASol=t-to&OuTVBEtubhA)jGc&gnR^N}?DpR0GgjueQ{vW2KCz|D<$ zC*?2_6M~{@Mjy<&S%2s;0fF-_%qMGQDMFCwWg~7456wFTCzs~e=X_00{nit((9v0eZFegwE6{tXkqeBfq5oCQs86iXrw*1<6Ya5p4 z{qZ(ZNtPjuchro!<>q>{xo!vmry`aO&LY^mWA*99j06de@?539v=PhW6-^^y$*IFv zXd_Na|KfrFro?h=^3mDoNz_`5PCGE!~z<tbj4{tYIF@WA7oWJ&@1ybbR!y<{xq**H!{i5_D(rPv~ z7drz%v?7m6C1>eAKKV6BgdPC6@|PQDGnN8b+##rY17JhNJC&pn%_`Te$Z8i_06LiA z=uf!!Bd&jxG#jcit6ZzffP;8e!^th`WxHE$qn<_q>EBGRb@Kgr@U13hH5?W7D$;Jo zvsz{gSpNB~4`2FrU;8S8BL^r7uAE-&9RA|c2fODLjAymXK?IsKqb-_#&UpF4yZh#Q z&+WRltMP#3{e0oC^=H<4bCD~O=2lIA0@2oEOG4zF|9$-h5&%U&!9oHc-g<0NRj(>Z zv$0Ksmx_25Nt*FCjgC&mJE!yQ<~9w#s_O6F@2;Htb(_Zb^#|Sm0YsNAk(O}z(*OVf M07*qoM6N<$g5`QTfB*mh literal 0 HcmV?d00001 diff --git a/docs/README.txt b/docs/README.txt new file mode 100644 index 0000000..20690bd --- /dev/null +++ b/docs/README.txt @@ -0,0 +1,121 @@ +Net2Scripting +============= + +The Net2Scripting program is an add-on for the Paxton Net2 software. +It offers the possibility to run Python scripts against the Net2 SDK or +straight against the Net2 database. +Using the SDK, you can access remote Net2 servers. Using the direct database +interface, only local access is possible. + +Scripting allows ad-hoc functionality to be created, without compilation. +Useful for proof of concepts, filling Net2 with test data, simple door +control, Net2 data exports, etc. + +REQUIREMENTS +* A PC running a recent Windows version. The software has been tested on + WinXP(SP3), Win7 and Win8. +* Administrator rights. +* The Net2 V5.1 or higher software package. + +INSTALLATION +* Run the installer program, which will create an IntoAccess folder in the + Programs menu with a shortcut to Net2Scripting, install the executable, + libraries, samples and documentation. +* Optionally edit the Net2Scripting.exe.config file that can be found in the + program installation folder. + (by default it contains a reference to a sample script + 'samples/user_script.py') + +USAGE +* Option 1: Edit the Net2Scripting.exe.config file, changing the + 'user_script' setting to point to your script. Run the Net2Scripting + program. +* Option 2: Edit the Net2Scripting.exe.config file, adding more entries to + the 'appSetting' section. Run the Net2Scripting program adding the parameter + /k=, where points to the script you want to execute. +* Option 3: Run the Net2Scripting program, adding the path to the script you + wish to execute as parameter. +* If you run the Net2Scripting using the explorer, you may want the window + containing the script result to remain open. Set the appSetting + 'confirm_wait' to 'true' to have it wait for the key before closing. + If you want to run a script using a scheduler, set this option to 'false'. +* By default, the application logs fairly much and both to the console as + well as to a (rolling) file. Change the root 'level' value from DEBUG to + INFO, WARN, ERROR or FATAL to make it less verbose. You can add or remove + any log4net conpatible log appenders to suit your needs. + Beware that the scripting program locks the log file, so if you run more + than one instance, it will complain about not being able to log. + +DOCUMENTATION / HELP +* Some pydoc generated 'help' for the API is placed in the 'docs' + subdirectory of the installation folder. It does not hurt however to also + keep the Net2 API doc at hand while scripting. +* A number of script samples are provided, meant for those with some basic + knowledge of Python. For a full Python language reference, check out + http://www.python.org/doc/ + Not all Net2 SDK functions are available through the python api yet. + If you would like to add stuff however, check out the'inheritance.py' + sample to get you started. +* The (free) Net2Query tool, available at http://www.intoaccess.com, can + also of use to get some insight on available tables, column names and + data types. + +BACKGROUND +* Originally created by CRC Value. +* Maintained (sort of) by IntoAccess from July 2017 - May 2018. +* Open source from May 2018 onward. +* The package websites: + - http://www.net2scripting.nl + - https://github.com/cor-kalis/Net2Scripting + +ACKNOWLEDGEMENTS +* The Net2Scripting program is created using the following libraries/tools: + - Python => http://www.python.org + - Python.Net => http://pythonnet.sourceforge.net + - Py2exe => http://www.py2exe.org + - Paxton.Net2.OEMClientLibrary => http://www.paxton.co.uk + - Inno Setup => http://www.jrsoftware.org + +LICENSE +* MIT + +DISCLAIMER +* You will use this software at your own risk. No responsibility is accepted for + any damage it may accidentally cause. + +HISTORY +* V1.0 was published in April 2013. Initial version +* V1.1 was published in July 2013. + - Fixes a module scope issue (imported modules not recognized in functions). + - User image manipulation. + - Confirm wait, even on a sys.exit(). + - Allow remote native db access. + - Net2Plus module detection using udp broadcasts. + - SQLServer detection using udp broadcasts. + - Default values for add_user and modify_user (less hassle). +* V1.2 was published in July 2013. + - Enable linecache.getline by default, so 'list' in pdb.set_trace() shows + something useful. (disable in config by setting 'linecache_enable' to false) + - Added __scripting_version__ var, to test script compatibility. + - Fixed bug in Net2XS.deactivate_user fuction. +* V1.3 was published in September 2013. + - Fix / implement acu monitoring + - Fix get_users / get_user_by_id bug +* V1.4 was published in October 2013. + - Fix password encryption on remote native database connection +* V2.0 was published in April 2014. + - Net2 V5 compatible. +* V2.1 was published in July 2014. + - Fix hard coded event and subtype bug in add_event_record. +* V2.2 was published in October 2014. + - Removed misplaced delete_image parameter in add_user +* V2.3 was published in December 2015. + - Upgraded to Python 2.7.10 and included most standard Python modules. +* V2.4 was published in August 2016. + - Added the option to use either a dotnet or python date time objects for + the add_user and modify_user methods. + - Added delete_card and get_cards methods. +* V3.0 was published in August 2017. + - Upgrade to Python 3.4.4 +* V4.0 was published in May 2018. + - Made open source. diff --git a/inno_script.iss b/inno_script.iss new file mode 100644 index 0000000..6556235 --- /dev/null +++ b/inno_script.iss @@ -0,0 +1,47 @@ +; Script generated by the Inno Setup Script Wizard. +; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! + +#define MyAppName "Net2Scripting" +#define MyAppVersion "4.0" +#define MyAppPublisher "Net2Scripting" +#define MyAppURL "http://www.net2scripting.nl/" + +[Setup] +; NOTE: The value of AppId uniquely identifies this application. +; Do not use the same AppId value in installers for other applications. +; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) +AppId={{3940C8D4-5D5F-43CF-B92E-4086ED2198B2} +AppName={#MyAppName} +AppVersion={#MyAppVersion} +;AppVerName={#MyAppName} {#MyAppVersion} +AppPublisher={#MyAppPublisher} +AppPublisherURL={#MyAppURL} +AppSupportURL={#MyAppURL} +AppUpdatesURL={#MyAppURL} +DefaultDirName={pf}\Paxton Access/{#MyAppName} +DefaultGroupName=Paxton Access +InfoAfterFile=.\dist\docs\README.txt +OutputDir=.\dist_installer +OutputBaseFilename=SetupNet2Scripting +SetupIconFile=.\dist\resources\Net2Scripting.ico +Compression=lzma +SolidCompression=yes + +[Languages] +Name: "english"; MessagesFile: "compiler:Default.isl" + +[Tasks] +Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked + +[Files] +Source: ".\dist\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs +; NOTE: Don't use "Flags: ignoreversion" on any shared system files + +[Icons] +Name: "{group}\Net2Scripting"; Filename: "{app}\{#MyAppName}.exe" +Name: "{group}\Net2Scripting API"; Filename: "{app}\docs\index.htm" +Name: "{commondesktop}\Net2Scripting"; Filename: "{app}\{#MyAppName}.exe"; Tasks: desktopicon + +[Run] + +[UninstallRun] diff --git a/make.bat b/make.bat new file mode 100644 index 0000000..3a43801 --- /dev/null +++ b/make.bat @@ -0,0 +1,21 @@ +@echo off + +echo --- Cleaning... +del build\* /s/q > nul +del dist\* /s/q > nul +del docs\*.html /s/q > nul +echo --- Cleaning done + +echo --- Generating docs +cd src +c:/WinPrg/Python34/python docgen.py +cd .. +echo --- Generating docs done + +echo --- Building executable +cd src +c:/WinPrg/Python34/python setup.py py2exe +cd .. +echo --- Building executable done + +pause diff --git a/resources/Net2Scripting.ico b/resources/Net2Scripting.ico new file mode 100644 index 0000000000000000000000000000000000000000..b0faed6076861e2c373351d157d7462da0456651 GIT binary patch literal 328190 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 literal 0 HcmV?d00001 diff --git a/run.bat b/run.bat new file mode 100644 index 0000000..01348fa --- /dev/null +++ b/run.bat @@ -0,0 +1,6 @@ +@echo off +cd src +:again +c:\WinPrg\Python34\python Net2Scripting.py %1 +pause +goto again diff --git a/runtime/Python.Runtime.dll b/runtime/Python.Runtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..c2d66279222166e296286c12a8a9f89533e3f4e5 GIT binary patch literal 130048 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 E1(mo + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Net2Scripting.py b/src/Net2Scripting.py new file mode 100644 index 0000000..c48f22e --- /dev/null +++ b/src/Net2Scripting.py @@ -0,0 +1,329 @@ +""" +Main program for Net2Scripting. +""" +import os +import sys +import settings +import traceback + +# This is just to force py2exe to include these packages +if False == True: + import net2xs + import net2dbxs + import network + # Not required but nice to have + import abc + import aifc + import antigravity + import argparse + import ast + import asynchat + import asyncio + import asyncore + import base64 + import bdb + import binhex + import bisect + import bz2 + import cProfile + import calendar + import cgi + import cgitb + import chunk + import cmd + import code + import codecs + import codeop + import collections + import colorsys + import compileall + import concurrent + import configparser + import contextlib + import copy + import copyreg +# import crypt + import csv + import ctypes +# import curses + import datetime +# import dbm + import decimal + import difflib + import dis + import distutils + import doctest + import threading + import email + import encodings +# import ensurepip + import enum + import filecmp + import fileinput + import fnmatch + import formatter + import fractions + import ftplib + import functools + import genericpath + import getopt + import getpass + import gettext + import glob + import gzip + import hashlib + import heapq + import hmac + import html + import http + import idlelib + import imaplib + import imghdr + import imp + import importlib + import inspect + import io + import ipaddress + import json + import keyword + import lib2to3 + import linecache + import locale + import logging + import lzma +# import macpath +# import macurl2path + import mailbox + import mailcap + import mimetypes + import modulefinder + import msilib +# import multiprocessing + import netrc + import nntplib + import ntpath + import nturl2path + import numbers + import opcode + import operator + import optparse + import os + import pathlib + import pdb + import pickle + import pickletools + import pipes + import pkgutil + import platform + import plistlib + import poplib + import posixpath + import pprint + import profile + import pstats + import pty + import pyclbr + import pydoc + import pydoc_data + import queue + import quopri + import random + import re + import reprlib + import rlcompleter + import runpy + import sched + import selectors + import shelve + import shlex + import shutil + import site +# import smtpd + import smtplib + import sndhdr + import socket + import socketserver + import sqlite3 +# import compile +# import constants +# import parse + import ssl + import stat + import statistics + import string + import stringprep + import struct + import subprocess + import sunau + import symbol + import symtable + import sysconfig + import tabnanny + import tarfile + import telnetlib + import tempfile + import test + import textwrap + import this + import threading + import timeit + import tkinter + import token + import tokenize + import trace + import traceback + import tracemalloc + import tty + import turtle + import turtledemo + import types + import unittest + import urllib + import uu + import uuid + import venv + import warnings + import wave + import weakref + import webbrowser + import wsgiref + import xdrlib + import xml + import xmlrpc + import zipfile + + +# Setup logging first +from pylog4net import Log4Net +try: + Log4Net.read_config(settings.CONFIG_FILE) +except Exception as e: + print('Log error: %s' % (str(e))) + sys.exit(1) + +from config import Config +try: + cfg = Config(settings.CONFIG_FILE) +except Exception as e: + print('Config error: %s' % (str(e))) + sys.exit(1) + +# Running as py2exe: check if linecache should be enabled +# if hasattr(sys, 'frozen'): +# if cfg.get("enable_linecache", True, bool): +# # Monkey patch it back to the original value +# import linecache +# linecache.getline = linecache.orig_getline +# del linecache + +# Log4net logger +logger = Log4Net.get_logger('Net2Scripting') + + +def run(script_file): + """Run script file + """ + try: + if not os.path.isfile(script_file): + raise Exception("User script '%s' does not exist!" % (script_file)) + + # Get script dir and add it to the module search path + sys.path.insert(0, os.path.dirname(script_file)) + + print("Press ' C' to quit...") + logger.Debug("Calling user script '%s'" % (script_file)) + try: + # Strip Net2Scripting param from arguments + sys.argv = sys.argv[1:] + # Explicitly provide dict, to prevent scope issues + with open(script_file) as f: + code = compile(f.read(), script_file, 'exec') + exec(code, + {"__name__": "__main__", + "__file__": script_file, + "__scripting_version__": settings.VERSION}) + except KeyboardInterrupt: + logger.Debug("User interrupt") + + except Exception as ex: + + msg = "Fatal error: " + str(ex) + if cfg.get("log_stacktrace", default=False, vtype=bool): + msg += "\n" + traceback.format_exc() + logger.Fatal(msg) + return 1 + + +def run_key(script_key): + """Run file referenced by setting keyword + """ + try: + script_key = script_key.strip() + if not script_key: + raise "The provided script keyword is empty!" + + # Fetch setting from config + cfg.check_required([(script_key, str)]) + + return run(cfg.get(script_key)) + + except Exception as ex: + logger.Fatal("Fatal error: " + str(ex)) + return 1 + + +def confirm_wait(): + """Wait for user confirmation + """ + # Fetch setting from config + wait = cfg.get("confirm_wait", default=False, vtype=bool) + if wait: + print() + input("Press enter to continue: ") + + +# Main program entry +if __name__ == '__main__': + + ret_val = 0 + + try: + if len(sys.argv) > 1: + arg = sys.argv[1] + + if arg == "/?": + print() + print("Net2Scripting V%s, by Net2 Solutions" % (settings.VERSION)) + print() + print(" /? = help") + print(" /k:keyword = run script referenced by appSettings keyword") + print("