Manual:Pywikibot/Compat/Basic use/sv

In your own language: de - en - fr - it - nl - pl - pt - 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åket Python. 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 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).

Nuvarande 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/

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/

Botmailinglista
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. "anteckningar").

Skriv följande rad: mylang = 'xx' där xx är språkkoden för det språk du skall använda, svenska har koden "sv". 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 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 :

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.

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  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  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 :

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.

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, 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 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å sv:WP:BOB 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:BOB. 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.

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

I Windows genom att öppna startmenyn, och klicka på 'kör'. Skriv "cmd.exe" eller bara "cmd".
 * Ändra till rotkatalogen "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 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:
 * 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ö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, 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
 * Startar loggfilen. Loggar sparas i undermappen "logs".


 * -log:xyz
 * Startar loggfilen, och sparar loggen med  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,  att dit utvalda skript ("scriptname" i exemplet) körs på wiktionary artiklar, och ignorerar din urspriungsinställda familjeinställning i "user-config.py".

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.

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

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.

Tips
Här finns några enkla tips för den som vill börja skriva en egen bot. site = wikipedia.getSite page = wikipedia.Page(site, pageName) text = page.get page.put(newText) 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
 * se till så att du har ordnat med en din user-config.py fil (enligt ovan)
 * använd  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":
 * för att uppdatera en sida, använd:
 * 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:

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.

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

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

En pywikipediainstallation med symboliska länkars
Om vi antar att användare  har en SVN-uppdaterad version av pywikipedia i. 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  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  bara i   mappen.

Se även

 * Pywikipedia bot on non-wikimedia projects

Källa

 * Detta är en översättning av den engelska artikeln