コード例 #1
0
        public void WriteStartupScripConfiguration(string uid, StartupScriptConfiguration configuration)
        {
            if (uid == null)
            {
                throw new ArgumentNullException(nameof(uid));
            }
            if (configuration == null)
            {
                throw new ArgumentNullException(nameof(configuration));
            }

            _storageService.WriteSerializedValue(configuration, StartupScriptsDirectory, uid, DefaultFileNames.Configuration);
        }
コード例 #2
0
        StartupScriptInstance CreateStartupScriptInstance(string uid, StartupScriptConfiguration configuration)
        {
            if (!_storageService.TryReadRawText(out var scriptCode, StartupScriptsDirectory, uid, DefaultFileNames.Script))
            {
                throw new InvalidOperationException("Script file not found.");
            }

            var scriptHost = _pythonScriptHostFactoryService.CreateScriptHost();

            scriptHost.Compile(scriptCode);

            return(new StartupScriptInstance(uid, configuration, scriptHost));
        }
コード例 #3
0
        public void CreateStartupScript(string uid, StartupScriptConfiguration configuration)
        {
            if (uid == null)
            {
                throw new ArgumentNullException(nameof(uid));
            }
            if (configuration == null)
            {
                throw new ArgumentNullException(nameof(configuration));
            }

            lock (_scripts)
            {
                _storageService.Write(configuration, "StartupScripts", uid, "Configuration.json");
            }
        }
コード例 #4
0
 public StartupScriptInstance(string uid, StartupScriptConfiguration configuration, PythonScriptHost scriptHost)
 {
     Uid           = uid ?? throw new ArgumentNullException(nameof(uid));
     Configuration = configuration ?? throw new ArgumentNullException(nameof(configuration));
     _scriptHost   = scriptHost ?? throw new ArgumentNullException(nameof(scriptHost));
 }