def main(args): """ Main loop. Get a generator and options. Work on all images in the generator. """ generator = None onlyFilter = False onlyUncat = False genFactory = pagegenerators.GeneratorFactory() global search_wikis global hint_wiki site = pywikibot.getSite(u'commons', u'commons') pywikibot.setSite(site) for arg in pywikibot.handleArgs(): if arg == '-onlyfilter': onlyFilter = True elif arg == '-onlyuncat': onlyUncat = True elif arg.startswith('-hint:'): hint_wiki = arg[len('-hint:'):] elif arg.startswith('-onlyhint'): search_wikis = arg[len('-onlyhint:'):] else: genFactory.handleArg(arg) generator = genFactory.getCombinedGenerator() if not generator: generator = pagegenerators.CategorizedPageGenerator( catlib.Category(site, u'Category:Media needing categories'), recurse=True) initLists() categorizeImages(generator, onlyFilter, onlyUncat) pywikibot.output(u'All done')
def main(args): """ Grab a bunch of images and tag them if they are not categorized. """ generator = None genFactory = pagegenerators.GeneratorFactory() site = pywikibot.getSite(u'commons', u'commons') pywikibot.setSite(site) for arg in pywikibot.handleArgs(): if arg.startswith('-yesterday'): generator = uploadedYesterday(site) elif arg.startswith('-recentchanges'): generator = recentChanges(site=site, delay=120) else: genFactory.handleArg(arg) if not generator: generator = genFactory.getCombinedGenerator() if not generator: pywikibot.output(u'You have to specify the generator you want to use ' u'for the program!') else: pregenerator = pagegenerators.PreloadingGenerator(generator) for page in pregenerator: if page.exists() and (page.namespace() == 6) \ and (not page.isRedirectPage()): if isUncat(page): addUncat(page)
def main(): countrycode = u'' lang = u'' skip_wd = False # Connect database, we need that (conn, cursor) = connect_to_monuments_database() (conn2, cursor2) = connect_to_commons_database() for arg in pywikibot.handleArgs(): option, sep, value = arg.partition(':') if option == '-countrycode': countrycode = value elif option == '-langcode': lang = value elif option == '-skip_wd': skip_wd = True else: raise Exception( u'Bad parameters. Expected "-countrycode", "-langcode", ' u'"-skip_wd" or pywikibot args. ' u'Found "{}"'.format(option)) pywikibot.setSite(pywikibot.getSite(u'commons', u'commons')) if countrycode and lang: if not mconfig.countries.get((countrycode, lang)): pywikibot.output( u'I have no config for countrycode "%s" in language "%s"' % (countrycode, lang)) return False pywikibot.output( u'Working on countrycode "%s" in language "%s"' % (countrycode, lang)) locateCountry(mconfig.countries.get((countrycode, lang)), conn, cursor, conn2, cursor2) elif countrycode or lang: raise Exception(u'The "countrycode" and "langcode" arguments must ' u'be used together.') else: for (countrycode, lang), countryconfig in mconfig.filtered_countries( skip_wd=skip_wd): if not countryconfig.get('autoGeocode'): pywikibot.output( u'"%s" in language "%s" is not supported in auto geocode mode (yet).' % (countrycode, lang)) else: pywikibot.output( u'Working on countrycode "%s" in language "%s"' % (countrycode, lang)) locateCountry(countryconfig, conn, cursor, conn2, cursor2) close_database_connection(conn, cursor)