Usuario:Emijrp/EEUU

De Wikipedia, la enciclopedia libre

http://www.census.gov/popest/cities/files/SUB-EST2005-all.csv

Código[editar]

  • Licencia: GPL
  • Autor: emijrp
# -*- coding: utf-8  -*-

import wikipedia
import re

#cvs
evol={}
f=open('cvseeuu.cvs', 'r')
for line in f:
	line=line[:len(line)-1]
	m=re.findall(ur'(?m)^([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*)$', line)
	#SUMLEV,state,county,PLACE,cousub,NAME,STATENAME,POPCENSUS_2000,POPBASE_2000,POP_2000,POP_2001,POP_2002,POP_2003,POP_2004,POP_2005
	#157,06,041,68364,00000,San Rafael city,California,56063,56063,56147,56359,56239,55892,55535,55716

	if m:
		item=[m[0][0], m[0][1], m[0][2], m[0][3], m[0][4], m[0][5], m[0][6], m[0][7], m[0][8], m[0][9], m[0][10], m[0][11], m[0][12], m[0][13], m[0][14]]
		if evol.has_key(m[0][6]):
			evol[m[0][6]].append(item)
		else:
			evol[m[0][6]]=[item]
f.close()

print str(len(evol.items()))+' estados'
for k, v in evol.items():
	print k+' '+str(len(v))+' items'

states={u'Alabama': u'Alabama', u'Alaska': u'Alaska', u'Arizona': u'Arizona', u'Arkansas': u'Arkansas', u'California': u'California', u'North Carolina': u'Carolina del Norte', u'South Carolina': u'Carolina del Sur', u'Colorado': u'Colorado', u'Connecticut': u'Connecticut', u'North Dakota': u'Dakota del Norte', u'South Dakota': u'Dakota del Sur', u'Delaware': u'Delaware', u'Florida': u'Florida', u'Georgia': u'Georgia', u'Hawaii': u'Hawái', u'Idaho': u'Idaho', u'Illinois': u'Illinois', u'Indiana': u'Indiana', u'Iowa': u'Iowa', u'Kansas': u'Kansas', u'Kentucky': u'Kentucky', u'Louisiana': u'Luisiana', u'Maine': u'Maine', u'Maryland': u'Maryland', u'Massachusetts': u'Massachusetts', u'Michigan': u'Míchigan', u'Minnesota': u'Minnesota', u'Mississippi': u'Misisipi', u'Missouri': u'Misuri', u'Montana': u'Montana', u'Nebraska': u'Nebraska', u'Nevada': u'Nevada', u'New Jersey': u'Nueva Jersey', u'New York': u'Nueva York', u'New Hampshire': u'Nuevo Hampshire', u'New Mexico': u'Nuevo México', u'Ohio': u'Ohio', u'Oklahoma': u'Oklahoma', u'Oregon': u'Oregón', u'Pennsylvania': u'Pensilvania', u'Rhode Island': u'Rhode Island', u'Tennessee': u'Tennessee', u'Texas': u'Texas', u'Utah': u'Utah', u'Vermont': u'Vermont', u'Virginia': u'Virginia', u'West Virginia': u'Virginia Occidental', u'Washington': u'Washington', u'Wisconsin': u'Wisconsin', u'Wyoming': u'Wyoming'}

def convert(num):
	return re.sub(ur'\.', ur',', re.sub(ur'[, ]', ur'', num))

informe=u''
list=[]
f=open('ramtest.txt', 'r')
for line in f:
	list.append(line[:len(line)-1])
f.close()

for title in list:
	informe+=u'\n* [[:en:%s|%s]]:' % (title, title)
	wikipedia.output(u'%s\n%s\n' % ('-'*70, title))
	page=wikipedia.Page(wikipedia.Site('en', 'wikipedia'), title)
	
	#comprobamos si existe en es:
	iws=page.interwiki()
	es=u''
	nl=u''
	for iw in iws:
		if iw.site().lang=='es':
			es=iw.title()
			wikipedia.output(u'Supuestamente existe en es: ya')
		if iw.site().lang=='nl':
			nl=iw.title()
	iws.append(page)
	iws.sort()
	
	#cogemos mapa actual
	mapa=u''
	skyline=u''
	map=u''
	elevation=u''
	lasttext=page.get()
	m=re.findall(ur'(?m)^\|? *image[ _]skyline *= *(.*?) *\|?$', lasttext)
	if m:
		skyline=m[0]
	else:
		wikipedia.output(u'No hay skiline')
		#continue
	m=re.findall(ur'(?m)^\|? *image[ _]map *= *(.*?) *\|?$', lasttext)
	if m:
		map=m[0]
	else:
		wikipedia.output(u'No hay mapa')
		informe+=u' No hay mapa.'
		continue
	m=re.findall(ur'(?m)^\|? *elevation_m *= *(\d*?) *\|?$', lasttext)
	if m:
		elevation=m[0]
	else:
		wikipedia.output(u'No hay elevacion')
		#continue
	
	vh=page.getVersionHistory(reverseOrder = True, revCount = 100)
	oldid=''
	for i in vh:
		if i[2]=='Rambot' and re.search(r'December 2004', i[1]):
			oldid=i[0] #machacamos hasta las del ~20 diciembre 2004
			print i
	
	#text=page.getEditPage(oldid=oldid)[0]
	text=page.getOldVersion(oldid)
	#'''Gayville''' is a town located in [[Yankton County, South Dakota]].  As of the [[2000]] census, the town had a total population of 418.
	#'''Prattville''' is a city located in [[Autauga County, Alabama]] and partially in [[Elmore County, Alabama|Elmore County, Alabama]]
	
	#introduccion
	name=u''
	type=u'localidad'
	located_in=u''
	located_in2=u''
	census=u''
	population=u''
	m=re.findall(ur'(?i)\'{3}([^\']*?)\'{3} is a (.*?) located in \[\[([^|]*?)(\|[^\]]*?)?\]\] and partially in \[\[([^|]*?)(\|[^\]]*?)?\]\].*?As of the \[\[(\d+)\]\] census[^\[]*had a total population of ([\d\, ]+)\.', text)
	if m:
		name=m[0][0]
		#type=m[0][1]
		located_in=m[0][2]
		located_in2=m[0][4]
		census=m[0][6]
		population=convert(m[0][7])
	else:
		m=re.findall(ur'(?i)\'{3}([^\']*?)\'{3} is a (.*?) located in \[\[([^|]*?)(\|[^\]]*?)?\]\].*?As of the \[\[(\d+)\]\] census[^\[]*had a total population of ([\d\, ]+)\.', text)
		if m:
			name=m[0][0]
			#type=m[0][1]
			located_in=m[0][2]
			census=m[0][4]
			population=convert(m[0][5])
		else:
			wikipedia.output(u'Regex no valida. Saltamos articulo')
			informe+=u' Hubo un error con una de las regex o no se encontraron todos los datos.'
			continue
	
	population=re.sub(r'\,| ', r'', population)
	if int(population)>=50000:
		type=u'ciudad'
	
	county=re.sub(r'(?i) county| ?\,.+', r'', located_in)
	county_st=re.sub(r'(?i).+, ', r'', located_in)
	county2=re.sub(r'(?i) county| ?\,.+', r'', located_in2)
	county2_st=re.sub(r'(?i).+, ', r'', located_in2)
	
	#geografia
	latdeg=u''
	latmin=u''
	latsec=u''
	londeg=u''
	lonmin=u''
	lonsec=u''
	m=re.findall(ur'(?i)is located at (\d+)\°(\d+)\'(\d+)" North, (\d+)\°(\d+)\'(\d+)" West', text)
	if m:
		latdeg=m[0][0]
		latmin=m[0][1]
		latsec=m[0][2]
		londeg=m[0][3]
		lonmin=m[0][4]
		lonsec=m[0][5]
	else:
		wikipedia.output(u'Regex -1 no valida. Saltamos articulo')
		informe+=u' Error regex -1.'
		continue
	#Gayville is located at 42°53'21" North, 97°10'23" West (42.889201, -97.173011){{GR|1}}.

	totalarea=u''
	totalareasq=u''
	landarea=u''
	landareasq=u''
	waterarea=u''
	waterareasq=u''
	waterpercent=u''
	m=re.findall(ur'(?i)According to the \[\[United States Census Bureau\]\], the .*? has a total area of ([\d\.\, ]+) \[\[square kilometer\|km\²\]\] \(([\d\.\, ]+) \[\[square mile\|mi\²\]\]\)\. +([\d\.\, ]+) km\² \(([\d\.\, ]+) mi\²\) of it is land and ([\d\.\, ]+) km\² \(([\d\.\, ]+) mi\²\) of it is water\. +The total area is ([\d\.\, ]+\%) water\.', text)
	if m:
		totalarea=convert(m[0][0])
		totalareasq=convert(m[0][1])
		landarea=convert(m[0][2])
		landareasq=convert(m[0][3])
		waterarea=convert(m[0][4])
		waterareasq=convert(m[0][5])
		waterpercent=convert(m[0][6])
	else:
		m=re.findall(ur'(?i)According to the \[\[United States Census Bureau\]\], the .*? has a total area of ([\d\.\, ]+) \[\[square kilometer\|km\²\]\] \(([\d\.\, ]+) \[\[square mile\|mi\²\]\]\)\. +([\d\.\, ]+) km\² \(([\d\.\, ]+) mi\²\) of it is land and none of the area is covered with water\.', text)
		if m:
			totalarea=convert(m[0][0])
			totalareasq=convert(m[0][1])
			landarea=convert(m[0][2])
			landareasq=convert(m[0][3])
			waterarea=convert('0.0')
			waterareasq=convert('0.0')
			waterpercent=convert('0.0')
		else:
			wikipedia.output(u'Regex 0 no valida. Saltamos articulo')
			informe+=u' Error regex 0.'
			continue
		
	#According to the [[United States Census Bureau]], the town has a total area of 0.5 [[square kilometer|km²]] (0.2 [[square mile|mi²]]).  0.5 km² (0.2 mi²) of it is land and none of the area is covered with water.

	#According to the [[United States Census Bureau]], the city has a total area of 28.1 [[square kilometer|km²]] (10.8 [[square mile|mi²]]).  27.6 km² (10.7 mi²) of it is land and 0.5 km² (0.2 mi²) of it is water.  The total area is 1.66% water.
	
	#demografia
	template=u''
	censusd=u''
	people=u''
	households=u''
	families=u''
	density=u''
	densitymi=u''
	housingunits=u''
	densityhu=u''
	densityhumi=u''
	white=u''
	african=u''
	native=u''
	asian=u''
	pacific=u''
	otherraces=u''
	twoormore=u''
	hispanicorlatino=u''
	
	m=re.findall(ur'(?i)As of the \[\[census\]\](\{\{.+\|.+\}\}) of \[\[(\d+)\]\], there are ([\d\, ]+) people, ([\d\, ]+) households, and ([\d\, ]+) families residing in the .*?The \[\[population density\]\] is ([\d\,\. ]+)/km\² \(([\d\,\. ]+)/mi\²\).*?There are ([\d\, ]+) housing units at an average density of ([\d\,\. ]+)/km\² \(([\d\,\. ]+)/mi²\).*?The racial makeup of the .*? is ([\d\. ]+\%) \[\[White \(U.S. Census\)\|White\]\], ([\d\. ]+\%) \[\[African American \(U.S. Census\)\|African American\]\], ([\d\. ]+\%) \[\[Native American \(U.S. Census\)\|Native American\]\], ([\d\. ]+\%) \[\[Asian \(U.S. Census\)\|Asian\]\], ([\d\. ]+\%) \[\[Pacific Islander \(U.S. Census\)\|Pacific Islander\]\], ([\d\. ]+\%) from \[\[Race \(U.S. Census\)\|other races\]\], and ([\d\. ]+\%) from two or more races. +([\d\. ]+\%) of the population are \[\[Hispanic \(U.S. Census\)\|Hispanic\]\] or \[\[Latino \(U.S. Census\)\|Latino\]\] of any race\.', text)
	if m:
		template=m[0][0]
		censusd=m[0][1]
		people=convert(m[0][2])
		households=convert(m[0][3])
		families=convert(m[0][4])
		density=convert(m[0][5])
		densitymi=convert(m[0][6])
		housingunits=convert(m[0][7])
		densityhu=convert(m[0][8])
		densityhumi=convert(m[0][9])
		white=convert(m[0][10])
		african=convert(m[0][11])
		native=convert(m[0][12])
		asian=convert(m[0][13])
		pacific=convert(m[0][14])
		otherraces=convert(m[0][15])
		twoormore=convert(m[0][16])
		hispanicorlatino=convert(m[0][17])
	else:
		wikipedia.output(u'Regex 1 no valida. Saltamos articulo')
		informe+=u' Error regex 1.'
		continue
	
	
	#As of the [[census]]{{GR|2}} of [[2000]], there are 296 people, 118 households, and 73 families residing in the city.  The [[population density]] is 187.4/km² (482.6/mi²).  There are 138 housing units at an average density of 87.3/km² (225.0/mi²).  The racial makeup of the city is 96.62% [[White (U.S. Census)|White]], 0.00% [[African American (U.S. Census)|African American]], 1.35% [[Native American (U.S. Census)|Native American]], 0.34% [[Asian (U.S. Census)|Asian]], 0.00% [[Pacific Islander (U.S. Census)|Pacific Islander]], 0.00% from [[Race (U.S. Census)|other races]], and 1.69% from two or more races.  0.00% of the population are [[Hispanic (U.S. Census)|Hispanic]] or [[Latino (U.S. Census)|Latino]] of any race.

	"""group1=u''
	group2=u''
	group3=u''
	group4=u''
	group5=u''
	group6=u''
	m=re.findall(ur'', text)
	if m:
		
	else:
		wikipedia.output(u'No se encontraron los 6 grupos, pero seguimos')
		#continue"""
	#The top 6 ancestry groups in the city are [[Norway|Norwegian]] (54.4%), [[Germany|German]] (41.9%), [[Ireland|Irish]] (12.8%), [[Sweden|Swedish]] (12.2%), [[England|English]] (7.4%), [[Czech Republic|Czech]] (6.8%).
	
	
	households2=u''
	havechildren=u''
	marriedcouples=u''
	femalehouseholder=u''
	nonfamilies=u''
	individuals=u''
	alone=u''
	householdsizeavg=u''
	familyavg=u''
	
	m=re.findall(ur'(?i)There are ([\d\, ]+) households out of which ([\d\. ]+\%) have children under the age of 18 living with them, ([\d\. ]+\%) are \[\[Marriage\|married couples\]\] living together, ([\d\. ]+\%) have a female householder with no husband present, and ([\d\. ]+\%) are non-families\. +([\d\. ]+\%) of all households are made up of individuals and ([\d\. ]+\%) have someone living alone who is 65 years of age or older\. +The average household size is ([\d\. ]+) and the average family size is ([\d\. ]+)\.', text)
	if m:
		households2=convert(m[0][0])
		havechildren=convert(m[0][1])
		marriedcouples=convert(m[0][2])
		femalehouseholder=convert(m[0][3])
		nonfamilies=convert(m[0][4])
		individuals=convert(m[0][5])
		alone=convert(m[0][6])
		householdsizeavg=convert(m[0][7])
		familyavg=convert(m[0][8])
	else:
		wikipedia.output(u'Regex 2 no valida. Saltamos articulo')
		informe+=u' Error regex 2.'
		continue

	#There are 118 households out of which 35.6% have children under the age of 18 living with them, 54.2% are [[Marriage|married couples]] living together, 5.1% have a female householder with no husband present, and 38.1% are non-families. 33.1% of all households are made up of individuals and 9.3% have someone living alone who is 65 years of age or older.  The average household size is 2.51 and the average family size is 3.27.
	
	underage=u''
	to24=u''
	to44=u''
	to64=u''
	older=u''
	medianage=u''
	for100females=u''
	for100females18=u''
	
	m=re.findall(ur'(?i)In the .*? the population is spread out with ([\d\. ]+\%) under the age of 18, ([\d\. ]+\%) from 18 to 24, ([\d\. ]+\%) from 25 to 44, ([\d\. ]+\%) from 45 to 64, and ([\d\. ]+\%) who are 65 years of age or older.*? The median age is (\d+) years. +For every 100 females there are ([\d\,\. ]+) males.*?For every 100 females age 18 and over, there are ([\d\,\. ]+) males.', text)
	if m:
		underage=convert(m[0][0])
		to24=convert(m[0][1])
		to44=convert(m[0][2])
		to64=convert(m[0][3])
		older=convert(m[0][4])
		medianage=m[0][5]
		for100females=convert(m[0][6])
		for100females18=convert(m[0][7])
	else:
		wikipedia.output(u'Regex 3 no valida. Saltamos articulo')
		informe+=u' Error regex 3.'
		continue
	
	#In the city the population is spread out with 32.1% under the age of 18, 6.4% from 18 to 24, 31.8% from 25 to 44, 18.9% from 45 to 64, and 10.8% who are 65 years of age or older.  The median age is 33 years.  For every 100 females there are 124.2 males.  For every 100 females age 18 and over, there are 113.8 males.

	medianincome=u''
	medianincomefam=u''
	malesincome=u''
	femalesincome=u''
	percapitaincome=u''
	povertypop=u''
	povertyfam=u''
	povertypopunder18=u''
	povertypopolder=u''
	
	m=re.findall(ur'(?i)The median income for a household in the city is \$([\d\,\. ]+)\, and the median income for a family is \$([\d\,\. ]+)\. Males have a median income of \$([\d\,\. ]+) versus \$([\d\,\. ]+) for females. The \[\[per capita income\]\] for the city is \$([\d\,\. ]+)\. +([\d\. ]+\%) of the population and ([\d\. ]+\%) of families are below the \[\[poverty line\]\].*?Out of the total population, ([\d\. ]+\%) of those under the age of 18 and ([\d\. ]+\%) of those 65 and older are living below the poverty line\.', text)
	if m:
		medianincome=convert(m[0][0])
		medianincomefam=convert(m[0][1])
		malesincome=convert(m[0][2])
		femalesincome=convert(m[0][3])
		percapitaincome=convert(m[0][4])
		povertypop=convert(m[0][5])
		povertyfam=convert(m[0][6])
		povertypopunder18=convert(m[0][7])
		povertypopolder=convert(m[0][8])
	else:
		wikipedia.output(u'Regex 4 no valida. Saltamos articulo')
		informe+=u' Error regex 4.'
		continue
	
	#The median income for a household in the city is $34,167, and the median income for a family is $37,125. Males have a median income of $30,000 versus $17,321 for females. The [[per capita income]] for the city is $13,911.  13.8% of the population and 8.8% of families are below the [[poverty line]].  Out of the total population, 19.5% of those under the age of 18 and 0.0% of those 65 and older are living below the poverty line.
	
	
	#sitio oficial
	website=u''
	m=re.findall(ur'(?i)\* *\[(http://[^\] ]+) +.*official (web)?site.*\]', lasttext)
	if m:
		website=m[0][0]
	
	#coordenadas
	m=re.findall(ur'(?i)\{\{ *(Mapit-US-cityscale|Geolinks-US-cityscale) *\| *([^| ]+) *\| *([^\} ]+) *\}\}', text)
	lat=u''
	lon=u''
	if m:
		lat=m[0][1]
		lon=m[0][2]
	else:
		wikipedia.output(u'No hay coordenadas. Saltamos articulo')
		informe+=u' No hay coordenadas.'
		continue
	
	#categorias
	founded=u''
	m=re.findall(ur'(?i)\[\[ *Category *: *Settlements established in (\d{4}) *\]\]', lasttext)
	if m:
		founded=m[0]
	
	#circulos
	circulos=u''
	if nl:
		pagenl=wikipedia.Page(wikipedia.Site('nl', 'wikipedia'), nl)
		if pagenl.exists() and not page.isRedirectPage() and not page.isDisambig():
			nltext=pagenl.get()
			circulos=(nltext.split('<div style="position: relative; float:left; width:500px;">')[1]).split('</div><br clear=left>')[0]
			circulos='<div style="position: relative; float:left; width:500px;">'+circulos+'</div><br clear=left>'
			circulos=re.sub(ur'(?i)\[\[(Image|Afbeelding):', ur'[[Imagen:', circulos)
			circulos=re.sub(ur'Plaatsen in de omgeving', ur'Lugares próximos', circulos)
			circulos=re.sub(ur'\{\{ *Afbeelding label', ur'{{Image label', circulos)
			circulos=re.sub(ur'Plaats met (\d+) inwoners', ur'\1 habitantes', circulos)
			for k, v in states.items():
				circulos=re.sub(ur'(<small>\[\[[^|]* \()%s(\)\|[^\]]*\]\] \(\d+ km\)</small>)' % k, ur'\1%s\2' % v, circulos)
	else:
		wikipedia.output(u'No existe en nl:')
	
	salida=u'{{Botopedia cruda}}'
	#salida infobox
	salida+=u'\n{{Infobox ciudad Estados Unidos\n| nombre = %s, %s' % (name, states[county_st])
	salida+=u'\n| imagen_bandera = \n| imagen_escudo = '
	salida+=u'\n| imagen = '
	if skyline:
		salida+=u'[[Imagen:%s|250x200px]]' % (skyline)
	if county2:
		if county_st==county2_st:
			salida+=u'[[Imagen:%s|250px|Localización de %s entre los condados de [[Condado de %s (%s)|%s]] y [[Condado de %s (%s)|%s]], [[%s]]]]' % (map, name, county, states[county_st], county, county2, states[county2_st], county2, states[county_st])
		else:
			salida+=u'[[Imagen:%s|250px|Localización de %s entre los condados de [[Condado de %s (%s)|%s]], [[%s]] y [[Condado de %s (%s)|%s]], [[%s]]]]' % (map, name, county, states[county_st], county, states[county_st], county2, states[county2_st], county2, states[county_st])
			informe+=u' \'\'\'Está en dos estados distintos\'\'\'.'
	else:
		salida+=u'[[Imagen:%s|250px|Localización de %s en el [[Condado de %s (%s)|Condado de %s]], [[%s]]]]' % (map, name, county, states[county_st], county, states[county_st])
	salida+=u'\n| estado = %s' % (states[county_st])
	if county2:
		salida+=u'\n| condado = [[Condado de %s (%s)|%s]] y [[Condado de %s (%s)|%s]]' % (county, states[county_st], county, county2, states[county2_st], county2)
	else:
		salida+=u'\n| condado = [[Condado de %s (%s)|%s]]' % (county, states[county_st], county)
	salida+=u'\n| latitud = %s' % lat
	salida+=u'\n| longitud = %s' % lon
	salida+=u'\n| altitud = %s' % elevation
	salida+=u'\n| distancia = '
	salida+=u'\n| superficie = %s' % (totalarea)
	salida+=u'\n| superficie_tierra = %s' % (landarea)
	salida+=u'\n| superficie_agua = %s' % (waterarea) #si esta vacio no pasa nada
	salida+=u'\n| población = %s' % (population)
	salida+=u'\n| densidad = %s' % (density)
	salida+=u'\n| censo = %s' % (census)
	if int(founded)>1000:
		salida+=u'\n| fundación = [[%s]]' % (founded)
	else:
		salida+=u'\n| fundación = '
	salida+=u'\n| web = %s' % (website)
	salida+=u'\n}}'
	
	#salida intro
	if county2:
		if county_st==county_st:
			salida+=u'\n\n\'\'\'%s\'\'\' es una %s del [[Condado de %s (%s)|Condado de %s]] y parcialmente en el [[Condado de %s (%s)|Condado de %s]], [[%s]], [[Estados Unidos]].' % (name, type, county, states[county_st], county, county2, states[county_st2], county2, states[county_st])
		else:
			salida+=u'\n\n\'\'\'%s\'\'\' es una %s del [[Condado de %s (%s)|Condado de %s]], [[%s]] y parcialmente en el [[Condado de %s (%s)|Condado de %s]], [[%s]], [[Estados Unidos]].' % (name, type, county, states[county_st], county, states[county_st], county2, states[county_st2], county2, states[county_st2])
	else:
		salida+=u'\n\n\'\'\'%s\'\'\' es una %s del [[Condado de %s (%s)|Condado de %s]], [[%s]], [[Estados Unidos]].' % (name, type, county, states[county_st], county, states[county_st])
	salida+=u' Según el [[Censo de los Estados Unidos del 2000|censo de %s]] tenía una población de {{subst:formatnum:%s}} habitantes.' % (census, population)
	
	#salida historia
	if int(founded)>1000:
		salida+=u'\n\n== Historia =='
		salida+=u'\nLa %s se fundó en el año [[%s]].' % (type, founded)
	
	#salida demografia
	salida+=u'\n\n== Demografía =='
	salida+=u'\nSegún el [[Censo de los Estados Unidos del 2000|censo de %s]],%s había {{subst:formatnum:%s}} personas, {{subst:formatnum:%s}} hogares y {{subst:formatnum:%s}} familias residiendo en la %s.' % (censusd, template, people, households, families, type)
	salida+=u' La [[densidad de población]] era de %s hab./km².' % (density)
	salida+=u' Había {{subst:formatnum:%s}} viviendas con una densidad media de %s viviendas/km².' % (housingunits, densityhu)
	salida+=u' El %s de los habitantes eran [[Raza (censo de los Estados Unidos)|blancos]], el %s [[Raza (censo de los Estados Unidos)|afroamericanos]], el %s [[Raza (censo de los Estados Unidos)|amerindios]], el %s [[Raza (censo de los Estados Unidos)|asiáticos]], el %s [[Raza (censo de los Estados Unidos)|isleños del Pacífico]], el %s de [[Raza (censo de los Estados Unidos)|otras razas]] y el %s pertenecia a dos o más razas.' % (white, african, native, asian, pacific, otherraces, twoormore)
	salida+=u' El %s de la población eran [[Grupos étnicos (Censo de los Estados Unidos)|hispanos]] o [[Grupos étnicos (Censo de los Estados Unidos)|latinos]] de cualquier raza.' % (hispanicorlatino)
	salida+=u'\n\nSegún el censo, de los {{subst:formatnum:%s}} hogares en el %s había menores de 18 años, el %s pertenecía a [[matrimonio|parejas casadas]], el %s tenía a una mujer como cabeza de familia, y el %s no eran familias. El %s de los hogares estaba compuesto por un único individuo, y el %s pertenecía a alguien mayor de 65 años viviendo solo. El tamaño promedio de los hogares era de %s personas, y el de las familias de %s.' % (households2, havechildren, marriedcouples, femalehouseholder, nonfamilies, individuals, alone, householdsizeavg, familyavg)
	salida+=u'\n\nLa población estaba distribuida en un %s de habitantes menores de 18 años, un %s entre 18 y 24 años, un %s de 25 a 44, un %s de 45 a 64, y un %s de 65 años o mayores. La media de edad era %s años. Por cada 100 mujeres había %s hombres. Por cada 100 mujeres de 18 años o más, había %s hombres.' % (underage, to24, to44, to64, older, medianage, for100females, for100females18)
	salida+=u'\n\nLos ingresos medios por hogar en la %s eran de {{subst:formatnum:%s}} [[Dólar estadounidense|$]], y los ingresos medios por familia eran {{subst:formatnum:%s}} $. Los hombres tenían unos ingresos medios de {{subst:formatnum:%s}} $ frente a los {{subst:formatnum:%s}} $ para las mujeres. La [[renta per cápita]] para la ciudad era de {{subst:formatnum:%s}} $. El %s de la población y el %s de las familias estaban por debajo del [[umbral de pobreza]]. El %s de los menores de 18 años y el %s de los habitantes de 65 años o más vivían por debajo del umbral de pobreza.' % (type, medianincome, medianincomefam, malesincome, femalesincome, percapitaincome, povertypop, povertyfam, povertypopunder18, povertypopolder)
	
	#evolucion demografica
	for item in evol[county_st]:
		#print item
		if re.search(ur'%s (town|city|township)' % name, item[5]) and item[7]==population:
			salida+=u'\n\n=== Evolución demográfica ==='
			salida+=u'\n{{Demography 6col|300px|2000|2001|2002|2003|2004|2005|%s|%s|%s|%s|%s|%s|ref={{CENSOEEUU2005}}}}' % (item[9], item[10], item[11], item[12], item[13], item[14])
			break
	
	#salida geografia
	salida+=u'\n\n== Geografía =='
	#salida+=u'\nLa %s de %s está situada a %sº %s\' %s" Norte, %sº %s\' %s" Oeste.{{GR|1}}' % (type, name, latdeg, latmin, latsec, londeg, lonmin, lonsec)
	if waterarea!='0,0':
		salida+=u'\nSegún la [[Oficina del Censo de los Estados Unidos]], la %s tiene un área total de %s [[Kilómetro cuadrado|km²]] de los cuales %s km² corresponden a tierra firme y %s km² a agua. El porcentaje total de superficie con agua es %s.' % (type, totalarea, landarea, waterarea, waterpercent)
	else:
		salida+=u'\nSegún la [[Oficina del Censo de los Estados Unidos]], la %s tiene un área total de %s [[Kilómetro cuadrado|km²]] de los cuales %s km² corresponden a tierra firme y nada a agua.' % (type, totalarea, landarea)
	
	if circulos:
		salida+=u'\n\n=== Lugares próximos ===\n%s' % circulos
	
	
	#salida refs
	salida+=u'\n\n== Referencias ==\n{{listaref}}'

	#salida sitio oficial
	if website:
		salida+=u'\n\n== Enlaces externos ==\n'
		salida+=u'* [%s Sitio oficial]' % website
	
	#salida esb
	salida+=u'\n\n{{esbozo|geografía de Estados Unidos}}\n'
	
	#salida cats
	for k, v in [[county, county_st], [county2, county2_st]]:
		if k and v:
			salida+=u'\n[[Categoría:Condado de %s (%s)]]' % (k, states[v])
			condapage=wikipedia.Page(wikipedia.Site('es', 'wikipedia'), u'Categoría:Condado de %s (%s)' % (k, states[v]))
			if not condapage.exists():
				tmp=wikipedia.Page(wikipedia.Site('en', 'wikipedia'), u'Category:%s County, %s' % (k, v))
				iwslist=[]
				if tmp.exists():
					iwslist=tmp.interwiki()
					iwslist.append(tmp)
				iwstext=u''
				for iw in iwslist:
					if iw.site().lang!='es':
						iwstext+=u'[[%s:%s]]\n' % (iw.site().lang, iw.title())
				condapage.put(u'{{catmás}}\n\n[[Categoría:Condados de %s]]\n\n%s' % (states[v], iwstext), u'BOT - Creando categoría de apoyo a localidades/ciudades de [[Estados Unidos]]')
	
	if founded:
		salida+=u'\n[[Categoría:Establecimientos de %s]]' % founded
		establepage=wikipedia.Page(wikipedia.Site('es', 'wikipedia'), u'Categoría:Establecimientos de %s' % founded)
		if not establepage.exists():
			tmp=wikipedia.Page(wikipedia.Site('en', 'wikipedia'), u'Category:%s establishments' % founded)
			iwslist=[]
			if tmp.exists():
				iwslist=tmp.interwiki()
				iwslist.append(tmp)
			iwstext=u''
			for iw in iwslist:
				if iw.site().lang!='es':
					iwstext+=u'[[%s:%s]]\n' % (iw.site().lang, iw.title())
			establepage.put(u'{{estcat|%s|%s|%s|%s}}\n\n%s' % (founded[:len(founded)-1], founded[len(founded)-1], str(int(founded)-1), str(int(founded)+1), iwstext), u'BOT - Creando categoría de apoyo a localidades/ciudades de [[Estados Unidos]]')
	
	salida+=u'\n[[Categoría:Localidades de %s]]' % states[county_st]
	
	#salida interwikis
	salida+=u'\n\n'
	for i in iws:
		if i.site().lang!='es':
			salida+=u'[[%s:%s]]\n' % (i.site().lang, i.title())
	
	wikipedia.output(salida)
	print len(salida)
	#continue
	
	if es:
		enviar=wikipedia.Page(wikipedia.Site('es', 'wikipedia'), es)
		enviarvh=enviar.getVersionHistory(revCount=10)
		sobreescribir=True
		for vhh in enviarvh:
			if vhh[2]!='BOTijo' and vhh[2]!='Emijrp':
				sobreescribir=False
		if sobreescribir:
			enviar.put(salida, u'BOT - Creando artículo de localidad/ciudad del estado de [[%s]], [[Estados Unidos]]' % (states[county_st]))
			informe+=u' Se ha creado en [[%s]].' % enviar.title()
		else:
			enviar=wikipedia.Page(wikipedia.Site('es', 'wikipedia'), u'Talk:%s' % es)
			if enviar.exists():
				enviar.put(u'%s\n\n= Nueva versión =\n%s' % (enviar.get(), salida), u'BOT - Nueva versión')
			else:
				enviar.put(u'= Nueva versión =\n%s' % salida, u'BOT - Nueva versión')
			informe+=u' Ya existía, la nueva versión en [[%s]].' % enviar.title()
	else:
		enviar=wikipedia.Page(wikipedia.Site('es', 'wikipedia'), name)
		if enviar.exists():
			if enviar.isRedirectPage():
				enviar=wikipedia.Page(wikipedia.Site('es', 'wikipedia'), u'Talk:%s' % name)
				if enviar.exists():
					enviar.put(u'%s\n\n= Nueva versión =\n%s' % (enviar.get(), salida), u'BOT - Nueva versión')
				else:
					enviar.put(u'= Nueva versión =\n%s' % salida, u'BOT - Nueva versión')
				informe+=u' Estorba una redirección, se ha creado en [[%s]].' % enviar.title()
			elif enviar.isDisambig():
				informe+=u' En [[%s]] hay una desambiguación.' % enviar.title()
				enviar=wikipedia.Page(wikipedia.Site('es', 'wikipedia'), u'%s (%s)' % (name, states[county_st]))
				if enviar.exists():
					enviarvh=enviar.getVersionHistory(revCount=10)
					sobreescribir=True
					for vhh in enviarvh:
						if vhh[2]!='BOTijo' and vhh[2]!='Emijrp':
							sobreescribir=False
					if sobreescribir:
						enviar.put(salida, u'BOT - Creando artículo de localidad/ciudad del estado de [[%s]], [[Estados Unidos]]' % (states[county_st]))
						informe+=u' Se ha creado en [[%s]].' % enviar.title()
					else:
						enviar=wikipedia.Page(wikipedia.Site('es', 'wikipedia'), u'Talk:%s (%s)' % (name, states[county_st]))
						if enviar.exists():
							enviar.put(u'%s\n\n= Nueva versión =\n%s' % (enviar.get(), salida), u'BOT - Nueva versión')
						else:
							enviar.put(u'= Nueva versión =\n%s' % salida, u'BOT - Nueva versión')
					informe+=u' Ya existía, la nueva versión en [[%s]].' % enviar.title()
				else:
					enviar.put(salida, u'BOT - Creando artículo de localidad/ciudad del estado de [[%s]], [[Estados Unidos]]' % (states[county_st]))
					informe+=u' Se ha creado en [[%s]].' % enviar.title()
			else:
				enviarvh=enviar.getVersionHistory(revCount=10)
				sobreescribir=True
				for vhh in enviarvh:
					if vhh[2]!='BOTijo' and vhh[2]!='Emijrp':
						sobreescribir=False
				if sobreescribir:
					enviar.put(salida, u'BOT - Creando artículo de localidad/ciudad del estado de [[%s]], [[Estados Unidos]]' % (states[county_st]))
					informe+=u' Se ha creado en [[%s]].' % enviar.title()
				else:
					enviar=wikipedia.Page(wikipedia.Site('es', 'wikipedia'), u'Talk:%s' % name)
					if enviar.exists():
						enviar.put(u'%s\n\n= Nueva versión =\n%s' % (enviar.get(), salida), u'BOT - Nueva versión')
					else:
						enviar.put(u'= Nueva versión =\n%s' % salida, u'BOT - Nueva versión')
					informe+=u' Ya existía algo en [[%s]], se ha publicado en [[%s]].' % (name, enviar.title())
		else:
			enviar.put(salida, u'BOT - Creando artículo de localidad/ciudad del estado de [[%s]], [[Estados Unidos]]' % (states[county_st]))
			informe+=u' Se ha creado en [[%s]].' % enviar.title()
	
	wikipedia.output(informe)

pinforme=wikipedia.Page(wikipedia.Site('es', 'wikipedia'), u'Usuario:BOTijo/Informe/%s' % states[county_st])
pinforme.put(informe, u'BOT - Generando informe para [[%s]]' % states[county_st])