Manual:Pywikipediabot/Basic use/sv

From MediaWiki.org
Jump to: navigation, search
Wikimedia-logo-meta.png

This page was moved from MetaWiki.
It probably requires cleanup – please feel free to help out. In addition, some links on the page may be red; respective pages might be found at Meta. Remove this template once cleanup is complete.

Språk: English  • Italiano • Polski • Русский • Српски / Srpski • Svenska
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åket. På denna sida finns allmän information för den som vill använda sig av dessa skript.

Contents

[edit] Installation

[edit] Nedladdning

För att kunna köra skripten behöver du ladda ned en samling filer och dessutom ha Python version 2.4 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 har en 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 installerat Pyton 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 dock bot-filerna laddas ned i Python25 mappen på din dator).

[edit] Aktuell version

En mycket mera uppdaterad version (som mest ca 24 timmar gammal) kan fås via SVN (tidigare användes CVS). I Unix är detta standard, för Windows finns TortoiseSVN att ladda hem. Checka ut kod från URLen http://svn.wikimedia.org/svnroot/pywikipedia/trunk/pywikipedia/

[edit] Kommandon

För att checka ut (ladda ner) bot-koden via SVN i ett terminalfönster, används följande kommandon:

$ svn checkout http://svn.wikimedia.org/svnroot/pywikipedia/trunk/pywikipedia/ pywikipedia

För att spara tid kan man hoppa över rättstavnings-filerna:

$ svn checkout --ignore-externals http://svn.wikimedia.org/svnroot/pywikipedia/trunk/pywikipedia/ pywikipedia

I din nuvarande filkatalog (kommandot pwd och variabeln $PWD berättar var du står i Linux, Cygwin och andra UNIX-liknande system) ska nu en filkatalog 'pywikipedia' ha skapats.

Verktyg som inte använder terminalfönster och kommandoprompt, behöver bara adressen till repositoryt: http://svn.wikimedia.org/svnroot/pywikipedia/trunk/pywikipedia/

[edit] Botmailinglista

Det är förmodligen en bra idé att gå med i mailinglistan för botägare (se vidare info på mail:Pywikipedia-l). Varje gång en robotfil ändras skickas ett mail ut på listan, så att du vet när du skall uppdatera.

[edit] Konfigurering för Wikipedia

Öppna en texteditor (t.ex. "anteckningar").

Skriv följande rad:

mylang = 'sv'

sv är den svenska språkkoden, du kan också prova; en för engelska, de tyska osv. Spara filen som user-config.py, i samma mapp som alla dina andra botfiler, som du laddat hem. Om du vill arbeta med mer än ett språk, välj det språk som de använder mest. Du kan temporärt byta språk genom att använda -lang:en efter pywikipediabot scriptet på kommandoraden.

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

Om du till exempel vill arbeta på svenska Wikipedia, och har skapat ett användarkonto med namnet "ExampleBot" där, skriver du följande rad i din user-config.py:

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

"u":et framför användarnamnet står för Unicode. Det är viktigt om användarnamnet innehåller icke-ASCII tecken. Om du inte använder några sådana tecken och får problem, kan du testa med att ta bort u:et. 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.

[edit] Att konfigurera 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 mappen "families").

Om du skall jobba med WikiMedia Commons, skriv commons både som språk och familj:

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

Om din wiki inte finns med i familjemappen, skapa din en egen .py-fil för familjen, se vidare information här: Pywikipedia bot on non-Wikimedia projects

Din user-config.py fil måste specificera botens användarnamn:.

Om du till exempel vill arbeta på engelska Memory Alpha, och har skapat ett användarkonto med namnet "ExampleBot" där, skriver du följande rad i din user-config.py:

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

Din user-config.py fil har alltså tre radera, detta är ett exempel för memoryalpha:

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

Spara filen som user-config.py, i samma mapp som alla dina andra botfiler, som du laddat hem.

[edit] mediawiki-installation med unicode

Om du arbetar med en mediawikiinstallation som använder unicode och tänker använda icke-latin tecken, måste du ändra teckenkodningen till UTF-8 (detta är standard i de flesta Linux-distributioner) och skriva till denna rad till din user-config.py, så att inte Unicode ser ut som frågetecken ("????"):

console_encoding = 'utf-8'

[edit] 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 skapar du ett användarkonto i din bots namn. Namnge boten så att det tydligt framgår att det är en bot och vem 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å 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.


[edit] 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å. På andra wiki finns det andra system till exempel kan en steward eller byråkrat ordna detta. Det är en bra idé att ordna botflagga om du vill göra fler än en ändring under en kort tid.

[edit] Användning

[edit] Att välja ett skript

Nu är det dags att börja använda boten, som styrs via en kommandorad

Windows genom att öppna startmenyn, och klicka på 'kör'. Skriv "cmd.exe" eller bara "cmd".

  • Ändra till rotkatalogen "C:" genom att skriva chdir C:\
  • Skriv chdir \"vägen till python wikipediabot som du laddat hem"

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

Linux eller Unix, en kommandoprompt 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 ändrar lösenord så 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, behöver du inte skriva "python" först).

Här finns en lista över alla skript med länkar till beskrivningar av dem:

  Huvudskript   Ytterligare skript   Hjälpskript  



[edit] Kommandon

Flera av botarna har specifika kommandon för just dem, som förhoppningsvis 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), följd av specifik info för boten.
-lang:xx
Anger språket för wikin du vill arbeta på, där språkkoden xx, tar företräde över user-config.py.
-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 user-config.py.
-log
Startar loggfilen. Loggar sparas i undermappen "logs".
-log:xyz
Startar loggfilen, och sparar loggen med xyz som filnamn.
-nolog
Stänger av logfilen (om den är inställd att starta automatiskt).
-putthrottle:nn
Bestämmer minimitiden i sekunder för hur länge boten väntar mellan varje gång den sparar en sida. Ursprungsinställningen är 0.

Till exempel så gör kommandot, python scriptname.py -family:wiktionary att dit utvalda skript ("scriptname" i exemplet) körs på wiktionary artiklar, och ignorerar din urspriungsinställda familjeinställning i "user-config.py".

[edit] Att använda en bot på en lokalt installerad wiki

Här finns instruktioner om hur du kan göra för att använda en pywikipediabot på din egen mediawiki-wiki.

[edit] Uppdateringar

För att uppdatera, gå till mappen där du har pywikipedia (i en kommandoprompt) och skriv

$ svn update

[edit] Utveckling

Om du vill göra saker med din bot som det ännu inte finns något skript för, kan du be en av programmerarna att skriva ett sådant skript åt dig. Ännu hellre kan du dock göra det själv. Python är ett ganska lätt programmerningsspråk att lära sig.

[edit] Tips

Här finns några enkla tips för den som vill börja skriva en egen bot.

  • se till så att du har ordnat med en din user-config.py fil (enligt ovan)
  • använd import wikipedia för att få tillgång till pywikipedias ramverk
  • för att hämta en sida använd följande textrad där pageName motsvarar t.ex. "Wikipedia:Bots" eller "Indien":
site = wikipedia.getSite()
page = wikipedia.Page(site, pageName)
text = page.get()
  • för att uppdatera en sida, använd:
page.put(newText)
  • titta på några av de andra pywikipedia skripten för att få fler idéer – replace.py är relativt lätt att läsa öven om du är nybörjare med pywikipedia.
  • alla tillgängliga metoder för att ändra sidor finns i wikipedia.py skriptet.
  • basic.py har ett upplägg som kan användas för flera olika botar, allt du behöver göra är att definiera den textsträng som skall ändras på sidan.
  • för att iterera på flera sidor, kolla in pagegenerators.py för några objekt som returnerar en samling sidor. Ett exempel på hur man kan använda CategoryPageGenerator som ändrar något i varje sida i Kategori:Arkeologi är:
site = wikipedia.getSite()
cat = catlib.Category(site,'Kategori:Arkeologi')
gen = pagegenerators.CategorizedPageGenerator(cat)
for page in gen:
  #Do something with the page object, for example:
  text = page.get()

[edit] Enklare användning under Windows

För att snabbt kunna börja använda kommandona under windows så kan det vara en bra idé att skapa en genväg. Gör så här:

  1. Öppna foldern där du installerade pywikipedia
  2. under menyn Arkiv->New välj "ny folder"
  3. skriv in cmd.exe klicka nästa
  4. Använd namnet pywikipedia
  5. Från adressraden till foldern som pywikipedia ligger i, kan du kopiera sökvägen till foldern
  6. höger klicka på genvägen du skapade, välj Egenskaper
  7. kopiera in sökvägen till pywikipedia i fältet "Start i"
  8. Tryck på OK knappen, och du kan nu dubbel klicka på sök vägen och använda skriptet direkt.

[edit] Att bidra med förändringar

Om du ändrat något i en bot och vill dela med dig av dina förändringar så gör du på följande sätt:

  1. Uppdatera till den senaste versionen (detta kommer att sammansmälta dina förändringar med förbättringar som gjorts i SVN Repository),
  2. Lös eventuella konflikter som uppdateringen skapat (sök efter "=====" ;-) och:
  3. skriv:
$ svn diff > svn.diff

Då kan du skicka svn.diff till utvecklarna och be dem att införliva dina förändringar i sin kod (en bra idé är att granska diffen innan du skickar in den). Rader som börjar med "?" kan tas bort.

[edit] Multipla konton

Det finns ett behov av att använda botar under flera användarnamn. Det kan göras på två sätt.

[edit] Separata pywikipedia distributioner

Man kan installera två helt skilda mappar med pywikipedia, en för varje konto, och ha separata user-config.py filer i dem. I sådant fall måste dock bägge mapparna uppdateras via SVN, genom att köra svn update på varje mapp separat. Dessutom tar ju varje robotpaket upp plats på din dator, vilket kan vara ett problem om diskutrymmet är begränsat.

[edit] En pywikipediainstallation med symboliska länkar

Om vi antar att användare foo har en SVN-uppdaterad version av pywikipedia i /home/foo/pywikipedia. För varje konto skapar h*n en separat mapp:

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

Pywikipedia behöver sedan några symlänkar till där huvud koden finns:

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

Därefter måste user-config.py skapas för detta konto på det sätt som beskrivs ovan.

Till slut måste boten loggas in på sedvanligt sätt:

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

Skriptet behöver nu modifieras lite grann för att fungera (sökvägen till pywikipedia mappen påste läggas till i Python).

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

Det är allt. Uppdatera till den senaste versionen av pywikipedia på alla konton på en gång genom att köra svn update bara i ~/pywikipedia mappen.

[edit] Se även

[edit] Källa

Personal tools
Namespaces

Variants
Actions
Navigation
Support
Download
Development
Communication
Print/export
Toolbox
In other languages