1 |
< |
{\rtf1\ansi\ansicpg1252\cocoartf2638 |
2 |
< |
\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica-Bold;\f1\fswiss\fcharset0 Helvetica;\f2\fnil\fcharset0 Menlo-Regular; |
3 |
< |
} |
4 |
< |
{\colortbl;\red255\green255\blue255;} |
5 |
< |
{\*\expandedcolortbl;;} |
6 |
< |
\margl1440\margr1440\vieww13260\viewh11840\viewkind0 |
7 |
< |
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\qc\partightenfactor0 |
8 |
< |
|
9 |
< |
\f0\b\fs28 \cf0 Advice and Commands for Pywikibot |
10 |
< |
\f1\b0 \ |
11 |
< |
based on https://www.mediawiki.org/wiki/Manual:Pywikibot/Scripts\ |
12 |
< |
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 |
13 |
< |
\cf0 \ |
14 |
< |
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 |
15 |
< |
\cf0 \ul \ulc0 Throttling a script\ulnone \ |
16 |
< |
For safety's sake and to not overload the wiki, you should limit the rate of your API calls. Bot scripts will automatically throttle themselves according to the value of "put_throttle" in user-config.py, but if you are performing an operation by calling a bot script multiple times then you must implement your own external throttle. For working examples, see my Bash scripts.\ |
17 |
< |
\ |
18 |
< |
\ul Running a script\ulnone \ |
19 |
< |
See "Read-me.rtf".\ |
20 |
< |
\ |
21 |
< |
\ul Category renaming\ulnone \ |
22 |
< |
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 |
23 |
< |
|
24 |
< |
\f2\fs24 \cf0 python pwb.py category move -from:"Art by Okita" -to:"Art by Alex Okita" |
25 |
< |
\f1\fs28 \ |
26 |
< |
\ |
27 |
< |
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 |
28 |
< |
\cf0 \ul General text replacement\ulnone \ |
29 |
< |
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 |
30 |
< |
|
31 |
< |
\f2\fs24 \cf0 python pwb.py replace -page:pagetitle "old text" "new text" -summary:"something" |
32 |
< |
\f1\fs28 \ |
33 |
< |
Use "-simulate" to perform a dry-run.\ |
34 |
< |
Add "-always" to save edit without prompting. \ul Not\ulnone using this will allow a -simulate run to show you what changes will actually be made. For working examples of how to use "replace", see my Bash scripts.\ |
35 |
< |
\ |
36 |
< |
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 |
37 |
< |
\cf0 \ul Page scope arguments\ulnone \ |
38 |
< |
There are a ton of ways to select pages on which to run a Pywikibot script on besides specifying a single page with "-page". Not only are there -cat and -catr (all pages recursively under that cat), but also -ns, -grep, -subpage, -titleregex, -wantedpages, -transcludes, -start (proceeds from that point alphabetically), -imagesused (on a given page), -links (to other pages from a given page), -filelinks (image links on given page), and much more. See "Generator and replace options.txt" for details.} |
1 |
> |
{\rtf1\mac\ansicpg10000\cocoartf\nisusversion50300 {\*\nisusorigapp Cocoa}{\*\nisusorigdate\yr2023\mo12\dy3\hr14\min15 }{\*\nisussysvers 14.1.2}\deff0 |
2 |
> |
{\*\fonttbl |
3 |
> |
{\f0\fswiss\fcharset77 Helvetica;} |
4 |
> |
{\f1\fswiss\fcharset77 Helvetica-Bold{\*\falt Helvetica};} |
5 |
> |
{\f2\fmodern\fcharset77 Menlo-Regular{\*\falt Menlo};}} |
6 |
> |
{\colortbl ;} |
7 |
> |
{\*\nisustoctable |
8 |
> |
{\nisustoc\tcf68 {\nisustocname Default TOC}{\*\nisustoctabrep }{\*\nisustocretrep }{\nisustoclevelstyle TOC 1}{\nisustoclevelstyle TOC 2}{\nisustoclevelstyle TOC 3}{\nisustoclevelstyle TOC 4}{\nisustoclevelstyle TOC 5}{\nisustoclevelstyle TOC 6}{\nisustoclevelstyle TOC 7}{\nisustoclevelstyle TOC 8}{\nisustoclevelstyle TOC 9}}\nisusactivetoc68 } |
9 |
> |
{\*\nisusxetable |
10 |
> |
{\nisusxe\xef68 {\nisusxename Default Index}{\nisusxeheaderstyle Index Heading}{\nisusxelevelstyle Index 1}{\nisusxelevelstyle Index 2}{\nisusxelevelstyle Index 3}{\nisusxelevelstyle Index 4}{\nisusxelevelstyle Index 5}{\nisusxelevelstyle Index 6}{\nisusxelevelstyle Index 7}{\nisusxelevelstyle Index 8}{\nisusxelevelstyle Index 9}{\*\fldinst INDEX \\k ". " \\g \endash \\e "\tab " \\l ", " \\f D}}\nisusactivexe68 } |
11 |
> |
{\stylesheet |
12 |
> |
{\s104\snext104 \ltrpar\pardirnatural\ql\widctlpar\sb0\sa0\sl240\slmult1\hyphpar1\li0\lin0\fi0\ri0\rin0 Header;} |
13 |
> |
{\s105\snext105 \ltrpar\pardirnatural\ql\widctlpar\sb0\sa0\sl240\slmult1\hyphpar1\li0\lin0\fi0\ri0\rin0 Footer;}} |
14 |
> |
\defformat {\*\generator Nisus Writer Express 4.3 [0503.0004.01]}{\info {\*\nisusgmtoffset -5:00}{\author Admin}{\creatim\yr2021\mo2\dy5\hr17\min6 }{\revtim\yr2023\mo12\dy3\hr14\min16 }} |
15 |
> |
{\*\userprops }\nisusrulerunits0\nisusstatusbar1\nisusareaid1\viewkind4\viewscale100\nisusviewruler1\nisusviewrulerh1\nisusviewrulerv0\nisusviewtoolbar1\nisusviewtooldrawer0\nisusviewtoolswidth0\nisusviewpagenumtype1\nisusviewrulericons0\donotshowcomments1 |
16 |
> |
{\*\nisusviewsettings\viewkind4\viewscale100 {\nisusnavsettings {\*\visible 0}{\*\width 160}{\*\isOnRightSide 0}{\*\mode toc}{\*\sort location}}{\nisuscommentsettings {\*\visible 0}{\*\showPane 1}{\*\isOnRightSide 0}{\*\width 180}{\*\titlebarInfo 2}{\*\showTextHighlighting 1}{\*\showGutterIcons 1}}{\nisusrevisionsettings {\*\visible 0}{\*\showPane 1}{\*\isOnRightSide 1}{\*\width 180}{\*\titlebarInfo 4}{\*\showTextHighlighting 1}{\*\showGutterIcons 1}}} |
17 |
> |
{\*\nisusviewsettings\viewkind1\viewscale100 {\nisusnavsettings {\*\visible 0}{\*\width 160}{\*\isOnRightSide 0}{\*\mode toc}{\*\sort location}}{\nisuscommentsettings {\*\visible 0}{\*\showPane 1}{\*\isOnRightSide 0}{\*\width 180}{\*\titlebarInfo 2}{\*\showTextHighlighting 1}{\*\showGutterIcons 1}}{\nisusrevisionsettings {\*\visible 0}{\*\showPane 1}{\*\isOnRightSide 1}{\*\width 180}{\*\titlebarInfo 4}{\*\showTextHighlighting 1}{\*\showGutterIcons 1}}} |
18 |
> |
\nisusareasplitv0 |
19 |
> |
{\*\nisuswindow\x128\y132\w613\actualw613\h631 } |
20 |
> |
\nshwinv0\nshwpg1\nisusinlinespell0\nisushyphnone\spltpgpar\nisusselectstart1204\nisusselectlength0\fet2\ftnbj\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\pgnstart1\nocolbal \f0 |
21 |
> |
\sectd\endnhere\cols1\ltrsect\colbalsxn0\pgwsxn12240\pghsxn15840\marglsxn1440\margrsxn1440\margtsxn1440\margbsxn1440\guttersxn0\headery720\footery360\pgncont\pgndec\sxnstarts1\sxnrestart\sxndec |
22 |
> |
{\header\plain\pard\s104\ltrpar\pardirnatural\ql\widctlpar\f0\fs28 } |
23 |
> |
{\footer\plain\pard\s105\ltrpar\pardirnatural\ql\widctlpar\f0\fs28 } |
24 |
> |
\deftab720 {\*\nisusscroll\nisusarea1\xoffset0\yoffset2 }{\pard\ltrpar\pardirnatural\qc {\f1\fs28\b Advice and Commands for Pywikibot}{\fs28 \par |
25 |
> |
based on https://www.mediawiki.org/wiki/Manual:Pywikibot/Scripts\par }} |
26 |
> |
{\pard\ltrpar\pardirnatural\ql {\fs28 \par |
27 |
> |
{\ul Logging in\par } |
28 |
> |
If the bot isn't logged into the wiki with a designated bot user account, run:\par |
29 |
> |
\f2\fs24 python pwb.py login{\f0\fs28\ul \par |
30 |
> |
\par |
31 |
> |
Throttling a script}\f0\fs28 \par |
32 |
> |
For safety's sake and to not overload the wiki, you should limit the rate of your API calls. Bot scripts will automatically throttle themselves according to the value of "put_throttle" in user-config.py, but if you are performing an operation by calling a bot script multiple times then you must implement your own external throttle. For working examples, see my Bash scripts.\par |
33 |
> |
\par |
34 |
> |
{\ul Running a script}\par |
35 |
> |
See "Read-me.rtf".\par |
36 |
> |
\par |
37 |
> |
{\ul Category renaming}\par |
38 |
> |
{\f2\fs24 python pwb.py category move -from:"Art by Okita" -to:"Art by Alex Okita"}\par |
39 |
> |
\par |
40 |
> |
{\ul General text replacement}\par |
41 |
> |
{\f2\fs24 python pwb.py replace -page:pagetitle "old text" "new text" -summary:"something"}\par |
42 |
> |
Use "-simulate" to perform a dry-run.\par |
43 |
> |
Add "-always" to save edit without prompting. {\ul Not} using this will allow a -simulate run to show you what changes will actually be made. For working examples of how to use "replace", see my Bash scripts.\par |
44 |
> |
\par |
45 |
> |
{\ul Batch uploading}\par |
46 |
> |
\f2\fs24 python pwb.py upload -keep -noverify -abortonwarn /folder/with/imgs/ "[[Category:Some image cat]]"{\f0\fs28\nisusselectcaret \par } |
47 |
> |
\f0\fs28 \par |
48 |
> |
{\ul Page scope arguments}\par |
49 |
> |
There are a ton of ways to select pages on which to run a Pywikibot script on besides specifying a single page with "-page". Not only are there -cat and -catr (all pages recursively under that cat), but also -ns, -grep, -subpage, -titleregex, -wantedpages, -transcludes, -start (proceeds from that point alphabetically), -imagesused (on a given page), -links (to other pages from a given page), -filelinks (image links on given page), and much more. See "Generator and replace options.txt" for details.\par }} |
50 |
> |
} |