ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/ValBot/Docs/Read-me.rtf
Revision: 1179
Committed: Fri Apr 28 00:53:24 2023 UTC (2 years, 5 months ago) by iritscen
Content type: application/rtf
File size: 9225 byte(s)
Log Message:
ValBot: check_intrawiki_section_links.py: Simplified output to just advice and errors.  Added support for SectionLink template.  Added support for links built on chapter name transclusion.  Placed verbose output under a "-dbg" argument.

File Contents

# Content
1 {\rtf1\mac\ansicpg10000\cocoartf\nisusversion50300 {\*\nisusorigapp Cocoa}{\*\nisusorigdate\yr2023\mo4\dy27\hr12\min11 }{\*\nisussysvers 13.3.1}\deff0
2 {\*\fonttbl
3 {\f0\fswiss\fcharset77 Helvetica;}
4 {\f1\fswiss\fcharset77 Helvetica-Bold{\*\falt Helvetica};}
5 {\f2\fswiss\fcharset77 Helvetica-Oblique{\*\falt Helvetica};}}
6 {\colortbl ;\red0\green0\blue254 ;}
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 {\*\cs106\ul\cf1 Hyperlink;}}
15 \defformat {\*\generator Nisus Writer Express 4.3 [0503.0004.01]}{\info {\*\nisusgmtoffset -4:00}{\author Admin}{\creatim\yr2021\mo3\dy7\hr16\min44 }{\revtim\yr2023\mo4\dy27\hr19\min9 }}
16 {\*\userprops }\nisusrulerunits0\nisusstatusbar1\nisusareaid1\viewkind4\viewscale100\nisusviewruler1\nisusviewrulerh1\nisusviewrulerv0\nisusviewtoolbar1\nisusviewtooldrawer0\nisusviewtoolswidth0\nisusviewpagenumtype1\nisusviewrulericons0\donotshowcomments1
17 {\*\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}}}
18 {\*\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}}}
19 \nisusareasplitv0
20 {\*\nisuswindow\x128\y96\w613\actualw613\h631 }
21 \nshwinv0\nshwpg1\nisusinlinespell0\nisushyphnone\spltpgpar\nisusselectstart462\nisusselectlength0\fet2\ftnbj\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\pgnstart1\nocolbal \f0
22 \sectd\endnhere\cols1\ltrsect\colbalsxn0\pgwsxn12240\pghsxn15840\marglsxn1440\margrsxn1440\margtsxn1440\margbsxn1440\guttersxn0\headery720\footery360\pgncont\pgndec\sxnstarts1\sxnrestart\sxndec
23 {\header\plain\pard\s104\ltrpar\pardirnatural\ql\widctlpar\f0\fs28 }
24 {\footer\plain\pard\s105\ltrpar\pardirnatural\ql\widctlpar\f0\fs28 }
25 \deftab720 {\*\nisusscroll\nisusarea1\xoffset0\yoffset2 }{\pard\ltrpar\pardirnatural\qc {\f1\fs28\b How to Use these Scripts\par
26 by iritscen@yahoo.com}{\fs28 \par }}
27 {\pard\ltrpar\pardirnatural\ql {\fs28 \par
28 In the course of maintaining the OniGalore wiki, I have written some Python and Bash shell scripts for Pywikibot. My Bash shell scripts call Python scripts which are bundled with Pywikibot. My Python scripts utilize the Pywikibot API to perform new tasks not covered by the bundled scripts. To run the scripts, first }}
29 {\field {\*\fldinst HYPERLINK "https://www.mediawiki.org/wiki/Manual:Pywikibot/Installation"}{\fldrslt {\pard\ltrpar\pardirnatural\ql {\cs106\fs28\ul\cf1 install Pywikibot}}}}{\pard\ltrpar\pardirnatural\ql {\fs28 , then read below for an introduction to each file in the ValBot/ directory.\par
30 {\nisusselectcaret \par }
31 {\ul Bash/}\par
32 {\f1\b drive_https_upgrade.sh}\par
33 This script was designed to take a TXT report from a Validate External Links session run {\ul without} the --show-https-upgrades argument and use it to mass-change all the URLs for sites that wanted an upgrade from HTTP to HTTPS. In such a TXT report, links which wanted an HTTPS upgrade would have the phrase "Skipping URL {\f2\i x} because I have not been asked to show http->https upgrades" in it, so the script uses regex to search for "http->https". It edits all such links from the one numbered FIX_START to the one numbered FIX_END. This script served its purpose and probably won't be needed again, but it has value as a tutorial.\par
34 \par
35 {\f1\b drive_slash_adding.sh}\par
36 This script was designed to take a TXT report from a Validate External Links session run {\ul without} the --show-added-slashes argument and use it to mass-change all the URLs that wanted a trailing slash added to them. In such a TXT report, URLs where the server asked for a trailing '/' to be added to the URL would have the phrase "Skipping URL {\f2\i x} because I have not been asked to show added trailing slashes", so the script searches for the word "trailing". This script served its purpose and probably won't be needed again, but it has value as a tutorial.\par
37 \par
38 {\ul Docs/\par }
39 {\f1\b Generator and replace options.txt}{\ul \par }
40 This is the help text generated by "python pwb.py replace -help". It shows the many options you have for using the built-in replace.py script and for asking any built-in Pywikibot script to limit its scope to certain pages.{\ul \par }
41 \par
42 {\f1\b Pywikibot commands.rtf}\par
43 General advice on how to use Pywikibot properly.\par
44 \par
45 {\f1\b Read-me.rtf}\par
46 You are here.\par
47 \par
48 {\ul Python/}\par
49 In Terminal, 'cd' into the core/ directory and run the command "python pwb.py /path/to/script [arguments for script]". If you were running a built-in Pywikibot script, you could simply invoke it with "python pwb.py [name of script without suffix] [arguments]", but since these scripts that you downloaded are outside the core/ directory they need full pathname qualification.\par
50 \par
51 {\f1\b check_interwiki_links.py}\par
52 This script scans the wiki markup of a given page, or all the pages in a given category, for interwiki links such as [[wp:Example]] and [[wikt:definition|some word]]. It then tests those links to make sure they're valid and prints an "ERROR:" message if (1) the page is not found, (2) a redirect is encountered, or (3) the page exists but the interwiki link also specified a section on that page, e.g. [[wp:Article#References]], and the section cannot be found.\par
53 \par
54 Usage:\par
55 python pwb.py path/to/check_interwiki_links.py -page:"Daodan"\par
56 python pwb.py path/to/check_interwiki_links.py -cat:"Wiki Support" \par
57 Adding the argument "-dbg" will print the name of each page as it is being scanned instead of only the pages with bad links.\par
58 \par
59 {\f1\b check_intrawiki_section_links.py}\par
60 This script scans the wiki markup of a given page, or all the pages in a given category, for intrawiki links with section links in them such as [[Konoko#In-game appearance]]. It then looks for those sections on the relevant pages and prints an "ERROR:" message if a problem is encountered. "ADVICE:" messages are printed when a link cannot be tested because transclusion is being used to construct it dynamically or because it is a redirect page.\par
61 \par
62 Usage: The syntax is the same as for check_interwiki_links.py. Adding the argument "-dbg" will print the name of each page as it is being scanned as well as verbose logic explaining how each link is being processed.\par
63 \par
64 {\f1\b find_external_images.py}\par
65 This script scrapes the HTML markup of a given page, or all the pages in a given category, and alerts you to externally-linked images so you can consider uploading them to the wiki. A division is made between images hosted on oni2.net and hosted outside the domain. The script can be asked to show embedded (inline) images and/or images which are externally linked (presented as clickable links).\par
66 \par
67 Usage:\par
68 python pwb.py path/to/find_external_images.py -linked -page:"Press coverage"\par
69 python pwb.py path/to/find_external_images.py -embedded -page:"State of Emergency"\par
70 python pwb.py path/to/find_external_images.py -linked -embedded -cat:"Category:Real World"\par
71 Adding the argument "-dbg" will print the name of each page as it is being scanned instead of only the pages with bad links.\par
72 \par
73 {\f1\b uncapitalize_image_suffixes.py}\par
74 This script checks all the images on the wiki for capitalized file suffixes (.JPG instead of .jpg, etc.) and renames (i.e., moves) them to non-capitalized versions. Note that any pages linking to the images will need to be corrected manually afterward, but the script will tell you which pages link to each image that it renames.\par
75 \par
76 Usage: Simply invoke the script with no arguments.\par }}}