Wikipedia talk:WikiProject Astronomical objects/Starbox catalog disambiguation.py

import re import sys import string

def starbox_catalog_disambiguation(s): """	Argument is article text.

Returns a list consisting of (1) new article text and (2) a human-readable summary of the changes made. """	#	# List of acronyms and what they should disambiguate to	#	changes = [ ['ADS', 'Aitken Double Star Catalogue'], ['AG', 'Astronomische Gesellschaft Katalog'], ['BD', 'Durchmusterung'], ['CCDM', 'Catalog of Components of Double and Multiple Stars'], ['CD', 'Durchmusterung'], ['CEL', 'Celescope Catalogue of Ultraviolet Magnitudes'], # redlink				# cf. http://adsabs.harvard.edu/abs/1973SAOSR.350....1D ['CPD', 'Durchmusterung'], ['CSI', 'Catalog of Stellar Identifications'],  # redlink ['FK4', 'Fourth Fundamental Catalogue'], ['FK5', 'Fifth Fundamental Catalogue'], ['GC', 'Boss General Catalogue'], ['GCTP', 'General Catalogue of Trigonometric Parallaxes'], ['GSC', 'Guide Star Catalog'], ['HD', 'Henry Draper Catalogue'], ['HIC', 'Hipparcos Input Catalogue'], # redlink ['HIP', 'Hipparcos Catalogue'], ['HR', 'Bright Star Catalogue'], ['IDS', 'Index Catalogue of Visual Double Stars'], ['LFT', 'Luyten Five-Tenths catalogue'], ['LHS', 'Luyten Half-Second catalogue'], ['LTT', 'Luyten Two-Tenths catalogue'], ['N30', 'Catalog of 5,268 Standard Stars Based on the Normal System N30'], # redlink # cf. http://cdsarc.u-strasbg.fr/viz-bin/Cat?I/80 ['NLTT', 'New Luyten Two-Tenths catalogue'], ['NSV', 'New Catalogue of Suspected Variable Stars'],  # redlink ['PHL', 'Palomar-Haro-Luyten catalogue'], # redlink ['PLX', 'General Catalogue of Trigonometric Parallaxes'], ['PMC', 'Tokyo Photoelectric Meridian Circle Catalog'], # redlink ['PPM', 'PPM Star Catalogue'], ['ROT', 'Catalogue of Rotational Velocities of the Stars'], # redlink # cf. http://adsabs.harvard.edu/abs/1970crvs.book.....U ['SAO', 'Smithsonian Astrophysical Observatory Star Catalog'], ['TD1', 'TD1 Catalog of Stellar Ultraviolet Fluxes'],  # redlink ['TYC', 'Tycho Catalogue'], ['UBV', 'UBV Photoelectric Catalogue'], # redlink # cf. http://adsabs.harvard.edu/abs/1968PUSNO..21....0B ['WDS', 'Washington Double Star Catalog'] ]	r = re.compile(r'({{Starbox catalog[^}]*}})') ans = r.split(s) summary = '' for i in range((len(ans)-1)/2): j=2*i+1 newansj = ans[j] for k in changes: newansj = newansj.replace(+k[0]+, +k[0]+) if (newansj != ans[j]): summary = summary + 'Disambiguated\n' + ans[j] + '\n\nto\n' + newansj + '\n.\n' ans[j] = newansj newstr = '' for q in ans: newstr += q	return [newstr, summary]
 * 1) Partial list of redlinked acronyms left as is:
 * 2) GCRV (General Catalogue of Stellar Radial Velocities)
 * 3) JP11
 * 4) MSX5C
 * 5) uvby98 (uvbyβ photoelectric photometric catalogue)
 * 6) Partial list of bluelinked acronyms that are left as is:
 * 7) AAVSO (article is on the organization that generated this database)
 * 8) 2MASS (destination article correct)
 * 9) EUVE (article is on the satellite that generated this catalog)
 * 10) IRAS (article is on the satellite that generated this catalog)
 * 1) AAVSO (article is on the organization that generated this database)
 * 2) 2MASS (destination article correct)
 * 3) EUVE (article is on the satellite that generated this catalog)
 * 4) IRAS (article is on the satellite that generated this catalog)

n1=sys.argv[1] n2=sys.argv[2] f1=open(n1,'r') f2=open(n2,'w') edits=starbox_catalog_disambiguation(f1.read) f1.close print 'Edits:\n' print edits[1] f2.write(edits[0]) f2.close
 * 1) Main program: tests starbox_catalog_disambiguation function
 * 2) Article input name=arg 1, output name=arg 2
 * 1) Article input name=arg 1, output name=arg 2
 * 1) Article input name=arg 1, output name=arg 2