KbtterWPF.MainWindow.LoadPlugins C# (CSharp) Method

LoadPlugins() private method

private LoadPlugins ( ) : void
return void
        private void LoadPlugins()
        {
            if (!Directory.Exists("plugin")) Directory.CreateDirectory("plugin");
            var fls = Directory.GetFiles("plugin/", "*.py");

            foreach (var f in fls)
            {
                try
                {
                    ScriptScope sc = IronPythonEngine.CreateScope();
                    var ss = IronPythonEngine.CreateScriptSourceFromFile(f);
                    ss.Execute(sc);
                    var t = IronPythonEngine.Execute(System.IO.Path.GetFileNameWithoutExtension(f) + "()", sc);
                    if (t is IKbtterOnTweet) TweetPlugins.Add(t);
                    if (t is IKbtterOnFavorite) FavoritePlugins.Add(t);
                    if (t is IKbtterOnUnfavorite) UnfavoritePlugins.Add(t);
                    if (t is IKbtterOnRetweet) RetweetPlugins.Add(t);
                    if (t is IKbtterOnInitialize) InitializePlugins.Add(t);
                    if (t is IKbtterCallable) WindowPlugins.Add(t);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(MessagePluginLoadingErrorText + "\n" + ex.Message, MessagePluginLoadingErrorCaption);
                    Application.Current.Dispatcher.BeginInvoke(new Action(() =>
                    {
                        Application.Current.Shutdown();
                    }));

                }
            }
        }