Ejemplo n.º 1
0
        protected override void DoCheck([NotNull] SetProgressDelegate prog, ICollection <ShowItem> showList, TVDoc.ScanSettings settings)
        {
            BulkAddManager bam = new BulkAddManager(MDoc);

            bam.CheckFolders(settings.Token, prog, false, !settings.Unattended);
            AskUserAboutShows(settings, bam);

            if (!bam.AddItems.Any(s => s.CodeKnown))
            {
                return;
            }

            List <int> idsToAdd = bam.AddItems.Where(s => s.CodeKnown).Select(folder => folder.TVDBCode).ToList();

            bam.AddAllToMyShows();

            MDoc.SetDirty();
            MDoc.DoDownloadsFG(settings.Unattended, settings.Hidden);

            List <ShowItem> addedShows = idsToAdd.Select(s => MDoc.Library.ShowItem(s)).ToList();

            //add each new show into the shows being scanned
            foreach (ShowItem si in addedShows)
            {
                showList.Add(si);
            }
            LOGGER.Info("Added new shows called: {0}", addedShows.Select(si => si?.ShowName).ToCsv());

            MDoc.DoWhenToWatch(true, settings.Unattended, settings.Hidden);

            MDoc.WriteUpcoming();
            MDoc.WriteRecent();
        }
Ejemplo n.º 2
0
        // private int mInternalChange;
        // private TheTVDBCodeFinder mTCCF;

        public FolderMonitor(TVDoc doc, BulkAddManager bam)
        {
            this.mDoc   = doc;
            this.engine = bam;

            this.InitializeComponent();

            this.FillFolderStringLists();
        }
Ejemplo n.º 3
0
        public FolderMonitor(TVDoc doc, BulkAddManager bam)
        {
            mDoc   = doc;
            engine = bam;

            InitializeComponent();

            FillFolderStringLists();
            tbResults.Parent = null;
        }
Ejemplo n.º 4
0
        private void AskUserAboutShows(TVDoc.ScanSettings settings, [NotNull] BulkAddManager bam)
        {
            foreach (FoundFolder folder in bam.AddItems)
            {
                if (settings.Token.IsCancellationRequested)
                {
                    break;
                }

                AskUserAboutShow(folder);
            }
        }
Ejemplo n.º 5
0
        private void bnFullAuto_Click(object sender, System.EventArgs e)
        {
            if (this.engine.AddItems.Count == 0)
            {
                return;
            }

            this.FMPStopNow = false;
            this.FMPUpto    = "Identifying shows";
            this.FMPPercent = 0;

            Thread fmpshower = new Thread(this.FMPShower)
            {
                Name = "Bulk Add Shows Progress (Full Auto)"
            };

            fmpshower.Start();

            while ((this.FMP == null) || (!this.FMP.Ready))
            {
                Thread.Sleep(10);
            }

            int n  = 0;
            int n2 = this.engine.AddItems.Count;

            foreach (FolderMonitorEntry ai in this.engine.AddItems)
            {
                this.FMPPercent = 100 * n++ / n2;

                if (this.FMPStopNow)
                {
                    break;
                }

                if (ai.CodeKnown)
                {
                    continue;
                }

                int p = ai.Folder.LastIndexOf(System.IO.Path.DirectorySeparatorChar);
                this.FMPUpto = ai.Folder.Substring(p + 1); // +1 makes -1 "not found" result ok

                BulkAddManager.GuessShowItem(ai, this.mDoc.Library);

                // update our display
                this.UpdateFMListItem(ai, true);
                this.lvFMNewShows.Update();
                this.Update();
            }
            this.FMPStopNow = true;
        }
Ejemplo n.º 6
0
        private void bnFullAuto_Click(object _, System.EventArgs e)
        {
            if (engine.AddItems.Count == 0)
            {
                return;
            }

            CancellationTokenSource cts = new CancellationTokenSource();

            TokenSource = cts;

            FmpUpto    = "Identifying shows";
            FmpPercent = 0;

            Thread fmpshower = new Thread(FmpShower)
            {
                Name = "Bulk Add Shows Progress (Full Auto)"
            };

            fmpshower.Start();

            while (progressDialog is null || !progressDialog.Ready)
            {
                Thread.Sleep(10);
            }

            int n  = 0;
            int n2 = engine.AddItems.Count;

            foreach (FoundFolder ai in engine.AddItems)
            {
                FmpPercent = 100 * n++ / n2;

                if (cts.IsCancellationRequested)
                {
                    break;
                }

                if (ai.CodeKnown)
                {
                    continue;
                }

                BulkAddManager.GuessShowItem(ai, mDoc.Library, true);

                // update our display
                UpdateListItem(ai, true);
                lvFMNewShows.Update();
                Update();
            }
            cts.Cancel();
        }
Ejemplo n.º 7
0
        private void bnFullAuto_Click(object _, System.EventArgs e)
        {
            if (engine.AddItems.Count == 0)
            {
                return;
            }

            FmpStopNow = false;
            FmpUpto    = "Identifying shows";
            FmpPercent = 0;

            Thread fmpshower = new Thread(FmpShower)
            {
                Name = "Bulk Add Shows Progress (Full Auto)"
            };

            fmpshower.Start();

            while ((progressDialog == null) || (!progressDialog.Ready))
            {
                Thread.Sleep(10);
            }

            int n  = 0;
            int n2 = engine.AddItems.Count;

            foreach (FoundFolder ai in engine.AddItems)
            {
                FmpPercent = 100 * n++ / n2;

                if (FmpStopNow)
                {
                    break;
                }

                if (ai.CodeKnown)
                {
                    continue;
                }

                BulkAddManager.GuessShowItem(ai, mDoc.Library);

                // update our display
                UpdateListItem(ai, true);
                lvFMNewShows.Update();
                Update();
            }
            FmpStopNow = true;
        }
Ejemplo n.º 8
0
        private void AskUserAboutShow([NotNull] FoundFolder folder)
        {
            if (folder.CodeKnown)
            {
                return;
            }

            BulkAddManager.GuessShowItem(folder, MDoc.Library, true);

            if (folder.CodeKnown)
            {
                return;
            }

            //FolderMonitorEdit ed = new FolderMonitorEdit(folder);
            //if ((ed.ShowDialog() != DialogResult.OK) || (ed.Code == -1))
            //{
            return;
            //}

            //folder.TVDBCode = ed.Code;
        }