User talk:Oskar Sigvardsson/List of administrators

User:NoSeptember asked on the reference desk if he could get his list of admins sorted. I quickly wrote some java code to do just that. I'm planning on updating it every month from his list, if I forget, please remind me :)

Here is the code I used (which is public domain, btw):

import java.io.*; import java.util.Arrays; import java.util.Date; import java.util.Vector; import java.util.Comparator;

public class Sorter {

/**	 * @param args */	public static void main(String[] args) throws Exception {

BufferedReader in = new BufferedReader(new FileReader("/home/oskar/admins.txt")); Vector admins = new Vector; String s;		while((s = in.readLine)!= null) { if(s.indexOf("admin-abbr")>0) admins.add(new SimpleLine(s)); }		Object[] list = admins.toArray; Arrays.sort(list, new Comparator {			public int compare(Object o1, Object o2) {				return ((SimpleLine)o1).getDate.compareTo(((SimpleLine)o2).getDate);			}			public boolean equals(Object obj) {				return true;			}		}); PrintStream printer = new PrintStream(new FileOutputStream("/home/oskar/admins-processed.txt")); for(int i = 0; i<list.length; i++) //System.out.println(((SimpleLine)list[i]).getLine); printer.println(((SimpleLine)list[i]).getLine); System.out.println("Done!"); System.out.println(list.length + " lines processed"); }

}

class SimpleLine { String line; Date date; public SimpleLine(String line) { this.line = line; String substring = line.substring(line.indexOf("'''")+3, line.length); substring = substring.substring(0,substring.indexOf("'''")); boolean loop = false; boolean loop2 = false; do { try { date = new Date(substring); loop = false; } catch(Exception e) { if(loop) { if(!loop2) { substring = substring.substring(0, substring.length-2); substring += " Jan"; loop2 = true; } else { e.printStackTrace; System.out.println(line); System.out.println(substring); System.exit(0); }				}				substring += " 1"; loop = true; }		} while(loop); }	public String getLine { return line; }	public Date getDate { return date; } }

Note: this is BAAAAAAD code. Note the enourmous stupidity in using a variable with the name "substring". You get statements like

substring = substring.substring(0, substring.length-2); and substring = substring.substring(0,substring.indexOf("'''"));

Let that be a lesson to all you kids! I literally whipped it up in a couple of minutes, so therefore it is a little sloppy. Please don't judge my l33t programming skills on this ;). The nested do/while-try/catch-ifs also are an especially filthy way of doing things.

Still, it works and it took no time to do, and that was all I wanted. Oskar 20:18, 15 October 2006 (UTC)

Request for comment
Hello there, a proposal regarding pre-adminship review has been raised at Village pump by. Your comments here is very much appreciated. Many thanks. Jim Carter through MediaWiki message delivery (talk) 06:47, 28 May 2014 (UTC)