Browse Source

Merge branch 'fs#161-add-article-titles' into develop

develop
Jonathan Golder 7 years ago
parent
commit
04f591b466
  1. 20
      bots/markpages.py
  2. 15
      lib/redfam.py

20
bots/markpages.py

@ -145,14 +145,10 @@ class MarkPagesBot( CurrentPageBot ): # sets 'current_page' on each treat()
for redfam in self.redfams:
# We need the talkpage (and only this) of each existing page
for talkpage in pagegenerators.PageWithTalkPageGenerator(
redfam.article_generator(
for talkpage in redfam.article_generator(
filter_existing=True,
exclude_article_status=["marked"] ),
return_talk_only=True ):
# Add reference to redfam to talkpages
talkpage.redfam = redfam
exclude_article_status=["marked"],
talkpages=True ):
yield talkpage
@ -188,14 +184,8 @@ class MarkPagesBot( CurrentPageBot ): # sets 'current_page' on each treat()
# None if change was not accepted by user
save_ret = self.put_current( self.new_text, summary=summary )
# Normalize title with anchor (replace spaces in anchor)
article = self.current_page.toggleTalkPage().title(
asLink=True, textlink=True)
article = article.strip("[]")
article_parts = article.split("#", 1)
if len(article_parts) == 2:
article_parts[1] = article_parts[1].replace(" ", "_")
article = "#".join(article_parts)
# Get article as named in db
article = self.current_page.redarticle
# Status
if add_ret is None or ( add_ret and save_ret ):

15
lib/redfam.py

@ -514,7 +514,8 @@ class RedFamWorker( RedFam ):
def article_generator(self, # noqa
filter_existing=None, filter_redirects=None,
exclude_article_status=[],
onlyinclude_article_status=[] ):
onlyinclude_article_status=[],
talkpages=None ):
"""
Yields pywikibot pageobjects for articles belonging to this redfams
in a generator
@ -528,6 +529,8 @@ class RedFamWorker( RedFam ):
set to False to get only redirectpages,
unset/None results in not filtering
@type filter_redirects bool/None
@param talkpages Set to True to get Talkpages instead of article page
@type talkpages bool/None
"""
@ -591,6 +594,16 @@ class RedFamWorker( RedFam ):
except Break:
break
# Toggle talkpage
if talkpages:
page = page.toggleTalkPage()
# Add reference to redfam to pages
page.redfam = self
# Keep article title from db with page object
page.redarticle = article
# Yield filtered pages
yield page

Loading…
Cancel
Save