Ejemplo n.º 1
0
        /// <summary>
        /// Create a wiki site, login if necessary.
        /// </summary>
        private async Task <WikiSite> CreateWikiSiteAsync(IWikiClient wikiClient, string url)
        {
            WikiSite site;

            if (url.Contains(".wikia.com"))
            {
                var uri     = new Uri(url, UriKind.Absolute);
                var options = new WikiaSiteOptions(uri.GetLeftPart(UriPartial.Authority) + "/")
                {
                    AccountAssertion = AccountAssertionBehavior.AssertAll,
                };
                site = new WikiaSite(wikiClient, options)
                {
                    Logger = OutputLoggerFactory.CreateLogger <WikiaSite>()
                };
            }
            else
            {
                var options = new SiteOptions(url)
                {
                    AccountAssertion = AccountAssertionBehavior.AssertAll,
                };
                site = new WikiSite(wikiClient, options)
                {
                    Logger = OutputLoggerFactory.CreateLogger <WikiSite>()
                };
            }
            await site.Initialization;

            if (sitesNeedsLogin.Contains(url))
            {
                await CredentialManager.LoginAsync(site);
            }
            return(site);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Create a wiki site, login if necessary.
        /// </summary>
        private async Task <WikiSite> CreateWikiSiteAsync(IWikiClient wikiClient, string url)
        {
            WikiSite site;

            if (url.Contains(".wikia.com") || url.Contains(".wikia.org") || url.Contains(".fandom.com"))
            {
                var uri     = new Uri(url, UriKind.Absolute);
                var rootUrl = new Uri(uri, ".").ToString();
                var options = new WikiaSiteOptions(rootUrl)
                {
                    AccountAssertion = AccountAssertionBehavior.AssertAll,
                };
                site = new WikiaSite(wikiClient, options)
                {
                    Logger = OutputLoggerFactory.CreateLogger <WikiaSite>()
                };
            }
            else
            {
                var options = new SiteOptions(url)
                {
                    AccountAssertion = AccountAssertionBehavior.AssertAll,
                };
                site = new WikiSite(wikiClient, options)
                {
                    Logger = OutputLoggerFactory.CreateLogger <WikiSite>()
                };
            }
            await site.Initialization;

            if (sitesNeedsLogin.Contains(url))
            {
                await CredentialManager.LoginAsync(site);
            }
            return(site);
        }
Ejemplo n.º 3
0
 /// <inheritdoc />
 public WikiaSite(IWikiClient wikiClient, WikiaSiteOptions options, string userName, string password)
     : base(wikiClient, options, userName, password)
 {
 }
Ejemplo n.º 4
0
 /// <inheritdoc />
 public WikiaSite(IWikiClient wikiClient, WikiaSiteOptions options) : this(wikiClient, options, null, null)
 {
 }