Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_recentchanges_ns(self):
"""Test recentchanges generator with namespace."""
gf = pagegenerators.GeneratorFactory(site=self.site)
gf.handleArg('-ns:1')
gf.handleArg('-recentchanges:10')
gen = gf.getCombinedGenerator()
self.assertIsNotNone(gen)
self.assertPagesInNamespaces(gen, 1)
def test_prefixing_ns(self):
"""Test prefixindex generator with namespace filter."""
gf = pagegenerators.GeneratorFactory(site=self.site)
gf.handleArg('-ns:1')
gf.handleArg('-prefixindex:a')
gf.handleArg('-limit:10')
gen = gf.getCombinedGenerator()
self.assertIsNotNone(gen)
self.assertPagesInNamespaces(gen, 1)
namespaces = []
number = None
until = None
warnfile = None
# a normal PageGenerator (which doesn't give hints, only Pages)
hintlessPageGen = None
optContinue = False
optRestore = False
restoredFiles = []
dumpFileName = ''
append = True
newPages = None
# Process global args and prepare generator args parser
local_args = pywikibot.handle_args(args)
genFactory = pagegenerators.GeneratorFactory()
iwconf = InterwikiBotConfig()
for arg in local_args:
if iwconf.readOptions(arg):
continue
elif arg.startswith('-warnfile:'):
warnfile = arg[10:]
elif arg.startswith('-years'):
# Look if user gave a specific year at which to start
# Must be a natural number or negative integer.
if len(arg) > 7 and (arg[7:].isdigit()
or (arg[7] == '-' and arg[8:].isdigit())):
startyear = int(arg[7:])
else:
startyear = 1
# avoid problems where year pages link to centuries etc.
def main(*args):
local_args = pywikibot.handle_args(args)
gen_factory = pagegenerators.GeneratorFactory()
for local_arg in local_args:
if gen_factory.handleArg(local_arg):
continue
arg, sep, value = local_arg.partition(':')
if arg == '-limitsize':
options[arg[1:]] = int(value) if value != "" else 100
elif arg == '-cachefiles':
options[arg[1:]] = value or 'cache'
gen = gen_factory.getCombinedGenerator()
if not gen:
pywikibot.bot.suggest_help(missing_generator=True)
return False
else:
pywikibot.Site().login()
def main(*args):
"""
Process command line arguments and invoke bot.
If args is an empty list, sys.argv is used.
@param args: command line arguments
@type args: unicode
"""
local_args = pywikibot.handle_args(args)
gen_factory = pagegenerators.GeneratorFactory()
options = {}
for arg in local_args:
if gen_factory.handleArg(arg):
continue
option, sep, value = arg.partition(':')
option = option[1:] if option.startswith('-') else None
if option == 'summary':
options[option] = value
else:
options[option] = True
site = pywikibot.Site()
generator = gen_factory.getCombinedGenerator(preload=True)
if generator:
bot = IWBot(generator=generator, site=site, **options)
xmlfilename = None
user = None
skip = False
timestamp = None
# read command line parameters
local_args = pywikibot.handle_args(args)
# Avoid conflicts with pagegenerators.py parameters.
if any(arg.startswith('-category:') for arg in local_args):
warn('-category (to append a category to each edited page) has been'
' renamed to -addcat; make sure you are using the correct param.',
ArgumentDeprecationWarning)
site = pywikibot.Site()
gen_factory = pagegenerators.GeneratorFactory()
for arg in local_args:
if arg == '-remove':
options['remove'] = True
elif arg == '-subst':
options['subst'] = True
elif arg == '-assubst':
options['subst'] = options['remove'] = True
elif arg == '-always':
options['always'] = True
elif arg.startswith('-xml'):
if len(arg) == 4:
xmlfilename = pywikibot.input(
"Please enter the XML dump's filename: ")
else:
xmlfilename = arg[5:]
elif arg.startswith('-addcat:'):
def main(*args):
"""
Process command line arguments and invoke bot.
If args is an empty list, sys.argv is used.
@param args: command line arguments
@type args: unicode
"""
generator = None
onlyFilter = False
onlyUncat = False
# Process global args and prepare generator args parser
local_args = pywikibot.handle_args(args)
genFactory = pagegenerators.GeneratorFactory()
global search_wikis
global hint_wiki
for arg in local_args:
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)
# always, define a generator to understand if the user sets one,
# defining what's genFactory
always = False
generator = False
show = False
moveBlockCheck = False
protectedpages = False
protectType = 'edit'
namespace = 0
# To prevent Infinite loops
errorCount = 0
# Process global args and prepare generator args parser
local_args = pywikibot.handle_args(args)
genFactory = pagegenerators.GeneratorFactory()
# Process local args
for arg in local_args:
option, sep, value = arg.partition(':')
if option == '-always':
always = True
elif option == '-move':
moveBlockCheck = True
elif option == '-show':
show = True
elif option in ('-protectedpages', '-moveprotected'):
protectedpages = True
if option == '-moveprotected':
protectType = 'move'
if value:
namespace = int(value)
Process command line arguments and invoke bot.
If args is an empty list, sys.argv is used.
@param args: command line arguments
@type args: unicode
"""
options = {}
gen = None
local_args = pywikibot.handle_args(args)
# This factory is responsible for processing command line arguments
# that are also used by other scripts and that determine on which pages
# to work on.
gen_factory = pagegenerators.GeneratorFactory(positional_arg_name='page')
for arg in local_args:
option, sep, value = arg.partition(':')
if option == '-xml':
filename = value or pywikibot.input(
"Please enter the XML dump's filename:")
gen = TableXmlDumpPageGenerator(filename)
elif option == '-auto':
issue_deprecation_warning(
'The usage of "-auto"', '-always',
1, ArgumentDeprecationWarning, since='20170205')
options['always'] = True
elif option in ['-always', '-quiet', '-skipwarning']:
options[option[1:]] = True
else:
if option in ('-sql', '-mysqlquery'):
def main(*args):
"""
Process command line arguments and invoke bot.
If args is an empty list, sys.argv is used.
@param args: command line arguments
@type args: unicode
"""
# Process global args and prepare generator args parser
local_args = pywikibot.handle_args(args)
generator_factory = pagegenerators.GeneratorFactory()
wdproperty = 'P18'
for arg in local_args:
if arg.startswith('-property'):
if len(arg) == 9:
wdproperty = pywikibot.input(
'Please enter the property you want to add:')
else:
wdproperty = arg[10:]
else:
generator_factory.handleArg(arg)
generator = generator_factory.getCombinedGenerator(preload=True)
if not generator:
pywikibot.bot.suggest_help(missing_generator=True)