Example #1
0
        public override ViewCompiler CreateViewCompiler(ISparkViewEngine engine, SparkViewDescriptor descriptor)
        {
            ViewCompiler viewCompiler;

            switch (descriptor.Language)
            {
            case LanguageType.Default:
            case LanguageType.Python:
                viewCompiler = new PythonViewCompiler();
                break;

            default:
                return(base.CreateViewCompiler(engine, descriptor));
            }

            var pageBaseType = engine.Settings.PageBaseType;

            if (string.IsNullOrEmpty(pageBaseType))
            {
                pageBaseType = engine.DefaultPageBaseType;
            }

            viewCompiler.BaseClass     = pageBaseType;
            viewCompiler.Descriptor    = descriptor;
            viewCompiler.Debug         = engine.Settings.Debug;
            viewCompiler.NullBehaviour = engine.Settings.NullBehaviour;
            viewCompiler.UseAssemblies = engine.Settings.UseAssemblies;
            viewCompiler.UseNamespaces = engine.Settings.UseNamespaces;
            return(viewCompiler);
        }
Example #2
0
        public void Init()
        {
            _compiler = new PythonViewCompiler
            {
                BaseClass = typeof(StubSparkView).FullName
            };
            _languageFactory = new PythonLanguageFactory();

            // Load up assemblies
            IronPython.Hosting.Python.CreateEngine();
        }
Example #3
0
        public void InstanceCreated(PythonViewCompiler compiler, IScriptingSparkView view)
        {
            CompiledCode compiledCode;

            if (!_compiledViewScripts.TryGetValue(view.GeneratedViewId, out compiledCode))
            {
                var scriptSource = ScriptEngine.CreateScriptSourceFromString(view.ScriptSource, SourceCodeKind.File);
                compiledCode = scriptSource.Compile();
                _compiledViewScripts.Add(view.GeneratedViewId, compiledCode);
            }
            view.CompiledCode = compiledCode;
        }
Example #4
0
 public void InstanceReleased(PythonViewCompiler compiler, IScriptingSparkView view)
 {
 }