Don't put redirects in the same category as real app pages

This commit is contained in:
Ciaran Gultnieks 2013-10-09 14:39:00 +01:00
parent d2867a3192
commit 4e51a68cfa

View file

@ -43,10 +43,12 @@ def update_wiki(apps, apks, verbose=False):
""" """
print "Updating wiki" print "Updating wiki"
wikicat = 'Apps' wikicat = 'Apps'
wikiredircat = 'App Redirects'
import mwclient import mwclient
site = mwclient.Site((wiki_protocol, wiki_server), path=wiki_path) site = mwclient.Site((wiki_protocol, wiki_server), path=wiki_path)
site.login(wiki_user, wiki_password) site.login(wiki_user, wiki_password)
generated_pages = {} generated_pages = {}
generated_redirects = {}
for app in apps: for app in apps:
wikidata = '' wikidata = ''
if app['Disabled']: if app['Disabled']:
@ -185,33 +187,35 @@ def update_wiki(apps, apks, verbose=False):
if apppagename == pagename: if apppagename == pagename:
noclobber = True noclobber = True
if not noclobber: if not noclobber:
generated_pages[apppagename] = "#REDIRECT [[" + pagename + "]]\n[[Category:" + wikicat + "]]" generated_redirects[apppagename] = "#REDIRECT [[" + pagename + "]]\n[[Category:" + wikiredircat + "]]"
catpages = site.Pages['Category:' + wikicat] for tcat, genp in [(wikicat, generated_pages),
existingpages = [] (wikiredircat, generated_redirects)]:
for page in catpages: catpages = site.Pages['Category:' + tcat]
existingpages.append(page.name) existingpages = []
if page.name in generated_pages: for page in catpages:
pagetxt = page.edit() existingpages.append(page.name)
if pagetxt != generated_pages[page.name]: if page.name in genp:
print "Updating modified page " + page.name pagetxt = page.edit()
page.save(generated_pages[page.name], summary='Auto-updated') if pagetxt != genp[page.name]:
print "Updating modified page " + page.name
page.save(genp[page.name], summary='Auto-updated')
else:
if verbose:
print "Page " + page.name + " is unchanged"
else: else:
if verbose: print "Deleting page " + page.name
print "Page " + page.name + " is unchanged" page.delete('No longer published')
else: for pagename, text in genp.items():
print "Deleting page " + page.name if verbose:
page.delete('No longer published') print "Checking " + pagename
for pagename, text in generated_pages.items(): if not pagename in existingpages:
if verbose: print "Creating page " + pagename
print "Checking " + pagename try:
if not pagename in existingpages: newpage = site.Pages[pagename]
print "Creating page " + pagename newpage.save(text, summary='Auto-created')
try: except:
newpage = site.Pages[pagename] print "...FAILED to create page"
newpage.save(text, summary='Auto-created')
except:
print "...FAILED to create page"
def delete_disabled_builds(apps, apkcache, repodirs): def delete_disabled_builds(apps, apkcache, repodirs):