Manual:Pywikibot/Compat/Basic use/sv


 * Om du behöver mera hjälp med att starta upp din pywikipediabot, kan du få hjälp på #pywikipediabot @ freenode server eller använda dig av pywikipediabots mailinglista.

Python Wikipediabot är en samling botskript som gör saker på Wikipedia eller andra Mediawikiprojekt. Skripten har skrivits av flera olika personer i programmeringsspråketPython. På denna sida finns allmän information för den som vill använda sig av dessa skript.

Nedladdning
För att kunna köra skripten behöver du ladda ned en samling filer och desutom ha Python version 2.3 eller senare installerad på din dator.

Python finns redan i en del Unix distributioner, och behöver då inte installeras igen (även om du kan behöva uppdatera om du haren gammal version). Om du inte har Python installerad kan du hämta hem programmet från http://www.python.org/download/. Python kan användas under de flesta vanliga operativsystemen (Unix, Linux, Mac, Windows).

Själva bot-programvaran kan hämtas hem från Sourceforge. På http://sourceforge.net/projects/pywikipediabot/ kan du ladda ned ett paket med alla nödvändiga filer, tyvärr uppdateras inte detta paket så ofta. (Se vidare under Nuvarande version)

När du har i8nstallerad och har laddat hem alla bot-filer behöver du inte göra något mer. Det behövs alltså ingen vidare installation av boten på din dator (för att kunna köra boten under Python25 http://www.python.org/download/, måste bot-filerna laddas ned i Python25 mappen på din dator).

Nuvarande version
En mycket mera uppdaterad version (som mest ca 24 timmar gammal) kan fås via CVS (or via  http://sourceforge.net/cvs/?group_id=93107 om du inte har en CVS klient installerad, men då måste du ladda ned varje fil separat. I längde är det alltså ändå bäst att använda CVS). I Unix är detta standard, för Windows finns TortoiseCVS att ladda hem. Se för instruktioner om hu TortoiseCVS används. För att hämta boten via de Unixlika kommandoraderna, använd följande kommandon: $ cvs -d :pserver:anonymous@pywikipediabot.cvs.sourceforge.net:/cvsroot/pywikipediabot login Password: (inget lösenord behövs, tryck bara "enter") $ cvs -d :pserver:anonymous@pywikipediabot.cvs.sourceforge.net:/cvsroot/pywikipediabot co pywikipedia

Om du har cygwin installerad i Windows, kan du använda denna kommandorad: $ cvs -d :pserver:anonymous@pywikipediabot.cvs.sourceforge.net:/cvsroot/pywikipediabot co pywikipedia Filerna laddas då ned i C:\cygwin\home\(username)\pywikipedia

Om du skriver pwd (present working directory) i cygwins kommandorad, kommer den att säga något liknande: /home/(username) - på så sätt får du reda på vardu kan hitta filerna.

Om du inte kan använda en kommandorad, så är detta den nödvändiga informationen som behövs:

Bot mailinglista
Det är förmodligen en bra idé att gå med i mailinglistan för botägare (se vidare info på http://sourceforge.net/mail/?group_id=93107). Varje gång en robotfil ändras skickas ett mail ut på listan, så att du vet när du skall uppdatera.

Konfigurering för Wikipedia
Öppna en texteditor (t.ex. "anteckningsblocket).

Skriv följande rad: mylang = 'xx' xx är språkkoden för det språk du skall använda, "sv" är svenska. Spara filen som, i samma mapp som alla dina andra botfiler, som du laddat hem.

-filen måste också innehålla botens användarnamn.

Om du tillexempel vill arbeta på svenska Wikipedia, och har skapat ett användarkonto med namnet "ExampleBot" där, skriver du följande rad i din :

usernames['wikipedia']['sv'] = u'ExampleBot'

"u":et framför användarnamnet står för Unicode. Det är viktigt om användarnamnet anänder icke-ASCII tecken. Om du jobbar på mer än en wiki, kan du specificera flera användarnamn, t.ex. usernames['wikipedia']['de'] = u'BeispielBot' usernames['wikipedia']['en'] = u'ExampleBot' usernames['wiktionary']['de'] = u'BeispielBot'

Spara filen igen.

Att konfigurerar för en annan wiki
Öppna en texteditor (t.ex. "anteckningsblocket).

Skriv följande: mylang = 'xx' xx är språkkoden för det språk du skall använda, "sv" är svenska.

Skriv sedan: family = 'sitename' "sitename" är namnet på siten du jobbar med.

För tillfället kan det vara wiktionary, wikibooks, wikiquote,och även några icke-Wikimedia projekt som wikitravel (hela listan finns i "families" mappen).

O)m du skall jobba med WikiMedia Commons, skriv  både som språk och familj:

mylang='commons' family='commons' usernames['commons']['commons']='UserBot'

Om din wiki inte finns med i familje mappen, skapa din egen familje .py fil, se vidare information här: Pywikipedia bot on non-Wikimedia projects

Din  fil måste specificera botens användarnamn:.

Om du tillexempel vill arbeta på engelska Memory Alpha, och har skapat ett användarkonto med namnet "ExampleBot" där, skriver du följande rad i din :

usernames['memoryalpha']['en'] = u'ExampleBot'

Din  fil har alltså tre radera, detta är ett exempel för memoryalpha:

mylang = 'en' family = 'memoryalpha' usernames['memoryalpha']['en'] = u'ExampleBot'

Spara filen som, i samma mapp som alla dina andra botfiler, som du laddat hem.

unicode mediawiki installation
Om du arbetar med en unicode mediawiki installation och tänker använda icke-latin tecken, måste du ändra teckenkodningen till UTF-8 (detta är standard i de flesta Linux distributionerna) och skriva till denna rad till din, så att inte Unicode ser ut som frågetecken ("????"): console_encoding = 'utf-8'

Tillstånd för att köra en bot
Innan du kör i gång din bot, var helt säker på att du har den lokala wikigemenskapens förtroende att göra det. Rutinerna för botar varierar kraftigt mellan olika wiki.

Med en vanlig webläsare lskapar du ett användarkonto i din bots namn. Namnge boten så att det tydligt frangår att det är en bot och aäven vem det är som kör den. En vanlig metod är att använda ditt eget användarnamn och lägga till -bot på slutet.

På svenska wikipedia är det bra att söka tillstånd på sv:WP:Bots och boten måste vara namngiven med ordet bot i slutet (eller i undantagsfall i början) på användarnamnet. En bot utan botflagga får bara göra två ändringar i minuten.

Botflagga
Om du använder en robot mycket kommer "senaste ändringar" att svämma över. För att undvika detta kan du få botflagga. I sådana fall syns inte din bot i senaste ändringar (om enskilda användare inte direkt gör en sådan inställning). Denna ansökan görs på svenska wikipedia på sv:WP:Bots. På andra wiki finns det andra system till exempel kan en Steward eller Bureaucrat ordna detta. Det är en bra idé att ordna botflagga om du vill göra fler än en ändring under en kort tid.

Att välja ett skript
Nu är det dags att börja använda boten, som styrs via en kommando rad

I Windows genom att öppna start menyn, och klicka på 'kör'. Skriv "cmd.exe" eller bara "cmd".
 * Ändra till rooten "C:" genom att skriva cd \
 * Skriv cd \"vägen till python wikipediabot som du laddat hem"

I Macmiljö, använder du Terminal.app i /Applications/Utilities.

I Linux eller Unix, en kommando prompt som t.ex. gnome-terminal, konsole, xterm, eller helt enkelt "the text-mode console".

Kör först login.py genom att skriva "python login.py". Den kommer då att fråga efter ett lösenord, använd lösenordet som du valde när du skapande robotens användarkonto. Boten kan inte arbeta anonymt. Om du inte ändra användarnamn behöver du förmodligen bara använda detta skript en gång, roboten loggar vanligtvis inte ut.

Du kan nu köra vilket skript du vill, genom att skriva "python skriptets namn.py" (om du använder Windows, ska du inte skriva "python" först).

Här finns en lista över alla skript och en länk till en beskrivning av dem:

Huvudskript: Ytterligare skript: Hjälpskript:
 * category.py
 * imagetransfer.py
 * interwiki.py
 * redirect.py
 * replace.py
 * solve_disambiguation.py
 * table2wiki.py
 * template.py
 * upload.py
 * weblinkchecker.py
 * catall.py
 * copyright.py
 * delete.py
 * editpage.py
 * imageharvest.py
 * pagefromfile.py
 * pagelist.py
 * standardize_interwiki.py
 * standardize_notes.py
 * touch.py
 * touchall.py
 * warnfile.py
 * welcome.py
 * login.py
 * splitwarning.py
 * test.py
 * xmltest.py

Kommandon
Flera av botarna har specifika kommandon för just dem, som för hoppningsvis finns i dokumentationen på deras respektive sida (eller i källkoden). Alla botar känner också igen följande universella kommandon om inte annat anges:


 * -help
 * Ger en lista på universella kommandon (denna lista), fföljd av specifik info för boten.


 * -lang:xx
 * Anger språket för wikin du vill arbeta på, där språkkoden, tar företräde över.


 * -family:xyz
 * Bestämmer familjen för den wiki du vill arbeta på, t.ex., wikipedia, wiktionary, wikitravel, ... Detta tar företräde före.


 * -log
 * Enable the logfile. Logs will be stored in the logs subdirectory.


 * -log:xyz
 * Enable the logfile, using  as the filename.


 * -nolog
 * Disable the logfile (if it's enabled by default).


 * -putthrottle:nn
 * Set the minimum time (in seconds) the bot will wait between saving pages. The default value is zero.

For example,  will run the "scriptname" bot on wiktionary articles, overriding the default family setting in your user configuration.

Using bot for a local installed wiki
Look here to find out how to configure the bot to use it on your own mediawiki-powered project.

Update
For further updates chdir into pywikipedia and type $ cvs up -Pd

Development
If you have a function you want to have a bot for that is not yet provided by one of the bots, you can ask one of the programmers to write it for you. Or even better, you can try to work on the bots yourself. Python is a nice language, and not hard to learn. We will welcome you.

Tips
Here are some very basic tips for getting started writing your own bot: site = wikipedia.getSite page = wikipedia.Page(site, pageName) text = page.get page.put(newText) site = wikipedia.getSite cat = catlib.Category(site,'Category:Living people') gen = pagegenerators.CategorizedPageGenerator(cat) for page in gen: #Do something with the page object, for example: text = page.get
 * be sure you've set up your user-config.py file (see above)
 * use  to gain access to the pywikipedia framework
 * to retrieve a page, use the following, where pageName is, e.g., "Wikipedia:Bots" or "India":
 * to update a page, use:
 * look at some of the pywikipedia files for other ideas -- replace.py is relatively easy to read even if you're new to pywikipedia.
 * you can find all available Page methods in the wikipedia.py file.
 * basic.py gives you a setup that can be used for many different bots, all you have to do is define the string editing on the page text.
 * To iterate over a set of pages, see pagegenerators.py for some objects that return a set of pages. An example use of the CategoryPageGenerator that does something for each page in the Category:Living people category:

Contributing changes
If you changed the bot and want to send a patch to the maintainer,
 * 1) Update to the current version (it will merge your changes with the improvements already committed to the CVS Repository),
 * 2) Resolve any conflicts caused by the update (grep for "=====" ;-) and
 * 3) Type:
 * $ cvs diff > cvs.diff

You can then send the file cvs.diff to the developer And ask them to include the changes (maybe you want to review the diff before sending it). The lines at the beginning starting with "?" may be removed.

Multiple accounts
It is a common need to run python wikipedia bot under different accounts (main and/or multiple bot accounts). It can be done in two ways.

Separate pywikipedia distributions
One can install completely separate instances of pywikipedia in different directories (1 for each account) and have diferent  files in each of them. However, when updating the installation via CVS, one needs to run  on each folder separately. Also, every installation takes some disk space, which might be a problem on accounts with limited quota.

One pywikipedia distribution with symbolic links
Let's assume user  has a current CVS snapshot of pywikipedia in. For each of the accounts, he creates a separate directory:

foo@bar:~$ mkdir foobot foo@bar:~$ cd foobot

Pywikipedia needs then some symlinks to the main code tree created in the working directory:

foo@bar:~/foobot$ ln -s ~/pywikipedia/families foo@bar:~/foobot$ ln -s ~/pywikipedia/userinterfaces

Then,  for this account must be created as described in "Configure" section above.

Finally, the bot must be logged in the usual way:

foo@bar:~/foobot$ python ~/pywikipedia/login.py

The working directory is ready. The scripts will however require a slight modification to run (the path to the pywikipedia tree must be added to Python's path).

import sys, os sys.path.append(os.environ['HOME'] + '/pywikipedia') import wikipedia

That's all. Updating to the newest version of pywikipedia on all account at once is now a matter of running  only in the   directory.