New Immissions/Updates:
boundless - educate - edutalab - empatico - es-ebooks - es16 - fr16 - fsfiles - hesperian - solidaria - wikipediaforschools
- wikipediaforschoolses - wikipediaforschoolsfr - wikipediaforschoolspt - worldmap -

See also: Liber Liber - Libro Parlato - Liber Musica  - Manuzio -  Liber Liber ISO Files - Alphabetical Order - Multivolume ZIP Complete Archive - PDF Files - OGG Music Files -

PROJECT GUTENBERG HTML: Volume I - Volume II - Volume III - Volume IV - Volume V - Volume VI - Volume VII - Volume VIII - Volume IX

Ascolta ""Volevo solo fare un audiolibro"" su Spreaker.
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
User:Benc/Scripts/what links out.py - Wikipedia, the free encyclopedia

User:Benc/Scripts/what links out.py

From Wikipedia, the free encyclopedia

# what_links_out.py
# Author:  Benc (http://en.wikipedia.org/wiki/User:Benc)
# Created: 21 September 2004
# Updated: 21 September 2004
# Purpose: Compile a list of articles that are linked to by a page. Sorted by
#          wiki and by namespace. Warning: may have unexpected results for
#          malformed wikicode.
#
# Usage:   Cut and paste the page source here. Alternately, if you're a
#          programmer using this script as a module, call the reportLinks()
#          function instead.

pageSource="""

"""

# -----------------------------------------------------------------------------
import string

NAMESPACES = [   'Talk',
        'Category',  'Category talk',
        'Help',      'Help talk',
        'Image',     'Image talk',
        'Mediawiki', 'Mediawiki talk',  # Namespace miscapitalization intentional
        'Template',  'Template talk',
        'User',      'User talk',
        'Wikipedia', 'Wikipedia talk']

PSEUDO = {
        'WP':'Wikipedia',
        'CAT':'Category',
        'P':'Wikipedia' } # Proposed WikiProject pseudo-namespace

INTERWIKI = { # this list should probably be expanded
        'b':'[[Wikibooks]]',
        'commons':'Wikimedia Commons',
        'm':'Meta-wiki',
        'q':'[[Wikiquote]]',
        'sep11':'9-11 Memorial',
        'wikt':'[[Wiktionary]]' }

INTERWIKI_PLACEHOLDER = 'ZZZ-interwiki to: '
TRANSLATION_PLACEHOLDER = 'ZZZ-translation to: '

outgoingLinks = []      # Another global variable. Horrible, I know.

def uncapAll(txt):
        return string.lower(txt)
def capAll(txt):
        return string.upper(txt)
def capFirst(txt):
        return string.upper(txt[0]) + txt[1:]
def capNamespace(txt):
        return string.upper(txt[0]) + string.lower(txt[1:])

def parsePipe(link):
        i = link.find('|')
        if i < 0:
                return capFirst(link), None
        else:
                return capFirst(link[:i]), link[i+1:]

def parseNamespace(link):
        namespace = ''  # Main article namespace
        i = link.find(':')
        ns = link[:i]
        if i >= 0:
                if capNamespace(ns) in NAMESPACES:
                        namespace = capNamespace(ns)
                elif PSEUDO.has_key(capAll(ns)):
                        namespace = PSEUDO[capAll(ns)]
                elif INTERWIKI.has_key(uncapAll(ns)):
                        namespace = INTERWIKI_PLACEHOLDER + INTERWIKI[uncapAll(ns)]
                elif len(ns) == 2 and ns == uncapAll(ns):
                        namespace = TRANSLATION_PLACEHOLDER + ns # fairly safe assumption
                # else the : is not being used as a namespace indicator
        return namespace

def parseOneLink(link):
        namespace = parseNamespace(link)
        trueLink, displayedLink = parsePipe(link)
        return (namespace, link, trueLink, displayedLink)

def parseLinks(depth=0):
        """Note: this function is recursive to handle wikicode such as
                [[Image:Example.gif|thumb|right|This is an [[example]] image]]
        """
        global pageSource, outgoingLinks
        
        if depth > 0:
                i, j = pageSource.find('[['), pageSource.find(']]')
                outgoingLinks.append(parseOneLink(pageSource[:j]))
                if (i < 0 and j >=0) or j < i: # nothing deeper
                        pageSource = pageSource[j+2:]
                        return
                # else recurse
        
        while 1:
                i = pageSource.find('[[')
                if i < 0:
                        break
                pageSource = pageSource[i+2:]
                parseLinks(depth+1)

def reportLinks(src):
        """Main interface function"""
        
        global pageSource, outgoingLinks
        pageSource = src
        outgoingLinks = []
        
        parseLinks()
        outgoingLinks.sort()
        
        result = 'The following pages are linked to by this page:\n'
        curNamespace = '?'
        translation = False
        for link in outgoingLinks:
                if link[0] <> curNamespace: # transitioning into new namespace
                        curNamespace = link[0]
                        translation = False
                        if curNamespace == '':
                                result += '*Main article namespace:\n'
                        elif curNamespace.find(INTERWIKI_PLACEHOLDER) >= 0:
                                result += '*Interwiki to %s:\n' % (curNamespace[len(INTERWIKI_PLACEHOLDER):])
                        elif curNamespace.find(TRANSLATION_PLACEHOLDER) >= 0:
                                result += '*Translation: %s\n' % (curNamespace[len(TRANSLATION_PLACEHOLDER):])
                                translation = True
                        else:
                                result += '*%s namespace:\n' % (curNamespace)

                if not translation:
                        if link[3] == None:
                                result += '**[[%s]]\n' % (link[2])
                        else:
                                result += '**[[%s]] (%s)\n' % (link[2], link[3])
        return result

if __name__=="__main__":
        print reportLinks(pageSource)



←back to main page talk

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu