Revision: 6909 Author: alexsh Date: 2009-05-21 10:38:13 +0000 (Thu, 21 May 2009)
Log Message: ----------- Add -new for load all wikis where setting in user-config.py
Modified Paths: -------------- trunk/pywikipedia/watchlist.py
Modified: trunk/pywikipedia/watchlist.py =================================================================== --- trunk/pywikipedia/watchlist.py 2009-05-21 10:05:32 UTC (rev 6908) +++ trunk/pywikipedia/watchlist.py 2009-05-21 10:38:13 UTC (rev 6909) @@ -12,6 +12,7 @@ Command line options: -all - Reloads watchlists for all wikis where a watchlist is already present + -new - Load watchlists for all wikis where accounts is setting in user-config.py """
# (C) Daniel Herding, 2005 @@ -78,27 +79,44 @@ pickle.dump(watchlist, f) f.close()
-def refresh_all(): - import dircache, time - filenames = dircache.listdir(wikipedia.config.datafilepath('watchlists')) - watchlist_filenameR = re.compile('watchlist-([a-z-:]+).dat') - for filename in filenames: - match = watchlist_filenameR.match(filename) - if match: - arr = match.group(1).split('-') - family = arr[0] - lang = '-'.join(arr[1:]) - site = wikipedia.getSite(code = lang, fam = family) - refresh(site) +def refresh_all(new = False): + if new: + import config + wikipedia.output('Downloading All watchlists for your accounts in user-config.py'); + for family in config.usernames: + for lang in config.usernames[family]: + site = wikipedia.getSite(code=lang, fam = family) + refresh(site) + for family in config.sysopnames: + for lang in config.sysopnames[family]: + site = wikipedia.getSite(code=lang, fam = family) + refresh(site)
+ else: + import dircache, time + filenames = dircache.listdir(wikipedia.config.datafilepath('watchlists')) + watchlist_filenameR = re.compile('watchlist-([a-z-:]+).dat') + for filename in filenames: + match = watchlist_filenameR.match(filename) + if match: + arr = match.group(1).split('-') + family = arr[0] + lang = '-'.join(arr[1:]) + site = wikipedia.getSite(code = lang, fam = family) + refresh(site) + def main(): all = False + new = False for arg in wikipedia.handleArgs(): - if arg == '-all': + if arg == '-all' or arg == '-update': all = True - + elif arg == '-new': + new = True if all: refresh_all() + elif new: + refresh_all(new) else: refresh(wikipedia.getSite())
pywikipedia-svn@lists.wikimedia.org