protected override void ProcessPage(Page p, EditStatus edit)
        {
            if (p.GetNamespace() != 0)
                return;
            p.Load();

            //Nur Seiten mit Vorlage:Infobox NSC
            if (p.GetAllTemplates().All(t => t.Title.ToLower() != "infobox nsc")) return;

            //Nur Seiten, die eine Unterseite mit Angeboten haben...
            var m = Regex.Match(p.text, "\\{\\{:" + p.title + "/([^}]+)}}");
            if (!m.Success) return;

            var subpageTitle = m.Groups[1].Value;

            var subpage = new Page(p.site, p.title + "/" + subpageTitle);
            subpage.Load();
            if (!subpage.Exists())
            {
                p.text = p.text.Replace(m.Value, "");
                edit.EditComment = "Verweis auf nicht vorhandene Angebots-Unterseite „" + subpage.title + "“ entfernt";
                edit.Save = true;
            }
            else
            {
                var pl2 = new PageList(p.site);
                pl2.FillFromLinksToPage(subpage.title);
                if (pl2.Count() > 1) return;

                var subpageContent = Regex.Replace(subpage.text, "<noinclude>.*?</noinclude>", "").Trim();

                p.text = p.text.Replace(m.Value, subpageContent);

                subpage.text = "{{Löschantrag|[Bot] In den Hauptartikel „[[" + p.title + "]]“ verschoben}}\n" +
                               subpage.text;
                subpage.Save("[Bot] In Hauptartikel „[[" + p.title + "]]“ verschoben", true);

                edit.EditComment = "Angebot von „" + subpage.title + "“ in den Hauptartikel verschoben";
                edit.Save = true;
            }
        }
Exemplo n.º 2
0
        private bool PageIsSchauplatz(string page)
        {
            if (_schauplaetze.Contains(page)) return true;

            //return true if the page doesn't exist
            var p = new Page(Site, page);
            p.Load();
            if(!p.Exists()) _schauplaetze.Add(page);
            return !p.Exists();
        }
        public static void DoStuff()
        {
            string username = "";
            string password = "";

            Console.WriteLine("Enter wiki username: "******"Enter wiki password: "******"G:\zkwiki\output\markup"));
            files = files.Shuffle();
            foreach (string path in files)
            {
                string unitname = Path.GetFileNameWithoutExtension(path);
                unitname = unitname.Replace("&#47;", "/");
                var page = new Page(newWiki, unitname);
                page.Load();
                if (page.Exists())
                {
                    // do nothing
                }
                else
                {
                    var text = File.ReadAllText(path);
                    Console.WriteLine("-- Making page {0} --", unitname);
                    page.Save(text, "Created page from unitguide builder export", false);
                    count++;
                    //if (count >= 20) break;
                }
            }

            string[,] toPort = 
            {
                //{"MissionEditorCompatibility", "Mission Editor game compatibility"},
                //{"MissionEditorStartPage", "Mission Editor"},
                //{"MissionEditorWINE", "Mission Editor in WINE"},
                //{"FactoryOrdersTutorial", "Mission Editor Factory Orders Tutorial"},
                //{"MissionEditorTutorial", "Mission Editor Tutorial"},
                //{"MissionEditorCutsceneTutorial", "Mission Editor Cutscenes Tutorial"}
            };
            for (int i=0; i<toPort.GetLength(0); i++)
            {
                ConvertPage(toPort[i, 0], toPort[i, 1], false);
            }

            string[] toReformat =
            {
                //"Mission Editor Cutscenes Tutorial"
            };
            for (int i = 0; i < toReformat.GetLength(0); i++)
            {
                ReformatPage(toReformat[i]);
            }
        }
        private static bool UploadFile(string fileToUpload)
        {
            logger.Info("Logging into Wiki");
            string siteurl = "http://commons.wikimedia.org";
            //string siteurl = "http://vgsales.wikia.com";
            //string siteurl = "http://w3stfa11.limewebs.com/wiki/index.php?title=Main_Page";
            Site wikiSite;
            Page page;
            try
            {
                wikiSite = new Site(siteurl, Configuration.WikiUsername, Configuration.WikiPassword);
                //wikiSite = new Site(siteurl, "abc", "123"); //limewebs
                page = new Page(wikiSite,videoInfo.Title);

            }
            catch (Exception e)
            {
                logger.Error("Unable to login to: " + siteurl + " error:" + e.Message + e.StackTrace + e.Source + e.InnerException + "\n" +e.Data);
                return false;
            }
            string fileNamespace = "6";
            string fileName = Path.GetFileName(fileToUpload);
            page.title = wikiSite.namespaces[fileNamespace] + ":" + fileName;

            StringBuilder sb = new StringBuilder();
            sb.AppendLine("{{Information");
            sb.AppendLine("|Description	= {{en|1=" + videoInfo.Description + "}}");
            sb.AppendFormat("|Source		= originally posted to '''[[Flickr]]''' as [{0} {1}]", videoInfo.SourceUrl,
                            videoInfo.Title);
            sb.AppendLine();
            sb.AppendLine("|Date		= " + videoInfo.Date);
            sb.AppendLine("|Author		= " + videoInfo.Author);
            sb.AppendLine("|Permission	= " + GetLicenseTemplate(videoInfo.License));
            sb.AppendLine("|Other versions		= ");
            sb.AppendLine("}}");

            string wikitext = sb.ToString();
            logger.Info("--------------\n" + wikitext);
            try {
                page.Load();
            }
            catch(Exception ex)
            {
                return false;
            }

            if (page.Exists())
            {
                int x = 0;
                //return false;
            }

            try {
                logger.InfoFormat("Uploading {0} to Wiki", fileToUpload);
                page.UploadImage(fileToUpload, wikitext, "", "", "");

                logger.Info("Complete upload to Wiki");
            }
            catch (Exception ex)
            {
                logger.Error("Error in UploadFile: " + ex.Message + Environment.NewLine + "fileToUpload: " + fileToUpload + ex.GetBaseException());
            }

            return true;
        }