User:Monkbot/Task 1: CS1 deprecated date parameters
Appearance
This is a simple, brute-force, AWB script that finds adjacent |day=
or |date=
, and |month=
and |year=
parameters in CS1 citations and concatenates them into a single |date=
parameter. The default category is Category:Pages containing cite templates with deprecated parameters.
The script does not do error checking, it simply captures the content of the various parameters and lumps them together.
Feel free to use and improve this script.
revision | description |
---|---|
– | initial release; |day= or |date= , |month= , and|year= must be adjacent to each other; if present these parameters must have a value
|
a | parameter adjacency no longer required |
b | |day= and |date= may be empty; |month= and |year= must have a value
|
<?xml version="1.0"?>
<AutoWikiBrowserPreferences xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xml:space="preserve" Version="5.5.2.2">
<Project>wikipedia</Project>
<LanguageCode>en</LanguageCode>
<CustomProject />
<Protocol>http://</Protocol>
<LoginDomain />
<List>
<ListSource>Category:Pages containing cite templates with deprecated parameters</ListSource>
<SelectedProvider>CategoryListProvider</SelectedProvider>
<ArticleList />
</List>
<FindAndReplace>
<Enabled>true</Enabled>
<IgnoreSomeText>false</IgnoreSomeText>
<IgnoreMoreText>false</IgnoreMoreText>
<AppendSummary>false</AppendSummary>
<Replacements>
<Replacement>
<Find>({{\s*(?:[Cc]ite (?:(?:AV media(?! notes))|book|conference|encyclopedia|journal|(?:news(?!group))|podcast|press release|sign|speech|techreport|thesis|web)|[Cc]itation)[^}]+)\|\s*da(?:te|y)\s*=\s*(\d{0,2}(?=\s*\|))([^}]*)\|\s*month\s*=\s*([A-Za-z\s]+\b)\.?(?=\s*\|)([^}]*?)\|\s*year\s*=\s*(\d{3,4})(?!\d)([^}]*)</Find>
<Replace>$1|date=$2 $4 $6$3$5$7</Replace>
<Comment>d-x-m-x-y cite xxx</Comment>
<IsRegex>true</IsRegex>
<Enabled>true</Enabled>
<Minor>false</Minor>
<BeforeOrAfter>false</BeforeOrAfter>
<RegularExpressionOptions>IgnoreCase</RegularExpressionOptions>
</Replacement>
<Replacement>
<Find>({{\s*(?:[Cc]ite (?:(?:AV media(?! notes))|book|conference|encyclopedia|journal|(?:news(?!group))|podcast|press release|sign|speech|techreport|thesis|web)|[Cc]itation)[^}]+)\|\s*month\s*=\s*([A-Za-z\s]+\b)\.?(?=\s*\|)([^}]*)\s*\|\s*da(?:te|y)\s*=\s*(\d{0,2}(?=\s*\|))(\s*\|*\s*[^\|}]*)\s*\|\s*year\s*=\s*(\d{3,4})(?!\d)(\|?[^}]*)</Find>
<Replace>$1|date=$4 $2 $6$3$5$7</Replace>
<Comment>m-x-d-x-y cite xxx</Comment>
<IsRegex>true</IsRegex>
<Enabled>true</Enabled>
<Minor>false</Minor>
<BeforeOrAfter>false</BeforeOrAfter>
<RegularExpressionOptions>IgnoreCase</RegularExpressionOptions>
</Replacement>
<Replacement>
<Find>({{\s*(?:[Cc]ite (?:(?:AV media(?! notes))|book|conference|encyclopedia|journal|(?:news(?!group))|podcast|press release|sign|speech|techreport|thesis|web)|[Cc]itation)[^}]+)\|\s*month\s*=\s*([A-Za-z\s]+\b)\.?(?=\s*\|)([^}]*?)\s*\|\s*year\s*=\s*(\d{3,4}[a-z]?)([^}]*?)\s*\|\s*da(?:te|y)\s*=\s*(\d{0,2}(?=\s*[\|\}]))([^}]*)</Find>
<Replace>$1|date=$6 $2 $4$3$5$7</Replace>
<Comment>m-x-y-x-d cite xxx</Comment>
<IsRegex>true</IsRegex>
<Enabled>true</Enabled>
<Minor>false</Minor>
<BeforeOrAfter>false</BeforeOrAfter>
<RegularExpressionOptions>IgnoreCase</RegularExpressionOptions>
</Replacement>
<Replacement>
<Find>({{\s*(?:[Cc]ite (?:(?:AV media(?! notes))|book|conference|encyclopedia|journal|(?:news(?!group))|podcast|press release|sign|speech|techreport|thesis|web)|[Cc]itation)[^}]+)\|\s*year\s*=\s*(\d{3,4}[a-z]?)([^}]*?)\s*\|\s*month\s*=\s*([A-Za-z\s]+\b)\.?(?=\s*\|)([^}]*?)\s*\|\s*da(?:te|y)\s*=\s*(\d{0,2}(?=\s*[\|\}]))([^}]*)</Find>
<Replace>$1|date=$6 $4 $2$3$5$7</Replace>
<Comment>y-x-m-x-d cite xxx</Comment>
<IsRegex>true</IsRegex>
<Enabled>true</Enabled>
<Minor>false</Minor>
<BeforeOrAfter>false</BeforeOrAfter>
<RegularExpressionOptions>IgnoreCase</RegularExpressionOptions>
</Replacement>
<Replacement>
<Find>({{\s*(?:[Cc]ite (?:(?:AV media(?! notes))|book|conference|encyclopedia|journal|(?:news(?!group))|podcast|press release|sign|speech|techreport|thesis|web)|[Cc]itation)[^}]+)\|\s*year\s*=\s*(\d{3,4}[a-z]?)([^}]*?)\s*\|\s*da(?:te|y)\s*=\s*(\d{0,2}(?=\s*\|))([^}]*?)\s*\|\s*month\s*=\s*([A-Za-z\s]+\b)\.?(?=\s*\|)(\s*[^}]*)</Find>
<Replace>$1|date=$4 $6 $2$3$5$7</Replace>
<Comment>y-x-d-x-m cite xxx</Comment>
<IsRegex>true</IsRegex>
<Enabled>true</Enabled>
<Minor>false</Minor>
<BeforeOrAfter>false</BeforeOrAfter>
<RegularExpressionOptions>IgnoreCase</RegularExpressionOptions>
</Replacement>
<Replacement>
<Find>({{\s*(?:[Cc]ite (?:(?:AV media(?! notes))|book|conference|encyclopedia|journal|(?:news(?!group))|podcast|press release|sign|speech|techreport|thesis|web)|[Cc]itation)[^}]+)\|\s*da(?:te|y)\s*=\s*(\d{0,2}(?=\s*\|))([^}]*?)\s*\|\s*year\s*=\s*(\d{3,4}[a-z]?)([^}]*?)\s*\|\s*month\s*=\s*([A-Za-z\s]+\b)\.?(?=\s*\|)(\s*[^}]*)</Find>
<Replace>$1|date=$2 $6 $4$3$5$7</Replace>
<Comment>d-x-y-x-m cite xxx</Comment>
<IsRegex>true</IsRegex>
<Enabled>true</Enabled>
<Minor>false</Minor>
<BeforeOrAfter>false</BeforeOrAfter>
<RegularExpressionOptions>IgnoreCase</RegularExpressionOptions>
</Replacement>
<Replacement>
<Find>({{\s*(?:[Cc]ite (?:(?:AV media(?! notes))|book|conference|encyclopedia|journal|(?:news(?!group))|podcast|press release|sign|speech|techreport|thesis|web)|[Cc]itation)[^}]+)\|\s*month\s*=\s*([A-Za-z\s]+\b)\.?\s*(?:[-/–,]|&ndash;)\s*([A-Za-z\s]+\b)\.?(?=\s*\|)([^}]*?)\s*\|\s*year\s*=\s*(\d{3,4})(?!\d)(\|?[^}]*)</Find>
<Replace>$1|date=$2–$3 $5$4$6</Replace>
<Comment>m-m-x-y cite xxx</Comment>
<IsRegex>true</IsRegex>
<Enabled>true</Enabled>
<Minor>false</Minor>
<BeforeOrAfter>false</BeforeOrAfter>
<RegularExpressionOptions>IgnoreCase</RegularExpressionOptions>
</Replacement>
<Replacement>
<Find>({{\s*(?:[Cc]ite (?:(?:AV media(?! notes))|book|conference|encyclopedia|journal|(?:news(?!group))|podcast|press release|sign|speech|techreport|thesis|web)|[Cc]itation)[^}]+)\|\s*year\s*=\s*(\d{3,4}[a-z]?)([^}]*?)\s*\|\s*month\s*=\s*([A-Za-z\s]+\b)\.?\s*(?:[-/–,]|&ndash;)\s*([A-Za-z\s]+\b)\.?(?=\s*\|)(\|?[^}]*)</Find>
<Replace>$1|date=$4–$5 $2$3$6</Replace>
<Comment>y-x-m-m cite xxx</Comment>
<IsRegex>true</IsRegex>
<Enabled>true</Enabled>
<Minor>false</Minor>
<BeforeOrAfter>false</BeforeOrAfter>
<RegularExpressionOptions>IgnoreCase</RegularExpressionOptions>
</Replacement>
<Replacement>
<Find>({{\s*(?:[Cc]ite (?:(?:AV media(?! notes))|book|conference|encyclopedia|journal|(?:news(?!group))|podcast|press release|sign|speech|techreport|thesis|web)|[Cc]itation)[^}]+)\|\s*month\s*=\s*(\d{1,2})\s+([A-Za-z\s]+\b)\.?(?=\s*\|)([^}]*?)\s*\|\s*year\s*=\s*(\d{3,4})(?!\d)(\|?[^}]*)</Find>
<Replace>$1|date=$2 $3 $5$4$6</Replace>
<Comment>m_x_y cite xxx where |month=dd Mmmm</Comment>
<IsRegex>true</IsRegex>
<Enabled>true</Enabled>
<Minor>false</Minor>
<BeforeOrAfter>false</BeforeOrAfter>
<RegularExpressionOptions>IgnoreCase</RegularExpressionOptions>
</Replacement>
<Replacement>
<Find>({{\s*(?:[Cc]ite (?:(?:AV media(?! notes))|book|conference|encyclopedia|journal|(?:news(?!group))|podcast|press release|sign|speech|techreport|thesis|web)|[Cc]itation)[^}]+)\|\s*year\s*=\s*(\d{3,4}[a-z]?)([^}]*?)\s*\|\s*month\s*=\s*(\d{1,2})\s+([A-Za-z\s]+\b)\.?(?=\s*\|)(\|?[^}]*)</Find>
<Replace>$1|date=$4 $5 $2$3$6</Replace>
<Comment>y_x_m cite xxx where |month=dd Mmmm</Comment>
<IsRegex>true</IsRegex>
<Enabled>true</Enabled>
<Minor>false</Minor>
<BeforeOrAfter>false</BeforeOrAfter>
<RegularExpressionOptions>IgnoreCase</RegularExpressionOptions>
</Replacement>
<Replacement>
<Find>({{\s*(?:[Cc]ite (?:(?:AV media(?! notes))|book|conference|encyclopedia|journal|(?:news(?!group))|podcast|press release|sign|speech|techreport|thesis|web)|[Cc]itation)[^}]+)\|\s*month\s*=\s*([A-Za-z\s]+\b)\.?\s+(\d{1,2}),?(?=\s*\|)([^}]*?)\s*\|\s*year\s*=\s*(\d{3,4})(?!\d)(\|?[^}]*)</Find>
<Replace>$1|date=$2 $3, $5$4$6</Replace>
<Comment>m_x_y cite xxx where |month=Mmmm dd</Comment>
<IsRegex>true</IsRegex>
<Enabled>true</Enabled>
<Minor>false</Minor>
<BeforeOrAfter>false</BeforeOrAfter>
<RegularExpressionOptions>IgnoreCase</RegularExpressionOptions>
</Replacement>
<Replacement>
<Find>({{\s*(?:[Cc]ite (?:(?:AV media(?! notes))|book|conference|encyclopedia|journal|(?:news(?!group))|podcast|press release|sign|speech|techreport|thesis|web)|[Cc]itation)[^}]+)\|\s*year\s*=\s*(\d{3,4}[a-z]?)([^}]*?)\s*\|\s*month\s*=\s*([A-Za-z\s]+\b)[\.,]?\s+(\d{1,2}),?(?=\s*[\|}])(\|?[^}]*)</Find>
<Replace>$1|date=$4 $5, $2$3$6</Replace>
<Comment>y_x_m cite xxx where |month=Mmmm dd</Comment>
<IsRegex>true</IsRegex>
<Enabled>true</Enabled>
<Minor>false</Minor>
<BeforeOrAfter>false</BeforeOrAfter>
<RegularExpressionOptions>IgnoreCase</RegularExpressionOptions>
</Replacement>
<Replacement>
<Find>({{\s*(?:[Cc]ite (?:(?:AV media(?! notes))|book|conference|encyclopedia|journal|(?:news(?!group))|podcast|press release|sign|speech|techreport|thesis|web)|[Cc]itation)[^}]+)(?<!\|\s*da(?:te|y)[^{]+?)\|\s*month\s*=\s*([A-Za-z\s]+\b)\.?(?=\s*\|)([^}]*?)\s*\|\s*year\s*=\s*(\d{3,4}[a-z]?)(?!\s*\|\s*da(?:te|y))(\s*\|[^}]*)</Find>
<Replace>$1|date=$2 $4$3$5</Replace>
<Comment>m_x_y cite xxx</Comment>
<IsRegex>true</IsRegex>
<Enabled>true</Enabled>
<Minor>false</Minor>
<BeforeOrAfter>false</BeforeOrAfter>
<RegularExpressionOptions>IgnoreCase</RegularExpressionOptions>
</Replacement>
<Replacement>
<Find>({{\s*(?:[Cc]ite (?:(?:AV media(?! notes))|book|conference|encyclopedia|journal|(?:news(?!group))|podcast|press release|sign|speech|techreport|thesis|web)|[Cc]itation)[^}]+)(?<!\|\s*da(?:te|y)[^{]+?)\|\s*year\s*=\s*(\d{3,4}[a-z]?)([^}]*)\s*\|\s*month\s*=\s*([A-Za-z\s]+\b)\.?(?!\s*\|\s*da(?:te|y))(\s*\|[^}]*)</Find>
<Replace>$1|date=$4 $2$3$5</Replace>
<Comment>y_x_m cite xxx</Comment>
<IsRegex>true</IsRegex>
<Enabled>true</Enabled>
<Minor>false</Minor>
<BeforeOrAfter>false</BeforeOrAfter>
<RegularExpressionOptions>IgnoreCase</RegularExpressionOptions>
</Replacement>
</Replacements>
<AdvancedReps />
<SubstTemplates />
<IncludeComments>false</IncludeComments>
<ExpandRecursively>true</ExpandRecursively>
<IgnoreUnformatted>false</IgnoreUnformatted>
</FindAndReplace>
<Editprefs>
<GeneralFixes>false</GeneralFixes>
<Tagger>false</Tagger>
<Unicodify>false</Unicodify>
<Recategorisation>0</Recategorisation>
<NewCategory />
<NewCategory2 />
<ReImage>0</ReImage>
<ImageFind />
<Replace />
<SkipIfNoCatChange>false</SkipIfNoCatChange>
<RemoveSortKey>false</RemoveSortKey>
<SkipIfNoImgChange>false</SkipIfNoImgChange>
<AppendText>false</AppendText>
<AppendTextMetaDataSort>false</AppendTextMetaDataSort>
<Append>true</Append>
<Text />
<Newlines>2</Newlines>
<AutoDelay>5</AutoDelay>
<BotMaxEdits>500</BotMaxEdits>
<SupressTag>true</SupressTag>
<RegexTypoFix>false</RegexTypoFix>
</Editprefs>
<General>
<AutoSaveEdit>
<Enabled>false</Enabled>
<SavePeriod>30</SavePeriod>
<SaveFile />
</AutoSaveEdit>
<SelectedSummary>Task 1b: Fix [[Help:CS1_errors#deprecated_params|CS1 deprecated date parameter errors]]</SelectedSummary>
<Summaries>
<string>clean up</string>
<string>re-categorisation per [[WP:CFD|CFD]]</string>
<string>clean up and re-categorisation per [[WP:CFD|CFD]]</string>
<string>removing category per [[WP:CFD|CFD]]</string>
<string>[[Wikipedia:Template substitution|subst:'ing]]</string>
<string>[[Wikipedia:WikiProject Stub sorting|stub sorting]]</string>
<string>[[WP:AWB/T|Typo fixing]]</string>
<string>bad link repair</string>
<string>Fixing [[Wikipedia:Disambiguation pages with links|links to disambiguation pages]]</string>
<string>Unicodifying</string>
<string>Task 1b: Fix [[Help:CS1_errors#deprecated_params|CS1 deprecated date parameter errors]] (test)</string>
<string>Task 1b: Fix [[Help:CS1_errors#deprecated_params|CS1 deprecated date parameter errors]] (Bot trial)</string>
<string>Task 1b: Fix [[Help:CS1_errors#deprecated_params|CS1 deprecated date parameter errors]]</string>
</Summaries>
<PasteMore>
<string />
<string />
<string />
<string />
<string />
<string />
<string />
<string />
<string />
<string />
</PasteMore>
<FindText />
<FindRegex>false</FindRegex>
<FindCaseSensitive>false</FindCaseSensitive>
<WordWrap>true</WordWrap>
<ToolBarEnabled>false</ToolBarEnabled>
<BypassRedirect>true</BypassRedirect>
<AutoSaveSettings>false</AutoSaveSettings>
<noSectionEditSummary>false</noSectionEditSummary>
<restrictDefaultsortAddition>true</restrictDefaultsortAddition>
<restrictOrphanTagging>true</restrictOrphanTagging>
<noMOSComplianceFixes>false</noMOSComplianceFixes>
<syntaxHighlightEditBox>false</syntaxHighlightEditBox>
<highlightAllFind>false</highlightAllFind>
<PreParseMode>false</PreParseMode>
<NoAutoChanges>false</NoAutoChanges>
<OnLoadAction>0</OnLoadAction>
<DiffInBotMode>false</DiffInBotMode>
<Minor>true</Minor>
<AddToWatchlist>2</AddToWatchlist>
<TimerEnabled>false</TimerEnabled>
<SortListAlphabetically>false</SortListAlphabetically>
<AddIgnoredToLog>false</AddIgnoredToLog>
<EditToolbarEnabled>true</EditToolbarEnabled>
<filterNonMainSpace>false</filterNonMainSpace>
<AutoFilterDuplicates>false</AutoFilterDuplicates>
<FocusAtEndOfEditBox>false</FocusAtEndOfEditBox>
<scrollToUnbalancedBrackets>false</scrollToUnbalancedBrackets>
<TextBoxSize>10</TextBoxSize>
<TextBoxFont>Courier New</TextBoxFont>
<LowThreadPriority>false</LowThreadPriority>
<Beep>false</Beep>
<Flash>false</Flash>
<Minimize>false</Minimize>
<LockSummary>false</LockSummary>
<SaveArticleList>true</SaveArticleList>
<SuppressUsingAWB>false</SuppressUsingAWB>
<AddUsingAWBToActionSummaries>false</AddUsingAWBToActionSummaries>
<IgnoreNoBots>false</IgnoreNoBots>
<ClearPageListOnProjectChange>false</ClearPageListOnProjectChange>
<SortInterWikiOrder>true</SortInterWikiOrder>
<ReplaceReferenceTags>true</ReplaceReferenceTags>
<LoggingEnabled>true</LoggingEnabled>
<AlertPreferences />
</General>
<SkipOptions>
<SkipNonexistent>true</SkipNonexistent>
<Skipexistent>false</Skipexistent>
<SkipWhenNoChanges>false</SkipWhenNoChanges>
<SkipSpamFilterBlocked>true</SkipSpamFilterBlocked>
<SkipInuse>true</SkipInuse>
<SkipWhenOnlyWhitespaceChanged>false</SkipWhenOnlyWhitespaceChanged>
<SkipOnlyGeneralFixChanges>true</SkipOnlyGeneralFixChanges>
<SkipOnlyMinorGeneralFixChanges>false</SkipOnlyMinorGeneralFixChanges>
<SkipOnlyCasingChanged>false</SkipOnlyCasingChanged>
<SkipIfRedirect>false</SkipIfRedirect>
<SkipIfNoAlerts>false</SkipIfNoAlerts>
<SkipDoes>false</SkipDoes>
<SkipDoesNot>false</SkipDoesNot>
<SkipDoesText />
<SkipDoesNotText />
<Regex>false</Regex>
<CaseSensitive>false</CaseSensitive>
<AfterProcessing>false</AfterProcessing>
<SkipNoFindAndReplace>true</SkipNoFindAndReplace>
<SkipMinorFindAndReplace>false</SkipMinorFindAndReplace>
<SkipNoRegexTypoFix>false</SkipNoRegexTypoFix>
<SkipNoDisambiguation>false</SkipNoDisambiguation>
<SkipNoLinksOnPage>false</SkipNoLinksOnPage>
<GeneralSkipList />
</SkipOptions>
<Module>
<Enabled>false</Enabled>
<Language>C# 2.0</Language>
<Code> public string ProcessArticle(string ArticleText, string ArticleTitle, int wikiNamespace, out string Summary, out bool Skip)
{
Skip = false;
Summary = "test";
ArticleText = "test \r\n\r\n" + ArticleText;
return ArticleText;
}</Code>
</Module>
<ExternalProgram>
<Enabled>false</Enabled>
<Skip>false</Skip>
<Program />
<Parameters />
<PassAsFile>true</PassAsFile>
<OutputFile />
</ExternalProgram>
<Disambiguation>
<Enabled>false</Enabled>
<Link />
<Variants />
<ContextChars>20</ContextChars>
</Disambiguation>
<Special>
<namespaceValues>
<int>0</int>
</namespaceValues>
<remDupes>true</remDupes>
<sortAZ>true</sortAZ>
<filterTitlesThatContain>false</filterTitlesThatContain>
<filterTitlesThatContainText />
<filterTitlesThatDontContain>false</filterTitlesThatDontContain>
<filterTitlesThatDontContainText />
<areRegex>false</areRegex>
<opType>0</opType>
<remove />
</Special>
<Tool>
<ListComparerUseCurrentArticleList>0</ListComparerUseCurrentArticleList>
<ListSplitterUseCurrentArticleList>0</ListSplitterUseCurrentArticleList>
<DatabaseScannerUseCurrentArticleList>0</DatabaseScannerUseCurrentArticleList>
</Tool>
<Plugin />
</AutoWikiBrowserPreferences>