<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://lunarpedia.org/index.php?action=history&amp;feed=atom&amp;title=Lunarpedia_talk%3AAutostub2</id>
	<title>Lunarpedia talk:Autostub2 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://lunarpedia.org/index.php?action=history&amp;feed=atom&amp;title=Lunarpedia_talk%3AAutostub2"/>
	<link rel="alternate" type="text/html" href="https://lunarpedia.org/index.php?title=Lunarpedia_talk:Autostub2&amp;action=history"/>
	<updated>2026-05-31T18:31:56Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>https://lunarpedia.org/index.php?title=Lunarpedia_talk:Autostub2&amp;diff=4329&amp;oldid=prev</id>
		<title>Strangelv: pasted source code for test 7 (warning: kind of sloppy right now)</title>
		<link rel="alternate" type="text/html" href="https://lunarpedia.org/index.php?title=Lunarpedia_talk:Autostub2&amp;diff=4329&amp;oldid=prev"/>
		<updated>2007-02-09T08:06:05Z</updated>

		<summary type="html">&lt;p&gt;pasted source code for test 7 (warning: kind of sloppy right now)&lt;/p&gt;
&lt;a href=&quot;//lunarpedia.org/index.php?title=Lunarpedia_talk:Autostub2&amp;amp;diff=4329&amp;amp;oldid=4298&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Strangelv</name></author>
		
	</entry>
	<entry>
		<id>https://lunarpedia.org/index.php?title=Lunarpedia_talk:Autostub2&amp;diff=4298&amp;oldid=prev</id>
		<title>Strangelv: replaced source code with version that produced test 3</title>
		<link rel="alternate" type="text/html" href="https://lunarpedia.org/index.php?title=Lunarpedia_talk:Autostub2&amp;diff=4298&amp;oldid=prev"/>
		<updated>2007-02-08T23:17:15Z</updated>

		<summary type="html">&lt;p&gt;replaced source code with version that produced test 3&lt;/p&gt;
&lt;a href=&quot;//lunarpedia.org/index.php?title=Lunarpedia_talk:Autostub2&amp;amp;diff=4298&amp;amp;oldid=3995&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Strangelv</name></author>
		
	</entry>
	<entry>
		<id>https://lunarpedia.org/index.php?title=Lunarpedia_talk:Autostub2&amp;diff=3995&amp;oldid=prev</id>
		<title>Strangelv: source code for script</title>
		<link rel="alternate" type="text/html" href="https://lunarpedia.org/index.php?title=Lunarpedia_talk:Autostub2&amp;diff=3995&amp;oldid=prev"/>
		<updated>2007-02-02T18:51:19Z</updated>

		<summary type="html">&lt;p&gt;source code for script&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Database==&lt;br /&gt;
&lt;br /&gt;
[[User:Jarogers2001|James Rogers]] is working on improving the data set. -- [[User:Strangelv|Strangelv]] 10:51, 2 February 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Source Code==&lt;br /&gt;
&lt;br /&gt;
Revision as of Test 2, with successful generation of an XML file for importation. Please note that the &amp;amp;lt;PRE&amp;amp;gt; tag fails to stop the ampersand markup from being converted into symbols that the importer will choke on if the code is run as is. -- [[User:Strangelv|Strangelv]] 10:51, 2 February 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TT&amp;gt;&amp;lt;PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#&lt;br /&gt;
#                             #&lt;br /&gt;
# Element Autostub Generator  #&lt;br /&gt;
#                             #&lt;br /&gt;
# Public Domain               #&lt;br /&gt;
#                             #&lt;br /&gt;
#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#&lt;br /&gt;
&lt;br /&gt;
def linebrk(listish):&lt;br /&gt;
    newlist = []&lt;br /&gt;
    for q in listish:&lt;br /&gt;
        newlist += [q+&amp;quot;\n&amp;quot;]&lt;br /&gt;
    return newlist &lt;br /&gt;
&lt;br /&gt;
def dostub(thisentry): &lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Create stub article from database&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    #                                     &lt;br /&gt;
    # Set up variables to generate        &lt;br /&gt;
    # the element article stub            &lt;br /&gt;
    #                                     &lt;br /&gt;
    # database: 00 Atomic number          &lt;br /&gt;
    #           01 symbol                 &lt;br /&gt;
    #           02 name                   &lt;br /&gt;
    #           03 atomic mass            &lt;br /&gt;
    #           04 previous in group      &lt;br /&gt;
    #           05 next in group          &lt;br /&gt;
    #           06 importance             &lt;br /&gt;
    #           07 availability           &lt;br /&gt;
    #           08 group number           &lt;br /&gt;
    #                                     &lt;br /&gt;
    #           ungrouped by IUPAC are    &lt;br /&gt;
    #           given group 19            &lt;br /&gt;
    #                                     &lt;br /&gt;
    #%#%#%#%#%#%#%#%#%#%#%#%#%#%%#%#%#%#%#&lt;br /&gt;
                                         #&lt;br /&gt;
    name   = thisentry[2]                # name of element (Iron)      &lt;br /&gt;
    symbol = thisentry[1]                # element symbol  (Fe)        &lt;br /&gt;
    number = thisentry[0]                # atomic number   (26)        &lt;br /&gt;
    mass   = thisentry[3]                # atomic mass     (55.845)    &lt;br /&gt;
    gprev  = thisentry[4]                # up one          (none)      &lt;br /&gt;
    gnext  = thisentry[5]                # down one        (Ruthenium) &lt;br /&gt;
    imp    = thisentry[6]                # importance      (important) &lt;br /&gt;
    avail  = thisentry[7]                # availability    (ubiquitous)&lt;br /&gt;
    group  = thisentry[8]                # in this group   (8)         &lt;br /&gt;
                                         #&lt;br /&gt;
    #%#%#%#%#%#%#%#%#%#%#%#%#%#%%#%#%#%#%#&lt;br /&gt;
    #&lt;br /&gt;
    # start generating the article here:&lt;br /&gt;
    #&lt;br /&gt;
    to_out  = []&lt;br /&gt;
    to_out += [&amp;quot;{{Test Element      &amp;quot;]&lt;br /&gt;
    to_out += [&amp;quot;name=&amp;quot; + name]&lt;br /&gt;
    to_out += [&amp;quot;symbol=&amp;quot; + symbol]&lt;br /&gt;
    to_out += [&amp;quot;available=&amp;quot; + avail]&lt;br /&gt;
    to_out += [&amp;quot;need=&amp;quot; + imp]&lt;br /&gt;
    to_out += [&amp;quot;number=&amp;quot; + number]&lt;br /&gt;
    to_out += [&amp;quot;mass=&amp;quot; + str(float(mass))]&lt;br /&gt;
    to_out += [&amp;quot;group=&amp;quot; + group]&lt;br /&gt;
    to_out += [&amp;quot;period=&amp;quot;]&lt;br /&gt;
    to_out += [&amp;quot;phase=&amp;quot;]&lt;br /&gt;
    to_out += [&amp;quot;series=&amp;quot;]&lt;br /&gt;
    to_out += [&amp;quot;density=&amp;quot;]&lt;br /&gt;
    to_out += [&amp;quot;melts=&amp;quot;]&lt;br /&gt;
    to_out += [&amp;quot;boils=&amp;quot;]&lt;br /&gt;
    to_out += [&amp;quot;isotopes=&amp;quot;]&lt;br /&gt;
    to_out += [&amp;quot;prior=&amp;quot;+get_element(number,-1)]&lt;br /&gt;
    to_out += [&amp;quot;next=&amp;quot;+get_element(number,1)]&lt;br /&gt;
    to_out += [&amp;quot;above=&amp;quot;+get_element(gprev,0)]&lt;br /&gt;
    to_out += [&amp;quot;aprior=&amp;quot;+get_element(gprev,-1)]&lt;br /&gt;
    to_out += [&amp;quot;anext=&amp;quot;+get_element(gprev,1)]&lt;br /&gt;
    to_out += [&amp;quot;below=&amp;quot;+get_element(gnext,0)]&lt;br /&gt;
    to_out += [&amp;quot;bprior=&amp;quot;+get_element(gnext,-1)]&lt;br /&gt;
    to_out += [&amp;quot;bnext=&amp;quot;+get_element(gnext,1)]&lt;br /&gt;
    &lt;br /&gt;
    # Tidily install pipes for the table &lt;br /&gt;
    to_out = tidypipes(to_out)&lt;br /&gt;
    &lt;br /&gt;
    to_out += [&amp;quot;}}&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
    to_out +=[&amp;quot;{{Script Test}}&amp;quot;]    &lt;br /&gt;
    &lt;br /&gt;
    to_out += [&amp;quot;'''&amp;quot;+name+&amp;quot;''' is a &amp;quot;+&amp;quot;''(type of element)''&amp;quot;+&amp;quot; in the &amp;quot;+&amp;quot;''(series)''&amp;quot;+&amp;quot; series.&amp;quot;]&lt;br /&gt;
    to_out += [&amp;quot;&amp;amp;lt;BR/&amp;amp;gt;&amp;amp;lt;BR/&amp;amp;gt;\n\n&amp;quot;]&lt;br /&gt;
    to_out += [&amp;quot;&amp;quot;]&lt;br /&gt;
    to_out += [&amp;quot;&amp;quot;]&lt;br /&gt;
    to_out += [&amp;quot;&amp;quot;]&lt;br /&gt;
    to_out += [&amp;quot;{&amp;quot;+&amp;quot;{Test Autostub}&amp;quot;+&amp;quot;}&amp;quot;]&lt;br /&gt;
    # to_out += docategories(typecat) #[&amp;quot;[[Category:&amp;quot;+typecat+&amp;quot;]]&amp;quot;]&lt;br /&gt;
    to_out += ['&amp;amp;lt;DIV ID=&amp;quot;catlinks&amp;quot;&amp;amp;gt;&amp;amp;lt;P CLASS=&amp;quot;catlinks&amp;quot;&amp;amp;gt;[[Special:Categories&amp;amp;amp;article=Lunarpedia%3AAutostub2_test_2|Categories]]: [[:Category:Stubs|Stubs]] | [[:Category:Elements|Elements]]']&lt;br /&gt;
    to_out += [&amp;quot;&amp;amp;lt;/P&amp;amp;gt;&amp;amp;lt;/DIV&amp;amp;gt;&amp;amp;lt;!-- fake category box -- see commented out text above for actual script output --&amp;amp;gt;&amp;quot;]&lt;br /&gt;
    to_out += [&amp;quot;&amp;amp;lt;!-- Generated by a too-early version of Autostub2 --&amp;amp;gt;&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
    to_out = linebrk(to_out)&lt;br /&gt;
&lt;br /&gt;
    return to_out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# def main():&lt;br /&gt;
#     # load database&lt;br /&gt;
#     didxml = templatetop()&lt;br /&gt;
#     for q in database: didxml += dostub(q) + templatemid(); print &amp;quot;.&amp;quot;,&lt;br /&gt;
#     didxml += templatefin()&lt;br /&gt;
#     # save didxml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def tidypipes(table):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;takes a list oy strings, finds the longest one, and tidily adds pipes to the right of each line.&lt;br /&gt;
&lt;br /&gt;
    maxlen: maximum length&lt;br /&gt;
    table:  input list of strings&lt;br /&gt;
    table2: output list of strings&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    maxlen = 0&lt;br /&gt;
    for q in table:&lt;br /&gt;
        if len(q)&amp;gt;maxlen: maxlen = len(q)&lt;br /&gt;
    table2 = []&lt;br /&gt;
    for q in table:&lt;br /&gt;
        qq = q&lt;br /&gt;
        while (len(qq)&amp;lt;maxlen):&lt;br /&gt;
              qq += &amp;quot; &amp;quot;&lt;br /&gt;
        table2 += [qq+&amp;quot; |&amp;quot;]&lt;br /&gt;
    return table2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def replacer(stringie, old, new):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    name2=&amp;quot;&amp;quot;&lt;br /&gt;
    for q in stringie:&lt;br /&gt;
        if q == old: name2 += new&lt;br /&gt;
        else: name2 += q&lt;br /&gt;
    return name2&lt;br /&gt;
&lt;br /&gt;
def refbreak(ref):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    return replacer(ref,&amp;quot;;&amp;quot;,&amp;quot;;&amp;amp;lt;BR/&amp;amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def get_element(number,shift):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;if a number is a number, return the element symbol corresponding to number+shift&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    global DB&lt;br /&gt;
    #if number = &amp;quot;N/A&amp;quot;: return &amp;quot;N/A&amp;quot;&lt;br /&gt;
    try:&lt;br /&gt;
        number = int(number)&lt;br /&gt;
    except: return &amp;quot;N/A&amp;quot;&lt;br /&gt;
    return &amp;quot;[[Mediawiki:Sandbox|&amp;quot;+str(DB[number+int(shift)][1])+&amp;quot;]]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
##def ():&lt;br /&gt;
##    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
##    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
##    return &amp;quot;() not implemented&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def StartXML():&lt;br /&gt;
    out  = [['&amp;lt;mediawiki xmlns=&amp;quot;http://www.mediawiki.org/xml/export-0.3/&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:schemaLocation=&amp;quot;http://www.mediawiki.org/xml/export-0.3/ http://www.mediawiki.org/xml/export-0.3.xsd&amp;quot; version=&amp;quot;0.3&amp;quot; xml:lang=&amp;quot;en&amp;quot;&amp;gt;\n']]&lt;br /&gt;
    out +=  ['    &amp;lt;siteinfo&amp;gt;\n']&lt;br /&gt;
    out +=  ['        &amp;lt;sitename&amp;gt;Lunarpedia&amp;lt;/sitename&amp;gt;\n']&lt;br /&gt;
    out +=  ['    &amp;lt;/siteinfo&amp;gt;\n']&lt;br /&gt;
    return out&lt;br /&gt;
&lt;br /&gt;
def EndXML():&lt;br /&gt;
    out  = [['&amp;lt;/mediawiki&amp;gt;\n']]&lt;br /&gt;
    return out&lt;br /&gt;
&lt;br /&gt;
def ArtXML(title, contrib, text):&lt;br /&gt;
    '''XML markup for article in file&lt;br /&gt;
    title --   title of article&lt;br /&gt;
    contrib -- name of script (ie Autostub2)&lt;br /&gt;
    text --    the article&lt;br /&gt;
    '''&lt;br /&gt;
    out  = [['    &amp;lt;page&amp;gt;\n']]&lt;br /&gt;
    out +=  ['        &amp;lt;title&amp;gt;'+title+'&amp;lt;/title&amp;gt;\n']&lt;br /&gt;
    out +=  ['        &amp;lt;revision&amp;gt;\n']&lt;br /&gt;
    out +=  ['            &amp;lt;contributor&amp;gt;\n']&lt;br /&gt;
    out +=  ['                &amp;lt;username&amp;gt;'+contrib+'&amp;lt;/username&amp;gt;\n']&lt;br /&gt;
    out +=  ['            &amp;lt;/contributor&amp;gt;\n']&lt;br /&gt;
    # out +=  ['            &amp;lt;text xml:space=&amp;quot;preserve&amp;quot;&amp;gt;'+text+'&amp;lt;/text&amp;gt;']&lt;br /&gt;
    out +=  ['            &amp;lt;text xml:space=&amp;quot;preserve&amp;quot;&amp;gt;']&lt;br /&gt;
    out +=  text&lt;br /&gt;
    out +=  ['&amp;lt;/text&amp;gt;\n']&lt;br /&gt;
    out +=  ['        &amp;lt;/revision&amp;gt;\n']&lt;br /&gt;
    out +=  ['    &amp;lt;/page&amp;gt;\n']&lt;br /&gt;
    return out&lt;br /&gt;
&lt;br /&gt;
# TSV sorter&lt;br /&gt;
# Public Domain&lt;br /&gt;
&lt;br /&gt;
def TSVinput(filename):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;tab separated database parser&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    # Open filename&lt;br /&gt;
    tsv=open(filename)&lt;br /&gt;
    # Convert to list&lt;br /&gt;
    ## get list of lines&lt;br /&gt;
    biglist = tsv.readlines()&lt;br /&gt;
    #for q in tsv:&lt;br /&gt;
    #    biglist += q&lt;br /&gt;
    tsv.close()&lt;br /&gt;
    ## parse lines&lt;br /&gt;
    #for q in biglist: print q&lt;br /&gt;
    newlist = []&lt;br /&gt;
    for q in biglist:&lt;br /&gt;
        newlist += [q.split(&amp;quot;\t&amp;quot;)]&lt;br /&gt;
        # print max(max(newlist))&lt;br /&gt;
    # return list&lt;br /&gt;
    return newlist&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Item = [&amp;quot;28&amp;quot;,&amp;quot;Ni&amp;quot;,&amp;quot;Nickel&amp;quot;,&amp;quot;58.6934000000&amp;quot;,&amp;quot;N/A&amp;quot;,&amp;quot;46&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;10&amp;quot;]&lt;br /&gt;
#Item = [&amp;quot;26&amp;quot;,&amp;quot;Fe&amp;quot;,&amp;quot;Iron&amp;quot;,&amp;quot;55.8450000000&amp;quot;,&amp;quot;N/A&amp;quot;,&amp;quot;44&amp;quot;,&amp;quot;important&amp;quot;,&amp;quot;ubiquietous&amp;quot;,&amp;quot;8&amp;quot;]&lt;br /&gt;
#Atomic number, symbol, name, atomic mass, previous in group, next in group, importance, availahbility, group number&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#What=dostub(Item)&lt;br /&gt;
&lt;br /&gt;
DB=TSVinput(&amp;quot;/home/Luna/Elements_H125a.csv&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
gotit =  StartXML()&lt;br /&gt;
#print DB[26][2]&lt;br /&gt;
#print DB[6][2]&lt;br /&gt;
gotit += ArtXML(&amp;quot;Lunarpedia:Autostub2 test 2a&amp;quot;,&amp;quot;Autostub2&amp;quot;,dostub(DB[26]))&lt;br /&gt;
gotit += ArtXML(&amp;quot;Lunarpedia:Autostub2 test 2b&amp;quot;,&amp;quot;Autostub2&amp;quot;,dostub(DB[6]))&lt;br /&gt;
gotit += EndXML()&lt;br /&gt;
&lt;br /&gt;
def Stringify(listish):&lt;br /&gt;
    stringish = &amp;quot;&amp;quot; &lt;br /&gt;
    for q in listish:&lt;br /&gt;
        if type(q) == type('str'):&lt;br /&gt;
           stringish += q&lt;br /&gt;
           #print &amp;quot;str&amp;quot;&lt;br /&gt;
        elif type(q) == type([]):&lt;br /&gt;
           stringish += Stringify(q)&lt;br /&gt;
           #print &amp;quot;list&amp;quot;&lt;br /&gt;
        else: &lt;br /&gt;
             print type(q)&lt;br /&gt;
             print q&lt;br /&gt;
             raise TypeError, &amp;quot;non-string non-list!!!&amp;quot;&lt;br /&gt;
    return stringish   &lt;br /&gt;
&lt;br /&gt;
     &lt;br /&gt;
&lt;br /&gt;
outdone = Stringify(gotit)&lt;br /&gt;
&lt;br /&gt;
do_xml=open('/home/Luna/autostub2test2_3.xml', 'w')&lt;br /&gt;
do_xml.write(outdone)&lt;br /&gt;
do_xml.close()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&amp;lt;/TT&amp;gt;&lt;/div&gt;</summary>
		<author><name>Strangelv</name></author>
		
	</entry>
</feed>