示例#1
0
        public ScraperSelect(Film _FilmRecherche)
        {
            this.InitializeComponent();
            FilmRecherche = _FilmRecherche;
            //ThreadPool.SetMaxThreads(5, 1);
            _ListeChampsModif = Utils.GetChampsModifiables(FilmRecherche);
            ListCollectionView lcv = new ListCollectionView(_ListeChampsModif);

            lcv.SortDescriptions.Add(new System.ComponentModel.SortDescription("NomChamp", System.ComponentModel.ListSortDirection.Ascending));
            lstChamps.ItemsSource = lcv;

            Assembly         PluginFile;
            IMMPluginScraper ScraperPlugin;
            DirectoryInfo    DI = new DirectoryInfo(Directory.GetCurrentDirectory() + System.IO.Path.DirectorySeparatorChar + "Plugins/Scraper");

            try
            {
                FileInfo[] FIA = DI.GetFiles("*.dll");
                foreach (FileInfo ScraperFile in FIA)
                {
                    PluginFile = Assembly.LoadFrom(ScraperFile.FullName);

                    ScraperPlugin = PluginFile.CreateInstance("MediaManager.Plugins." + ScraperFile.Name.Substring(0
                                                                                                                   , ScraperFile.Name.Length - 4)) as IMMPluginScraper;
                    if (ScraperPlugin != null)
                    {
                        MovieScrapers.Add(ScraperPlugin);
                    }
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }

            cbScraper.ItemsSource = MovieScrapers;
        }
示例#2
0
        private void LongOperationExecution()
        {
            // Here, put the code which take a long time to execute
            // BEGIN
            Master.Settings.xmlPath = System.IO.Path.GetDirectoryName(Application.ResourceAssembly.Location) + @"\settings.xml";
            Master.Settings.XML     = new Master.XmlSettings();
            if (!Master.Settings.Load())
            {
                //MessageBox.Show("No valid settings.xml found. Loading defaults");
                Master.Settings.Save();
                //conf.ShowDialog();
            }

            #region Scrapers
            message.Message = "Chargement des scraper...";
            Assembly         PluginFile;
            IMMPluginScraper ScraperPlugin;
            DirectoryInfo    DI = new DirectoryInfo(Directory.GetCurrentDirectory() + System.IO.Path.DirectorySeparatorChar + "Plugins/Scraper");
            try
            {
                FileInfo[] FIA = DI.GetFiles("*.dll");
                foreach (FileInfo ScraperFile in FIA)
                {
                    message.Message = "Chargement du Scraper " + ScraperFile.Name;
                    PluginFile      = Assembly.LoadFrom(ScraperFile.FullName);

                    ScraperPlugin = PluginFile.CreateInstance("MediaManager.Plugins." + ScraperFile.Name.Substring(0
                                                                                                                   , ScraperFile.Name.Length - 4)) as IMMPluginScraper;
                    if (ScraperPlugin != null)
                    {
                        Master.Settings.PluginsScraper.Add(ScraperPlugin);
                    }
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
            #endregion

            #region InportExport
            message.Message = "Chargement des plugins Import Export...";
            IMMPluginImportExport ImportExportPlugin;
            DirectoryInfo         DIR = new DirectoryInfo(Directory.GetCurrentDirectory() + System.IO.Path.DirectorySeparatorChar + "Plugins/ImportExport");
            try
            {
                FileInfo[] FIA = DIR.GetFiles("*.dll");
                foreach (FileInfo InportExport in FIA)
                {
                    message.Message = "Chargement du Plugin " + InportExport.Name;
                    PluginFile      = Assembly.LoadFrom(InportExport.FullName);

                    ImportExportPlugin = PluginFile.CreateInstance("MediaManager.Plugins." + InportExport.Name.Substring(0
                                                                                                                         , InportExport.Name.Length - 4)) as IMMPluginImportExport;
                    if (ImportExportPlugin != null)
                    {
                        Master.Settings.PluginsImportExport.Add(ImportExportPlugin);
                    }
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
            #endregion

            message.Message = "Création du cache...";
            if (!Directory.Exists(System.Environment.CurrentDirectory + @"\Cache\Images\"))
            {
                Directory.CreateDirectory(System.Environment.CurrentDirectory + @"\Cache\Images\");
            }
            if (!Directory.Exists(System.Environment.CurrentDirectory + @"\Cache\Series\"))
            {
                Directory.CreateDirectory(System.Environment.CurrentDirectory + @"\Cache\Series\");
            }

            message.Message = "Création de la base de données...";
            //MediaManager.Database.Database.CreateDB();
            message.Message = "Chargement Terminé !";

            this.Dispatcher.BeginInvoke(DispatcherPriority.Send, new DispatcherOperationCallback(delegate(Object state)
            {
                Thread.Sleep(2000);
                this.Hide();

                Window1 window = new Window1();
                window.Show();

                return(null);
            }), null);
        }