Wikipedia:Dugnadskontor/Bytte lenker til NFF-lenke-mal
Bytte lenker til NFF-lenke-mal
redigerLagt inn av: -- Stigmj (diskusjon) 10. jun. 2016 kl. 11:58 (CEST)
Fjerne eksterne lenker til fotball.no og erstatte med bruk av {{NFF-lenke}} der dette er mulig.
Tekniske detaljer på foreslått kjøring
rediger- Hvilket script som kjøres med lenke til kildekode/hjemmeside.
- Hvilke parametre som benyttes.
python pwb.py replace.py -ns:0 -ns:10 -fix:nff-fix -search:"/insource:https?:\/\/www\.fotball\.no\/System/"
python pwb.py replace.py -ns:0 -ns:10 -fix:nff-fix -transcludes:"NFFkamp"
def nff_fix(m):
import pywikibot
from pywikibot import textlib
templates = textlib.extract_templates_and_params(m.group(0))
nff = '{{NFF-lenke|' + m.group('id')
suffix = ''
if m.group('type') == 'Kampfakta':
nff = nff + '|kamp|'
elif m.group('type') == 'Tabell':
nff = nff + '|turnering|'
elif m.group('type') == 'TabellTermin':
nff = nff + '|terminliste|'
nff = nff + 'kilde}}'
ret = ''
for (template, fielddict) in templates:
ret = '{{' + template
for field, value in fielddict.items():
field = field.strip()
value = value.strip()
if field == m.group('kilde'):
ret = '%s|%s=%s' % (ret, field, nff)
elif value != '':
ret = '%s|%s=%s' % (ret, field, value)
ret = ret + '}}'
return ret
fixes['nff-fix']= {
'regex': True,
'nocase': True,
'recursive': True,
'msg': {
'_default':u'[[Wikipedia:Dugnadskontor/Bytte lenker til NFF-lenke-mal|Erstatte lenker med NFF-mal]]',
},
'replacements': [
(ur'\[https?://www\.fotball\.no/System-pages/Kampfakta/\?matchId=(?P<id>\w+) *(?P<comment>[^\]]*)\]',
lambda m:( '{{NFF-lenke|' + m.group('id') + '|kamp' + (m.group('comment') and '|' + m.group('comment') or '') + '}}' ) ), # rewriting
(ur'\[https?://www\.fotball\.no/System-pages/Tabell/\?tournamentId=(?P<id>\w+) *(?P<comment>[^\]]*)\]',
lambda m:( '{{NFF-lenke|' + m.group('id') + '|turnering' + (m.group('comment') and '|' + m.group('comment') or '') + '}}' ) ), # rewriting
(ur'\[https?://www\.fotball\.no/System-pages/TabellTermin/\?tournamentId=(?P<id>\w+) *(?P<comment>[^\]]*)\]',
lambda m:( '{{NFF-lenke|' + m.group('id') + '|terminliste' + (m.group('comment') and '|' + m.group('comment') or '') + '}}' ) ), # rewriting
(ur'(\{\{\s*[Kk]ilde[_ ](?:www|web)\s*\|[^}]*?(?P<kilde>url)\s*=\s*https?://www\.fotball\.no/System-pages/(?P<type>[^\/]+)/\?(?:match|tournament)Id=(?P<id>\w+)\s*(?:\||\})[^\}]*?\}\})', nff_fix),
(ur'(\{\{\s*[Cc]ite[_ ]web\s*\|[^}]*?(?P<kilde>url)\s*=\s*https?://www\.fotball\.no/System-pages/(?P<type>[^\/]+)/\?(?:match|tournament)Id=(?P<id>\w+)\s*(?:\||\})[^\}]*?\}\})', nff_fix),
(ur'(\{\{\s*(?:[Ss]erietabell[_ ]footer|[Ss]pillerstall[_ ]vedlikehold)[\s\n]*\|[^}]*?(?P<kilde>(?:kilde|oppdateringskilde))\s*=\s*https?://www\.fotball\.no/System-pages/(?P<type>[^\/]+)/\?(?:match|tournament)Id=(?P<id>\w+)\s*[^\}]*?\}\})', nff_fix),
(ur'(<ref>\s*https?://www\.fotball\.no/System-pages/Kampfakta/\?(?:match|tournament)Id=(?P<id>\w+) *(?P<comment>[^<]*)\s*</ref>)',
lambda m:( '<ref>{{NFF-lenke|' + m.group('id') + '|kamp' + (m.group('comment') and '|' + m.group('comment') or '') + '}}</ref>' ) ), # rewriting
(ur'(<ref>\s*https?://www\.fotball\.no/System-pages/Tabell/\?(?:match|tournament)Id=(?P<id>\w+) *(?P<comment>[^<]*)\s*</ref>)',
lambda m:( '<ref>{{NFF-lenke|' + m.group('id') + '|turnering' + (m.group('comment') and '|' + m.group('comment') or '') + '}}</ref>' ) ), # rewriting
(ur'(<ref>\s*https?://www\.fotball\.no/System-pages/TabellTermin/\?(?:match|tournament)Id=(?P<id>\w+) *(?P<comment>[^<]*)\s*</ref>)',
lambda m:( '<ref>{{NFF-lenke|' + m.group('id') + '|terminliste' + (m.group('comment') and '|' + m.group('comment') or '') + '}}</ref>' ) ), # rewriting
(ur'\{\{\s*NFFKamp\s*\|\s*(\d+)\s*([^\}]*?)\}\}', ur'{{NFF-lenke|\1|kamp\2}}' ),
],
'exceptions': {
'inside-tags': [
'nowiki',
'source',
'pre',
],
}
}
- Lenke til eventuelt datagrunnlag der dette er mulig å fremvise.
Testkjøring
rediger- Bevis på testkjøring uten at noen faktiske endringer er utført. Legges helst inn som en underside av denne jobben
Diskusjon
redigerKjører denne nå. -- Stigmj (diskusjon) 10. jun. 2016 kl. 12:29 (CEST)
- Er vel nå mer eller mindre ferdig med det som kan tas automatisk. -- Stigmj (diskusjon) 10. jun. 2016 kl. 20:55 (CEST)