User:GreenC/software/templatesearch

Method for searching for templates that use archiveurl/archivedate arguments. For the purpose of adding to IABot so it recognizes the template.


 * Install wikiget.awk from GitHub


 * Get list of templates IABot already recognizes. Ask Cyberpowet678 or look in sourcecode on GitHub. It will look like:

"",           "",            "",            "",            ...

Save as filename "templates-list"


 * Remove extraneous characters so it's bare names. Sort and uniq and save as templates-iabot

awk '{gsub(/^[ ]*\"|(&quot[;])|([{][{])|([}][}]|[,]$)/,"",$0)}1' templates-list | sort | uniq > templates-iabot


 * Find templates with native support for archiveurl (adjust for language); remove extraneous characters

./wikiget -l en -a "insource:/archive[-]?url[ ]*[=][ ]*[{][{][{]/" -n10 | awk '{sub(/^Template[:]/,"",$0)}1' | sort | uniq > templates-native


 * Compare with templates-iabot and list only those uniq to templates-native

grep -vxF -f templates-iabot templates-native | grep -viE "/sandbox" > templates-addnative


 * Find templates with possible support of archiveurl; remove extraneous characters

./wikiget -l en -a "insource:/archive[-]?url[ ]*[=]/" -n10 | awk '{sub(/^Template[:]/,"",$0)}1' | sort | uniq > templates-doc-list


 * Limit to templates with a /doc page to avoid false positives

grep '/doc' templates-doc-list | awk '{sub(/\/[Dd][Oo][Cc][^$]*$/,"",$0)}1' | sort | uniq > templates-doc


 * Compare with templates-iabot and list only those uniq to templates-doc

grep -vxF -f templates-iabot templates-doc > templates-adddoc

Compare with templates-addnative and list only those uniq to templates-doc

grep -vxF -f templates-addnative templates-adddoc > o; sort o | uniq > templates-adddoc; rm o


 * Manually check each template in templates-adddoc to make sure it has support for archives. If not, remove it from templates-adddoc

awk '{print "*Template:" $0 ""}' templates-adddoc

(copy-paste into a temporary page on Wikipedia; this makes it easier to navigate and check links)


 * Print formated list of all templates in alpha order

cat templates-iabot templates-addnative templates-adddoc | sort | uniq | awk '{print "\"\","}'

Copy-paste and send to Cyberbot678 to add to IABot

To see the list of additions only:

cat templates-addnative templates-adddoc | sort | uniq | awk '{print "\"\","}'

-- User:GreenC, October 2017