private static bool CheckConnections(IIndexPersistence persistence, IIndexBackup backup)
        {
            if (persistence.IsConnected() && backup.IsConnected())
            {
                return(true);
            }

            if (!persistence.IsConnected())
            {
                Console.WriteLine("Failed to connect to primary persistence.");
            }

            if (!backup.IsConnected())
            {
                Console.WriteLine("Failed to connect to backup storage.");
            }

            return(false);
        }
        public IndexBuilder(IIndexPersistence persistence, IIndexBackup backup, IConfigManager config)
        {
            #if DEBUG
            urlToUse = TestBooruUrl;
            #else
            urlToUse = DanBooruUrl;
            #endif

            _persistence = persistence;
            _backup      = backup;
            _config      = config;
            client       = new HttpXmlClient(urlToUse);

            numThreads = int.Parse(_config.GetItemByName("NumThreads"));

            if (numThreads > 1)
            {
                throw new NotSupportedException("Multi-threading is not supported in this version of LobitaDownloader. Please set NumThreads to 1.");
            }
        }