From Wikipedia, the free encyclopedia

This code was taken from Botwiki, modified to allow for emergency shutoff. Thanks to valhallasw for fixing the disambig page. This is current as of 4/13/2008

#!/usr/bin/python
# -*- coding: utf-8 -*-
 
#
# (C) Pietrodn, it.wiki 2006-2007
# (C) Filnik, it.wiki 2007
#
# Distributed under the terms of the MIT license.
#
__version__ = '$Id:$'
#
 
import wikipedia
import re
import time
 
from pagegenerators import AllpagesPageGenerator
 
commento = {
           'en':u'Bot: Orphan page, add template',
           'it':u'Bot: Voce orfana, aggiungo template {{O}}',
           }

commenttodisambig = {
           'en':u'Bot: This page is a disambig',
           'it':u'Bot: Voce orfana, aggiungo template {{O}}',
           }
 
Template = {
            'en':u'{{Orphan|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}<!-- Automatically added by User:SoxBot. If this is an error, please contact User:Soxred93 -->}}',
            'it':u'{{O||mese={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}',
            }
 
def main():
    while 1 == 1:
        global commento; global Template
     
        args = wikipedia.handleArgs()
        for arg in wikipedia.handleArgs():
            if arg == '-all':
                allfunction = True
        wikiSite = wikipedia.getSite()  
        comment = wikipedia.translate(wikiSite, commento)
        commentdisambig = wikipedia.translate(wikiSite, commenttodisambig)
        template = wikipedia.translate(wikiSite, Template)
        allfunction = False
        wikipediasite = wikipedia.getSite('en', 'wikipedia')
        enable = wikipedia.Page(wikipediasite, 'User:SoxBot/Run')
        getenable = enable.get()
        disambigpage = wikipedia.Page(wikipediasite, 'User:SoxBot/disambig')
        disambigtext = disambigpage.get()
        if getenable != 'enable':
            wikipedia.output('The bot is disabled')
            wikipedia.stopme()
        else:
            for i in wikiSite.lonelypages(number = 1000, repeat = False):
                #if i.title()[0] in ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L']:
                    #continue
                if i.isRedirectPage():
                    continue
                refs = i.getReferences()
                refsList = list()
                for j in refs:
                    if j == None:
                        continue
                    refsList.append(j)
                if getenable != 'enable':
                    wikipedia.output('The bot is disabled')
                    wikipedia.stopme()
                elif refsList != []:
                    continue
                elif refsList == None:
                    continue # FIXME: ????
                else:
                    try:
                        oldtxt = i.get()
                    except wikipedia.NoPage:
                        wikipedia.output("%s doesn't exist! Skip.." % i.title())
                        continue
                    except wikipedia.IsRedirectPage:
                        wikipedia.output("%s is a redirect! Skip..." % i.title())
                    if getenable != 'enable':
                        wikipedia.output('The bot is disabled')
                        wikipedia.stopme()
                    elif '{{orphan}}' in oldtxt.lower() or '{{orphan|' in oldtxt.lower() or '{{wi|' in oldtxt.lower() or '{{soft redirect|' in oldtxt.lower() or '{{wi}}' in oldtxt.lower():
                        wikipedia.output('This page already has the template or a wiktionary redirect, skipping')
                        continue
                    elif i.isDisambig():
                        wikipedia.output('Disambig page...')
                        disambigtext = disambigtext + ' [[' + i.title() + ']]'
                        disambigpage.put(disambigtext, commentdisambig)
                        continue
                    else:
                        newtxt = template + '\n' + oldtxt
                        wikipedia.output("\t\t>>> %s <<<" % i.title())
                        wikipedia.showDiff(oldtxt, newtxt)
                        choice = 'y'
                        try:
                            i.put(newtxt, comment)      
                        except wikipedia.EditConflict:
                            wikipedia.output('Edit Conflict! Skip...')
                        except wikipedia.ServerError:
                            wikipedia.output('Server error')


if __name__ == '__main__':
    try:
        main()
    finally:
        wikipedia.stopme()
From Wikipedia, the free encyclopedia

This code was taken from Botwiki, modified to allow for emergency shutoff. Thanks to valhallasw for fixing the disambig page. This is current as of 4/13/2008

#!/usr/bin/python
# -*- coding: utf-8 -*-
 
#
# (C) Pietrodn, it.wiki 2006-2007
# (C) Filnik, it.wiki 2007
#
# Distributed under the terms of the MIT license.
#
__version__ = '$Id:$'
#
 
import wikipedia
import re
import time
 
from pagegenerators import AllpagesPageGenerator
 
commento = {
           'en':u'Bot: Orphan page, add template',
           'it':u'Bot: Voce orfana, aggiungo template {{O}}',
           }

commenttodisambig = {
           'en':u'Bot: This page is a disambig',
           'it':u'Bot: Voce orfana, aggiungo template {{O}}',
           }
 
Template = {
            'en':u'{{Orphan|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}<!-- Automatically added by User:SoxBot. If this is an error, please contact User:Soxred93 -->}}',
            'it':u'{{O||mese={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}',
            }
 
def main():
    while 1 == 1:
        global commento; global Template
     
        args = wikipedia.handleArgs()
        for arg in wikipedia.handleArgs():
            if arg == '-all':
                allfunction = True
        wikiSite = wikipedia.getSite()  
        comment = wikipedia.translate(wikiSite, commento)
        commentdisambig = wikipedia.translate(wikiSite, commenttodisambig)
        template = wikipedia.translate(wikiSite, Template)
        allfunction = False
        wikipediasite = wikipedia.getSite('en', 'wikipedia')
        enable = wikipedia.Page(wikipediasite, 'User:SoxBot/Run')
        getenable = enable.get()
        disambigpage = wikipedia.Page(wikipediasite, 'User:SoxBot/disambig')
        disambigtext = disambigpage.get()
        if getenable != 'enable':
            wikipedia.output('The bot is disabled')
            wikipedia.stopme()
        else:
            for i in wikiSite.lonelypages(number = 1000, repeat = False):
                #if i.title()[0] in ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L']:
                    #continue
                if i.isRedirectPage():
                    continue
                refs = i.getReferences()
                refsList = list()
                for j in refs:
                    if j == None:
                        continue
                    refsList.append(j)
                if getenable != 'enable':
                    wikipedia.output('The bot is disabled')
                    wikipedia.stopme()
                elif refsList != []:
                    continue
                elif refsList == None:
                    continue # FIXME: ????
                else:
                    try:
                        oldtxt = i.get()
                    except wikipedia.NoPage:
                        wikipedia.output("%s doesn't exist! Skip.." % i.title())
                        continue
                    except wikipedia.IsRedirectPage:
                        wikipedia.output("%s is a redirect! Skip..." % i.title())
                    if getenable != 'enable':
                        wikipedia.output('The bot is disabled')
                        wikipedia.stopme()
                    elif '{{orphan}}' in oldtxt.lower() or '{{orphan|' in oldtxt.lower() or '{{wi|' in oldtxt.lower() or '{{soft redirect|' in oldtxt.lower() or '{{wi}}' in oldtxt.lower():
                        wikipedia.output('This page already has the template or a wiktionary redirect, skipping')
                        continue
                    elif i.isDisambig():
                        wikipedia.output('Disambig page...')
                        disambigtext = disambigtext + ' [[' + i.title() + ']]'
                        disambigpage.put(disambigtext, commentdisambig)
                        continue
                    else:
                        newtxt = template + '\n' + oldtxt
                        wikipedia.output("\t\t>>> %s <<<" % i.title())
                        wikipedia.showDiff(oldtxt, newtxt)
                        choice = 'y'
                        try:
                            i.put(newtxt, comment)      
                        except wikipedia.EditConflict:
                            wikipedia.output('Edit Conflict! Skip...')
                        except wikipedia.ServerError:
                            wikipedia.output('Server error')


if __name__ == '__main__':
    try:
        main()
    finally:
        wikipedia.stopme()

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook