Hej, du har kommit hit för att leta efter betydelsen av ordet
Användare:Skalbot/update userlang categories.py. I DICTIOUS hittar du inte bara alla ordboksbetydelser av ordet
Användare:Skalbot/update userlang categories.py, utan du får också veta mer om dess etymologi, dess egenskaper och hur man säger
Användare:Skalbot/update userlang categories.py i singular och plural. Allt du behöver veta om ordet
Användare:Skalbot/update userlang categories.py finns här. Definitionen av ordet
Användare:Skalbot/update userlang categories.py hjälper dig att vara mer exakt och korrekt när du talar eller skriver dina texter. Genom att känna till definitionen av
Användare:Skalbot/update userlang categories.py och andra ord berikar du ditt ordförråd och får tillgång till fler och bättre språkliga resurser.
# -*- coding: utf-8 -*-
from __future__ import print_function
import time
import re
import pywikibot
import pywikibot.bot
from pywikibot.pagegenerators import PrefixingPageGenerator
from pywikibot.page import Page
from pywikibot.exceptions import NoPage, IsRedirectPage
cat_prefix = u'Kategori:Wiktionary:Användare '
main_cat = u'Kategori:Wiktionary:Användare per språk'
cats_to_process_prefix = cat_prefix + ''
pywikibot.bot.handleArgs()
site = pywikibot.Site('sv', 'wiktionary')
cats = PrefixingPageGenerator(cats_to_process_prefix, content=True)
re_end = '(?!)'
re_lang_title = re.compile(cat_prefix + '+' + re_end)
re_lvl_title = re.compile(cat_prefix + '(+)\-' + re_end)
re_lang_can_autofix = re.compile(
u'^(Användare i den här kategorin visar att de har kunskap i språket +?.)\n?' +
# iws
u'((\n\+:]+\]\])*)\n?' +
re_end
)
re_lang_fixed = re.compile(
u'^Användare i den här kategorin visar att de har kunskap i språket +?.\n\n' +
# cat
'\\]\n?'
# iws
'((\n\+:]+\]\])*)\n?' +
re_end
)
re_lvl_can_autofix = re.compile(
u'^(Användare i den här kategorin visar att de kan språket +? på en kunskapsnivå av .)\n?' +
# iws
'((\n\+:]+\]\])*)\n?' +
re_end
)
re_lvl_fixed = re.compile(
u'^Användare i den här kategorin visar att de ' +
u'(inte kan språket +?' +
u'|har språket +? som modersmål' +
u'|kan språket +? på en kunskapsnivå av ).\n\n'
# cat
'\+\]\]\n?'
# iws
'((\n\+:]+\]\])*)\n?' +
re_end
)
def p(str):
print(str)
def indent(str):
print('\t' + str.replace('\n', '\n\t'))
for cat in cats:
title = cat.title()
text = cat.get()
# level
if re.match(re_lvl_title, title):
if re_lvl_fixed.match(text):
p('] skipped: already fixed')
elif not re_lvl_can_autofix.match(text):
p('] skipped: cannot autofix:')
indent(text)
break
else:
lang_code = re_lvl_title.match(title).group(1)
# add cat
text = re_lvl_can_autofix.sub(
'\\1\n\n]\n\n\\2', text)
if title.endswith('N'):
text = text.replace(
u'de kan språket', u'de har språket').replace(
u'på en kunskapsnivå av N', u'som modersmål')
elif title.endswith('0'):
text = text.replace(
u'de kan språket', u'de inte kan språket').replace(
u' på en kunskapsnivå av 0', '')
cat.text = text
cat.save(
comment=u'Lägger till kategori',
botflag=True)
# p('] (would save):')
# indent(text)
# lang
elif re.match(re_lang_title, title):
if re_lang_fixed.match(text):
p('] skipped: already fixed')
elif not re_lang_can_autofix.match(text):
p('] skipped: cannot autofix:')
indent(text)
break
else:
text = re_lang_can_autofix.sub(
'\\1\n\n]\n\n\\2', text)
cat.text = text
cat.save(
comment=u'Lägger till kategori',
botflag=True)
# p('] (would save):')
# indent(text)
else:
known_titles = [
u'Kategori:Wiktionary:Användare',
u'Kategori:Wiktionary:Användare per språk',
]
if title in known_titles:
p('] skipped')
else:
p('] skipped: unexpected title')
break
p('DONE')