Manual:Pywikibot/PAWS

This page is a translated version of the page Manual:Pywikibot/PAWS and the translation is 66% complete.
Outdated translations are marked like this.
Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎polski • ‎português do Brasil • ‎čeština • ‎Ελληνικά • ‎русский • ‎українська • ‎اردو • ‎العربية • ‎سنڌي • ‎中文 • ‎日本語 • ‎한국어
Lihat Wikitech:PAWS untuk rincian lebih lanjut.

Dokumen ini menyediakan tinjauan interaktif cepat Pywikibot dengan menggunakan notebook yang diinangkan di lingkungan lab Wikimedia yang menggunakan PAWS (PAWS: A Web Shell).

Ingat bahwa Terminal PAWS mendukung salin dan tempel hanya dalam peramban berbasis Chromium. (Dapat menggunakan Google Chrome, Opera, Safari dan Microsoft Edge baru.) If you use a different browser, you can try with context menu only (right-click) or you will need to manually type the commands mentioned in this walk-through. You can also create a bash file with in content the command and call in terminal with bash file.sh.
Peringatan Peringatan All notebooks and terminals in PAWS are subject to termination without notice. You are encouraged to run your task on other places (such as Toolforge) if your task lasts for more than hours.

Cara pembuatan akun Wikimedia

Untuk bisa mengikuti tata langkah berikut, Anda hanya perlu membuat akun pada salah satu proyek Wikimedia.

Jika Anda sudah membuat akun, kunjungi https://test.wikipedia.org/ dan perhatikan nama pengguna Anda yang muncul di pojok kanan atas. (Proses ini akan berjalan lancar sesuai T120327).

If you are a new user on Wikimedia log in with your account on meta.Wikimedia, Wikipedia, Wikidata, and Commons. And in each of them read and delete all pending messages you have (on the top).

Masuk ke 'laptop'

Untuk memulai notebook terinang, tuju ke https://hub.paws.wmcloud.org/hub

Klik "Sign in with MediaWiki", kemudian klik "Allow" jika diminta untuk persetujuan terkait "Use OAuth for Authentication". Saat pertama kali mengakses PAWS, Anda diharuskan untuk membuat server. Klik tombol hijau "Start my Server". It's normal to wait a few minutes for the new server to start up.

Saat server sudah dibuat Anda akan dialihkkan ke pranala seperti ini, https://paws.wmflabs.org/paws/user/<username>/tree

Memulai terminal

Untuk memulai terminal interaktif yang baru:

  1. Pergi ke [$paws laman utama PAWS]
  2. Klik 'New' pada pojok kanan, dan
  3. Pilih 'Terminal'.

Kemudian jendela baru akan terbuka dengan pranala https://paws.wmflabs.org/paws/user/<username>/terminals/1, dan prompt Linux '$'

Anda bisa memberikan markah buku pada pranala ini dan kembali ke terminal sepanjang saat, bahkan jika Anda telah menutup peramban atau mematikan komputer.

Terminal ini bukanlah emulator. Terminal ini layaknya sebuah bash shell yang merupakan bagian dari dudukan instalasi Linux pada docker container. Jadi, Anda bisa menggunakan perintah bash apapun dan perintah manapun yang tersedia pada sistem operasi Linux yang telah diinstal.

Untuk melihat beberapa perintah yang tersedia, gunakan ls /bin/.

$ ls /bin/
bash          cat            domainname  journalctl  mkdir          pwd         stty                            tar           zcmp
unzip2       chacl          echo        kill        mknod          rbash       su                              tempfile      zdiff
../..
$ ls /usr/bin/
2to3-3.4                 dvipdf                     lcf                         printf               systemd-path                         
X11                      dwp                        ld                          prlimit              systemd-run
../..

Login to the wiki

This will establish your account on the server and allow you to log in from the command line.

Perintah berikutnya untuk memastikan bahwa Anda dapat masuk ke https://test.wikipedia.org/ . Perintah ini menggunakan otorisasi otomatis sehingga Anda tidak perlu memasukkan kata sandi lagi.

$ pwb.py login
Logging in to wikipedia:test as <username>
Logged in on wikipedia:test as <username>.

You can connect pywikibot to a different wiki by creating a file named user-config.py in your $HOME directory (/home/paws) and adding mylang and family variables:

mylang = 'test'
family = 'wikipedia'

Membuat laman

Untuk membuat sebuah laman, masukkan perintah berikut ke terminal, ganti '<username>' dengan nama pengguna Anda, lalu tekan 'Y' saat diminta untuk menyetujui perubahan yang Anda lakukan:

$ pwb.py add_text -up -talk -page:"User talk:<username>" -text:"Hello. ~~~~"
Loading User talk:<username>...

>>> User talk:<username> <<<
@@ -0,0 +1 @@
+ Hello. ~~~~

Do you want to accept these changes? ([Y]es, [N]o, [a]ll, open in [b]rowser): Y
Page [[User talk:<username>]] saved

Anda sudah berhasil menyunting Wiki. Lihat perubahan yang Anda lakukan dengan membuka https://test.wikipedia.org/wiki/User_talk:<username> pada peramban web Anda.

Anda bisa membaca lebih lanjut tentang jenis-jenis skrip baris perintah dengan mengetik '-help' pada opsi baris perintah.

$ pwb.py add_text -help
...

Penarikan sebuah laman

Penarikan banyak laman dapat dilakukan dengan perintah "listpages".

Untuk bisa mendapatkan konten laman yang sudah Anda buat pada tahap sebelumnya, silakan masukkan perintah berikut:

$ pwb.py listpages -page:"User talk:<username>" -save
   1 <username>
Saving User talk:<username> to /home/paws/User_talk_<username>
1 page(s) found

Jika Anda sekarang pergi ke [$pawshome PAWS daftar berkas] Anda, laman yang sudah tersimpan seharusnya ada.

Contoh skrip asli

Saat Lokator Sumber Seragam (URL) dari sebuah alamat web yang ada di Wikipedia berubah, makan pranala akan usang dan menjadi pranala mati jika situs web tidak mengalihkan ke URL baru, misalnya Encyclopedia Britannica (EB) mengubah pranala mereka dari http://www.britannica.com/EBchecked/media/ menjadi http://www.britannica.com/topic/[topic name]/images-videos/*. Anda bisa melihat daftar penggunaan URL lama pada Wikipedia Bahasa Inggris melalui pranala https://en.wikipedia.org/wiki/Special:LinkSearch/http://www.britannica.com/EBchecked/media . Pengubahan semua pranala secara manual tentu saja akan menyita banyak waktu. Untung saja, EB sudah membuat pengalihan dari URL lama ke URL baru, sehingga tidak perlu diperbaiki sesegera mungkin.

For example, Encyclopedia Britannica (EB) has changed their links, such as moving pages from http://www.britannica.com/EBchecked/media/ to http://www.britannica.com/topic/[topic name]/images-videos/*. You can find the list of usages of the old URL on English Wikipedia at w:Special:LinkSearch/http://www.britannica.com/EBchecked/media. Updating all those links manually will be very time consuming. Thankfully EB has maintained redirects from their old URLs to the new URLs, so this does not need to be fixed immediately.

Contoh sederhana yaitu Wikipedia Bahasa Inggris saat ini mempunyai pranala berjudul http://britannica.com/EBchecked/ bukannya http://www.britannica.com/EBchecked/. Subdomain 'www.' tidak ada pada URL-nya.

Saat ini ada 14 masalah pada Wikipedia Bahasa Inggris: https://en.wikipedia.org/wiki/Special:LinkSearch/http://britannica.com/EBchecked/

Wikipedia bahasa lainnya juga memiliki masalah yang sama, misalnya saja pada Wikipedia Bahasa Jerman yang memiliki satu masalah: https://de.wikipedia.org/wiki/Spezial:Weblinksuche/http://britannica.com/EBchecked/

Untuk memperbaiki prana ini, kita bisa mempergunakan skrip Pywikibot yaitu replace.py. Pada percobaan ini, kami akan mempergunakan argumen '-simulate' untuk menghindari penulisan langsung ke dalam wiki. Hal ini dikarenakan adanya peraturan tegas terkait penyuntingan otomatis di Wikipedia Bahasa Inggris.

Pertama-tama, mari kita susun daftar semua laman yang terhubung ke http://britannica.com/EBchecked/.

$ pwb.py listpages -lang:en -weblink:"britannica.com/EBchecked/"
   1 Bhatner fort
   2 Mohammad Ishaq Khan
   3 Fringe theories/Noticeboard/Archive 7
   4 El Riego phase
   5 Catalonia/Archive 4
   6 Stephen I of Hungary
   7 Stephen I of Hungary/Archive 1
   8 Väinö Tanner
   9 Tokaji
  10 Transylvania/Archive5
  11 Hungarians in Romania
  12 Transylvania
  13 Uttarakhand
  14 Françoise Giroud
14 page(s) found

Sekarang kita periksa laman mana saja yang mengandung URL harfiah dalam lamannya, misalnya tidak ditempatkan dalam sebuah templat.

$ pwb.py listpages -lang:en -weblink:"britannica.com/EBchecked/" -grep:"britannica.com\/EBchecked"
   1 Bhatner fort
   2 Mohammad Ishaq Khan
   3 Fringe theories/Noticeboard/Archive 7
   4 El Riego phase
   5 Catalonia/Archive 4
   6 Stephen I of Hungary
   7 Stephen I of Hungary/Archive 1
   8 Väinö Tanner
   9 Tokaji
  10 Transylvania/Archive5
  11 Hungarians in Romania
  12 Transylvania
  13 Uttarakhand
  14 Françoise Giroud
14 page(s) found

Sekarang gunakan 'replace' untuk menambahkan "www."

$ pwb.py replace -lang:en -simulate -weblink:"britannica.com/EBchecked/" -grep:"britannica.com\/EBchecked" "http://britannica.com/EBchecked/" "http://www.britannica.com/EBchecked/"
The summary message for the command line replacements will be something like: Bot: Automated text replacement  (-http://britannica.com/EBchecked/ +http://www.britannica.com/EBchecked/)
Press Enter to use this automatic message, or enter a description of the
changes your bot will make: 
Logging in to wikipedia:en as <username>
Retrieving 14 pages from wikipedia:en.
Retrieving 14 pages from wikipedia:en.


>>> Stephen I of Hungary <<<
@@ -47 +47 @@
- Stephen's birth date is uncertain because it was not recorded in contemporaneous documents.{{sfn|Györffy|1994|p=64}} Hungarian and Polish chronicles written centuries later give three different years: 967, 969 and 975.{{sfn|Kristó|2001|p=15}} The unanimous testimony of his three late 11th-century or early 12th-century [[hagiographies]] and other Hungarian sources, which state that Stephen was "still an adolescent" in 997,<ref>''Hartvic, Life of King Stephen of Hungary'' (ch. 5), p. 381.</ref> substantiate the reliability of the later year (975).{{sfn|Györffy|1994|p=64}}{{sfn|Kristó|2001|p=15}} Stephen's ''[[Life of Saint Stephen, King of Hungary (Vita minor)|Lesser Legend]]'' adds that he was born in [[Esztergom]],{{sfn|Györffy|1994|p=64}}{{sfn|Kristó|2001|p=15}}<ref name=Britannica>{{cite encyclopedia|title=Stephen I|url=http://britannica.com/EBchecked/topic/565415/Stephen-I|encyclopedia=[[Encyclopædia Britannica]]|publisher=Encyclopædia Britannica, Inc.|year=2008|accessdate=2008-07-29}}</ref> which implies that he was born after 972 because his father, [[Géza, Grand Prince of the Hungarians]], chose Esztergom as royal residence around that year.{{sfn|Györffy|1994|p=64}} Géza promoted the spread of Christianity among his subjects by force, but never ceased worshipping pagan gods.{{sfn|Kontler|1999|p=51}}{{sfn|Berend|Laszlovszky|Szakács|2007|p=331}} Both his son's ''[[Life of Saint Stephen, King of Hungary (Vita maior)|Greater Legend]]'' and the nearly contemporaneous [[Thietmar of Merseburg]] described Géza as a cruel monarch, suggesting that he was a despot who mercilessly consolidated his authority over the rebellious Hungarian lords.{{sfn|Berend|Laszlovszky|Szakács|2007|p=331}}{{sfn|Bakay|1999|p=547}}
+ Stephen's birth date is uncertain because it was not recorded in contemporaneous documents.{{sfn|Györffy|1994|p=64}} Hungarian and Polish chronicles written centuries later give three different years: 967, 969 and 975.{{sfn|Kristó|2001|p=15}} The unanimous testimony of his three late 11th-century or early 12th-century [[hagiographies]] and other Hungarian sources, which state that Stephen was "still an adolescent" in 997,<ref>''Hartvic, Life of King Stephen of Hungary'' (ch. 5), p. 381.</ref> substantiate the reliability of the later year (975).{{sfn|Györffy|1994|p=64}}{{sfn|Kristó|2001|p=15}} Stephen's ''[[Life of Saint Stephen, King of Hungary (Vita minor)|Lesser Legend]]'' adds that he was born in [[Esztergom]],{{sfn|Györffy|1994|p=64}}{{sfn|Kristó|2001|p=15}}<ref name=Britannica>{{cite encyclopedia|title=Stephen I|url=http://www.britannica.com/EBchecked/topic/565415/Stephen-I|encyclopedia=[[Encyclopædia Britannica]]|publisher=Encyclopædia Britannica, Inc.|year=2008|accessdate=2008-07-29}}</ref> which implies that he was born after 972 because his father, [[Géza, Grand Prince of the Hungarians]], chose Esztergom as royal residence around that year.{{sfn|Györffy|1994|p=64}} Géza promoted the spread of Christianity among his subjects by force, but never ceased worshipping pagan gods.{{sfn|Kontler|1999|p=51}}{{sfn|Berend|Laszlovszky|Szakács|2007|p=331}} Both his son's ''[[Life of Saint Stephen, King of Hungary (Vita maior)|Greater Legend]]'' and the nearly contemporaneous [[Thietmar of Merseburg]] described Géza as a cruel monarch, suggesting that he was a despot who mercilessly consolidated his authority over the rebellious Hungarian lords.{{sfn|Berend|Laszlovszky|Szakács|2007|p=331}}{{sfn|Bakay|1999|p=547}}

Do you want to accept these changes? ([y]es, [N]o, [e]dit, open in [b]rowser, [a]ll, [q]uit): N

...

Dalam PAWS dan terminal lain yang mendukung tampilan warna, perbedaan revisi akan menampilkan warna hijau pada teks "www." sehingga kita bisa dengan mudah menemukan perubahan yang akan dilakukan.

Program Pywikibot lebih lanjut

  Peringatan Don't write passwords in files of server, the files are public!

Selanjutnya, kita akan mempejalari cara penggunaan sesi Python untuk PAWS.

  1. Pergi ke [$paws PAWS laman PAWS] Anda.
  2. Klik 'New" pada sisi kanan, dan
  3. Pilih 'Python 3'.

Sebuah jendela baru akan terbuka.

Pada kota teks, masukkan teks berikut dan di menu 'Cell' pilih 'Run' (atau tekan tombol shift+enter untuk menjalakannya).

import pywikibot

Kotak teks baru akan muncul seperti di bawah. Kemudian, jalankan teks berikut untuk membuat sebuah objek APISite yang terhubung pada https://test.wikipedia.org/:

site = pywikibot.Site('test', 'wikipedia')

Jelaskan "site" dengan memasukkan teks tersebut ke dalam kotak teks kemudian pilih "Run".

site

Maka akan muncul

 Out[3]: APISite("test", "wikipedia")

Buat sebuah objek laman:

page = pywikibot.Page(site, 'test')

Periksa keberadaannya dengan menjalankan:

page.exists()

Maka akan menghasilkan keluaran

 VERBOSE:pywiki:Found 1 wikipedia:test processes running, including this one.
 Out[5]: True

Tunjukkan teks pada laman:

page.text

Ubah teks laman pada objek:

page.text = 'Hello world'

Simpan laman ke dalam wiki:

page.save()

Respon seharusnya seperti berikut:

Page [[Test]] saved
INFO:pywiki:Page [[Test]] saved

'laptop' interaktif Python 3 memungkinkan banyak baris bisa dijalankan secara bersama-sama. Sesi di atas bisa dimasukkan ke dalam satu kotak teks dan dijalankan secara bersamaan.

import pywikibot

site = pywikibot.Site('test', 'wikipedia')
page = pywikibot.Page(site, 'test')

page.text = 'Hello world!'
page.save()

Log sesi interaktif Python Anda bisa disimpan atau diunduh sebagai acuan di masa mendatang.

Pengaksesan dokumentasi daring pada PAWS

Dokumentasi tentang Pywikibot bisa ditemukan pada https://doc.wikimedia.org/pywikibot/index.html . Laman tersebut merupakan sumber utama dari docstring yang bisa dimuat di dalam 'laptop' interaktif Python 3 memperguna fungsi tertaman Python help().

Contohnya, untuk pencarian argumen metode 'save' seperti di atas, kita bisa menjalankan skrip berikut:

help(page.save)

or

help(pywikibot.Page.save)

Penyuntingan skrip Pywikibot

Pustaka perangkat lunak dan skrip Pywikibot berada pada /srv/paws dan hanya bisa dibaca saja. Pustaka Pywikibot yang sudah terisntal tidak dapat diubah di PAWS.

Skrip bisa diubah dengan menyalinnya ke dalam laman PAWS Anda.

Contohnya, untuk menjalankan "checkimages.py" termodifikasi:

  1. Dalam terminal, ketik cp /srv/paws/pwb/scripts/checkimages.py ~
  2. In a browser, go to your PAWS home and click on the file checkimages.py.
  3. In the browser, you can edit the file. Edit the code -- for instance, just after the start = time.time() code on line 1775, add a new line 1776 that will print out your name: print("MYNAME's version.")
  4. In the editing interface, use the File menu and click Save to save your modifications.
  5. In the terminal, enter pwb.py ~/checkimages.py -simulate

See also


If you need more help on setting up your Pywikibot visit the #pywikibot IRC channel connect or pywikibot@ mailing list.