diff --git a/py/data/amasuperbike-main.xml b/py/data/amasuperbike-main.xml
deleted file mode 100644
index 982e87a..0000000
--- a/py/data/amasuperbike-main.xml
+++ /dev/null
@@ -1,464 +0,0 @@
-
-
-
-
-
-
- Mathew Mladin
- Jake P Zemke
- Miguel Duhamel
- Jack E Pfeifer
- Lee Acree
- Opie Caylor
- Scott Jensen
- Eric C Wood
- Cory Denton West
- John Haner
- J J Roetlin
- Geoff May
- Aaron W Yates
- Dean Mizdal
- David Bell
- Eric Bostrom
- Larry Pegram
- Ben D Bostrom
- Joshua Kurt Hayes
- Jason Curtis
- Shawn M Higbee
-
-
-
-
-
-
-
- Mathew Mladin
- Jake P Zemke
- Miguel Duhamel
- Jack E Pfeifer
- Lee Acree
- Opie Caylor
- Scott Jensen
- Eric C Wood
- Cory Denton West
- John Haner
- J J Roetlin
- Geoff May
- David Bell
- Aaron W Yates
- Dean Mizdal
- Eric Bostrom
- Larry Pegram
- Ben D Bostrom
- Joshua Kurt Hayes
-
-
-
-
-
-
- Mathew Mladin
- Eric Bostrom
- Miguel Duhamel
- Jake P Zemke
- Geoff May
- Larry Pegram
- John Haner
- Opie Caylor
- Lee Acree
- Cory Denton West
- Scott Jensen
- Eric C Wood
- Jason Curtis
- Dean Mizdal
- Joshua Kurt Hayes
- J J Roetlin
- David Bell
- Jack E Pfeifer
- Ben D Bostrom
- Shawn M Higbee
-
-
-
-
-
-
- Mathew Mladin
- Eric Bostrom
- Jake P Zemke
- Miguel Duhamel
- Ben D Bostrom
- Geoff May
- Larry Pegram
- Lee Acree
- Eric C Wood
- Scott Jensen
- Cory Denton West
- John Haner
- Jason Curtis
- David Bell
- Dean Mizdal
- J J Roetlin
- Jack E Pfeifer
- Joshua Kurt Hayes
- Shawn M Higbee
- Opie Caylor
-
-
-
-
-
-
- Mathew Mladin
- Miguel Duhamel
- Jake P Zemke
- Ben D Bostrom
- Eric Bostrom
- Joshua Kurt Hayes
- Larry Pegram
- Geoff May
- Aaron W Yates
- Lee Acree
- Opie Caylor
- John Haner
- Cory Denton West
- Jack E Pfeifer
- David Bell
- Dean Mizdal
- J J Roetlin
- Scott Jensen
- Shawn M Higbee
- Jason Curtis
- Eric C Wood
-
-
-
-
-
-
- Miguel Duhamel
- Jake P Zemke
- Aaron W Yates
- Mathew Mladin
- Ben D Bostrom
- Joshua Kurt Hayes
- Larry Pegram
- Geoff May
- Shawn M Higbee
- Lee Acree
- Eric C Wood
- John Haner
- David Bell
- Cory Denton West
- Jack E Pfeifer
- Jason Curtis
- Dean Mizdal
- J J Roetlin
- Scott Jensen
- Eric Bostrom
- Opie Caylor
-
-
-
-
-
-
- Mathew Mladin
- Jake P Zemke
- Miguel Duhamel
- Eric Bostrom
- Joshua Kurt Hayes
- John Haner
- Geoff May
- Eric C Wood
- Shawn M Higbee
- Larry Pegram
- Cory Denton West
- David Bell
- J J Roetlin
- Lee Acree
- Dean Mizdal
- Jack E Pfeifer
- Jason Curtis
- Opie Caylor
- Scott Jensen
- Aaron W Yates
- Ben D Bostrom
-
-
-
-
-
-
- Miguel Duhamel
- Jake P Zemke
- Mathew Mladin
- Aaron W Yates
- Ben D Bostrom
- Joshua Kurt Hayes
- Eric Bostrom
- John Haner
- Geoff May
- Shawn M Higbee
- Lee Acree
- Opie Caylor
- Cory Denton West
- J J Roetlin
- David Bell
- Jack E Pfeifer
- Jason Curtis
- Eric C Wood
- Larry Pegram
- Dean Mizdal
- Scott Jensen
-
-
-
-
-
-
- Eric Bostrom
- Jake P Zemke
- Aaron W Yates
- Miguel Duhamel
- Ben D Bostrom
- Mathew Mladin
- Joshua Kurt Hayes
- Shawn M Higbee
- Geoff May
- Lee Acree
- J J Roetlin
- Eric C Wood
- John Haner
- Cory Denton West
- Opie Caylor
- David Bell
- Dean Mizdal
- Jack E Pfeifer
- Larry Pegram
- Jason Curtis
-
-
-
-
-
-
- Miguel Duhamel
- Mathew Mladin
- Jake P Zemke
- Ben D Bostrom
- Eric Bostrom
- Aaron W Yates
- Geoff May
- Shawn M Higbee
- Eric C Wood
- Opie Caylor
- John Haner
- Dean Mizdal
- Cory Denton West
- David Bell
- Scott Jensen
- Jack E Pfeifer
- Jason Curtis
- J J Roetlin
- Larry Pegram
- Joshua Kurt Hayes
- Lee Acree
-
-
-
-
-
-
- Miguel Duhamel
- Jake P Zemke
- Mathew Mladin
- Aaron W Yates
- Ben D Bostrom
- Eric Bostrom
- Larry Pegram
- Geoff May
- Eric C Wood
- John Haner
- Shawn M Higbee
- Opie Caylor
- J J Roetlin
- Cory Denton West
- Dean Mizdal
- Jack E Pfeifer
- Scott Jensen
- Jason Curtis
- Joshua Kurt Hayes
- Lee Acree
- David Bell
-
-
-
-
-
-
- Jake P Zemke
- Miguel Duhamel
- Mathew Mladin
- Eric Bostrom
- Ben D Bostrom
- Joshua Kurt Hayes
- Aaron W Yates
- Geoff May
- Eric C Wood
- Larry Pegram
- Cory Denton West
- John Haner
- J J Roetlin
- Dean Mizdal
- Jason Curtis
- Shawn M Higbee
- Scott Jensen
- David Bell
- Jack E Pfeifer
-
-
-
-
-
-
- Ben D Bostrom
- Mathew Mladin
- Miguel Duhamel
- Aaron W Yates
- Eric Bostrom
- Joshua Kurt Hayes
- Jake P Zemke
- Larry Pegram
- Geoff May
- John Haner
- Eric C Wood
- Shawn M Higbee
- Lee Acree
- J J Roetlin
- Scott Jensen
- Opie Caylor
- Cory Denton West
- David Bell
- Jason Curtis
- Dean Mizdal
- Jack E Pfeifer
-
-
-
-
-
-
- Mathew Mladin
- Miguel Duhamel
- Aaron W Yates
- Ben D Bostrom
- Jake P Zemke
- Joshua Kurt Hayes
- Eric Bostrom
- John Haner
- Larry Pegram
- Shawn M Higbee
- Geoff May
- Eric C Wood
- Cory Denton West
- Lee Acree
- Opie Caylor
- J J Roetlin
- Jason Curtis
- Scott Jensen
- Dean Mizdal
- Jack E Pfeifer
-
-
-
-
-
-
- Jake P Zemke
- Ben D Bostrom
- Mathew Mladin
- Aaron W Yates
- Joshua Kurt Hayes
- Eric Bostrom
- Larry Pegram
- Eric C Wood
- John Haner
- Lee Acree
- Shawn M Higbee
- Geoff May
- Cory Denton West
- J J Roetlin
- Scott Jensen
- Opie Caylor
- Jason Curtis
- Dean Mizdal
- Jack E Pfeifer
- Miguel Duhamel
-
-
-
-
-
-
- Mathew Mladin
- Miguel Duhamel
- Ben D Bostrom
- Jake P Zemke
- Aaron W Yates
- John Haner
- Geoff May
- Eric C Wood
- Shawn M Higbee
- Opie Caylor
- J J Roetlin
- Cory Denton West
- Dean Mizdal
- Joshua Kurt Hayes
- Larry Pegram
- Lee Acree
- Eric Bostrom
- Jason Curtis
-
-
-
-
-
-
- Mathew Mladin
- Miguel Duhamel
- Ben D Bostrom
- Jake P Zemke
- Joshua Kurt Hayes
- John Haner
- Larry Pegram
- Eric C Wood
- Geoff May
- Shawn M Higbee
- Lee Acree
- Opie Caylor
- Cory Denton West
- Dean Mizdal
- Jason Curtis
- J J Roetlin
- Aaron W Yates
- Eric Bostrom
-
-
-
-
diff --git a/py/data/amasuperbike.xml b/py/data/amasuperbike.xml
deleted file mode 100644
index e7cf762..0000000
--- a/py/data/amasuperbike.xml
+++ /dev/null
@@ -1,729 +0,0 @@
-
-
-
-
-
-
- Mathew Mladin
- Jake P Zemke
- Miguel Duhamel
- Jack E Pfeifer
- Lee Acree
- Ricky Orlando
- Pascal Picotte
- Opie Caylor
- Scott Jensen
- Eric C Wood
- Marco Martinez
- C R Gittere
- Cory Denton West
- Frank Trombino
- John Haner
- J J Roetlin
- Geoff May
- David Bell
- Roger Bell
- Craig Fitzpatrick
- Byron Barbour
- Rick R Narup
- Aaron W Yates
- Dean Mizdal
- Anthony W Fania
- Eric Bostrom
- Larry Pegram
- K Mark Crozier
- Mike Sullivan
- Ben D Bostrom
- Ron McGill
- Jeffrey S Tigert
- Joshua Kurt Hayes
- Michael A Hanley
- Scott E Carpenter
- Jordan M Szoke
- John Dugan
- Steve Crevier
- Martin Craggill
- Clint McBain
- Jeremy Toye
- Chris Siglin
- Robert M Christman
- Jason Curtis
- Mark Ledesma
- Garry Combs
- Kim Nakashima
- Corey Sarros
- Kevin Hanson
- Jeremiah J Johnson
- Jeff Williams
- Rob Mesa
- Craig Connell
- Shawn M Higbee
- A J Ammann
- David Stanton
- Ken Hill
- Mark C Foster
- Brien K Whitlock
- James Randolph
- James J King
- Andrew Nelson
- John Scott Wilson
- Thomas G Montano
- Kenyon Kluge
- Mike Krynock
- Michael J Sanchez
- John R Jacobi
- Lenny Beckman
- Michael A Smith
- Christian Pistoni
- Daniel L Turner
- Darren Luck
- Andrew J Deatherage
- Reuben Frankenfield
- Chris M Voelker
- Brian Boyd
- James Kerker
- Paul Ducato
- Dave Ebben
- David Weber
- Jacob L Holden
- Jason R Pridmore
- Mark Vandal
- Roger M Hendricks
- Greg J Fryer
- Corey D Eaton
- Dave Kunzelman
-
- Fritz Kling
- Jeff Muskopf
- Kevin W Pate
- Chuck Allen
- Charles Sorensen
- Jesse A Janisch
-
-
-
-
-
-
- Mathew Mladin
- Jake P Zemke
- Miguel Duhamel
- Jack E Pfeifer
- Lee Acree
- Ricky Orlando
- Pascal Picotte
- Opie Caylor
- Scott Jensen
- Eric C Wood
- Marco Martinez
- C R Gittere
- Cory Denton West
- Frank Trombino
- John Haner
- J J Roetlin
- Geoff May
- David Bell
- Roger Bell
- Craig Fitzpatrick
- Byron Barbour
- Rick R Narup
- Aaron W Yates
- Dean Mizdal
- Anthony W Fania
- Eric Bostrom
- Larry Pegram
- K Mark Crozier
- Mike Sullivan
- Ben D Bostrom
- Ron McGill
- Jeffrey S Tigert
- Joshua Kurt Hayes
- Michael A Hanley
- Scott E Carpenter
- Jordan M Szoke
- John Dugan
-
-
-
-
-
-
- Mathew Mladin
- Eric Bostrom
- Miguel Duhamel
- Jake P Zemke
- Geoff May
- Steve Crevier
- Larry Pegram
- Martin Craggill
- John Haner
- Opie Caylor
- Clint McBain
- Lee Acree
- Jeremy Toye
- Cory Denton West
- Scott Jensen
- Eric C Wood
- Chris Siglin
- Robert M Christman
- Jason Curtis
- Dean Mizdal
- Joshua Kurt Hayes
- J J Roetlin
- Mark Ledesma
- David Bell
- Garry Combs
- Jack E Pfeifer
- Kim Nakashima
- Corey Sarros
- Kevin Hanson
- Jeremiah J Johnson
- Ben D Bostrom
- Jeff Williams
- Rob Mesa
- Craig Connell
- Shawn M Higbee
- A J Ammann
-
-
-
-
-
-
- Mathew Mladin
- Eric Bostrom
- Jake P Zemke
- Miguel Duhamel
- Ben D Bostrom
- Steve Crevier
- Geoff May
- Larry Pegram
- Lee Acree
- Eric C Wood
- Jeremy Toye
- Scott Jensen
- Clint McBain
- Cory Denton West
- Jeff Williams
- John Haner
- Jason Curtis
- David Bell
- Dean Mizdal
- Rob Mesa
- Mark Ledesma
- J J Roetlin
- Corey Sarros
- Chris Siglin
- Garry Combs
- Jack E Pfeifer
- Jeremiah J Johnson
- Kevin Hanson
- Joshua Kurt Hayes
- Shawn M Higbee
- Craig Connell
- Kim Nakashima
- Martin Craggill
- Robert M Christman
- Opie Caylor
- A J Ammann
-
-
-
-
-
-
- Mathew Mladin
- Miguel Duhamel
- Jake P Zemke
- Ben D Bostrom
- Eric Bostrom
- Joshua Kurt Hayes
- David Stanton
- Larry Pegram
- Geoff May
- Aaron W Yates
- Ken Hill
- Clint McBain
- Lee Acree
- Opie Caylor
- John Haner
- Robert M Christman
- Mark C Foster
- Brien K Whitlock
- Cory Denton West
- James Randolph
- Jack E Pfeifer
- Garry Combs
- Rob Mesa
- Jeff Williams
- David Bell
- Andrew Nelson
- Dean Mizdal
- J J Roetlin
- John Scott Wilson
- Jeremiah J Johnson
- Steve Crevier
- James J King
- Kim Nakashima
- Chris Siglin
- Craig Connell
- Scott Jensen
- Shawn M Higbee
- Thomas G Montano
- Jason Curtis
- Kenyon Kluge
- Kevin Hanson
- Eric C Wood
- Jeremy Toye
- Mike Krynock
-
-
-
-
-
-
- Miguel Duhamel
- Jake P Zemke
- Aaron W Yates
- Mathew Mladin
- Ben D Bostrom
- Steve Crevier
- Joshua Kurt Hayes
- Larry Pegram
- Geoff May
- Shawn M Higbee
- Lee Acree
- Clint McBain
- Ken Hill
- Eric C Wood
- Robert M Christman
- John Haner
- David Bell
- Cory Denton West
- Jack E Pfeifer
- Thomas G Montano
- Brien K Whitlock
- Jason Curtis
- Kim Nakashima
- Jeremiah J Johnson
- Dean Mizdal
- J J Roetlin
- John Scott Wilson
- Andrew Nelson
- Garry Combs
- James J King
- Kevin Hanson
- Scott Jensen
- Chris Siglin
- David Stanton
- Eric Bostrom
- James Randolph
- Jeff Williams
- Kenyon Kluge
- Jeremy Toye
- Mark C Foster
- Opie Caylor
- Craig Connell
- Rob Mesa
- Mike Krynock
-
-
-
-
-
-
- Mathew Mladin
- Jake P Zemke
- Miguel Duhamel
- Eric Bostrom
- Joshua Kurt Hayes
- John Haner
- Geoff May
- Jeremy Toye
- Eric C Wood
- Shawn M Higbee
- Larry Pegram
- Byron Barbour
- Michael J Sanchez
- Cory Denton West
- David Bell
- J J Roetlin
- Lee Acree
- Mike Sullivan
- Dean Mizdal
- Jack E Pfeifer
- John R Jacobi
- Jason Curtis
- Opie Caylor
- Marco Martinez
- Mark Ledesma
- Scott Jensen
- Scott E Carpenter
- Lenny Beckman
- C R Gittere
- Kevin Hanson
- Rick R Narup
- Michael A Smith
- Aaron W Yates
- Jeremiah J Johnson
- Ben D Bostrom
- Christian Pistoni
-
-
-
-
-
-
- Miguel Duhamel
- Jake P Zemke
- Mathew Mladin
- Aaron W Yates
- Ben D Bostrom
- Joshua Kurt Hayes
- Eric Bostrom
- John Haner
- Geoff May
- Jeremy Toye
- Shawn M Higbee
- Michael A Smith
- Byron Barbour
- Lee Acree
- Opie Caylor
- Cory Denton West
- J J Roetlin
- Mike Sullivan
- David Bell
- Marco Martinez
- Mark Ledesma
- John R Jacobi
- Jack E Pfeifer
- Jason Curtis
- Eric C Wood
- Lenny Beckman
- Scott E Carpenter
- Kevin Hanson
- Rick R Narup
- C R Gittere
- Larry Pegram
- Jeremiah J Johnson
- Dean Mizdal
- Scott Jensen
- Michael J Sanchez
- Christian Pistoni
-
-
-
-
-
-
- Eric Bostrom
- Jake P Zemke
- Aaron W Yates
- Miguel Duhamel
- Ben D Bostrom
- Mathew Mladin
- Joshua Kurt Hayes
- Shawn M Higbee
- Ricky Orlando
- Geoff May
- Lee Acree
- J J Roetlin
- Daniel L Turner
- Eric C Wood
- John Haner
- Darren Luck
- Mike Sullivan
- Cory Denton West
- Opie Caylor
- Robert M Christman
- Mark Ledesma
- David Bell
- Dean Mizdal
- Lenny Beckman
- Jack E Pfeifer
- Kevin Hanson
- Larry Pegram
- Jason Curtis
-
-
-
-
-
-
- Miguel Duhamel
- Mathew Mladin
- Jake P Zemke
- Ben D Bostrom
- Eric Bostrom
- Steve Crevier
- Aaron W Yates
- Geoff May
- Shawn M Higbee
- Eric C Wood
- Jeremy Toye
- Opie Caylor
- Andrew J Deatherage
- Pascal Picotte
- John Haner
- Roger Bell
- Dean Mizdal
- Cory Denton West
- John R Jacobi
- David Bell
- Mike Sullivan
- Reuben Frankenfield
- Chris M Voelker
- Robert M Christman
- C R Gittere
- Scott Jensen
- Jack E Pfeifer
- Jason Curtis
- Jeremiah J Johnson
- Brian Boyd
- James Kerker
- Lenny Beckman
- Kevin Hanson
- Paul Ducato
- J J Roetlin
- Dave Ebben
- David Weber
- Larry Pegram
- Joshua Kurt Hayes
- Lee Acree
- Marco Martinez
- Jacob L Holden
- Jason R Pridmore
-
-
-
-
-
-
- Miguel Duhamel
- Jake P Zemke
- Mathew Mladin
- Aaron W Yates
- Ben D Bostrom
- Eric Bostrom
- Steve Crevier
- Larry Pegram
- Geoff May
- Eric C Wood
- Jeremy Toye
- John Haner
- Shawn M Higbee
- Opie Caylor
- Andrew J Deatherage
- J J Roetlin
- Cory Denton West
- David Weber
- Dean Mizdal
- Reuben Frankenfield
- John R Jacobi
- Jack E Pfeifer
- Scott Jensen
- Chris M Voelker
- Robert M Christman
- C R Gittere
- Jason Curtis
- Kevin Hanson
- Dave Ebben
- Lenny Beckman
- Brian Boyd
- James Kerker
- Joshua Kurt Hayes
- Roger Bell
- Jacob L Holden
- Pascal Picotte
- Lee Acree
- David Bell
- Mike Sullivan
- Jeremiah J Johnson
- Jason R Pridmore
- Marco Martinez
- Paul Ducato
-
-
-
-
-
-
- Jake P Zemke
- Miguel Duhamel
- Mathew Mladin
- Eric Bostrom
- Ben D Bostrom
- Joshua Kurt Hayes
- Aaron W Yates
- Pascal Picotte
- Jacob L Holden
- Geoff May
- Eric C Wood
- Larry Pegram
- Cory Denton West
- John Haner
- J J Roetlin
- Andrew J Deatherage
- Dean Mizdal
- Jason Curtis
- Shawn M Higbee
- Mark Vandal
- James Kerker
- Scott Jensen
- David Bell
- Roger M Hendricks
- Jeremy Toye
- Greg J Fryer
- Jack E Pfeifer
- Jason R Pridmore
- C R Gittere
- A J Ammann
-
-
-
-
-
-
- Ben D Bostrom
- Mathew Mladin
- Miguel Duhamel
- Aaron W Yates
- Eric Bostrom
- Joshua Kurt Hayes
- Jake P Zemke
- Jacob L Holden
- Larry Pegram
- Geoff May
- Jeremy Toye
- John Haner
- Eric C Wood
- Shawn M Higbee
- Martin Craggill
- Chris Siglin
- Lee Acree
- J J Roetlin
- Mike Sullivan
- Mark Ledesma
- Ken Hill
- Marco Martinez
- Ricky Orlando
- Scott Jensen
- Opie Caylor
- Thomas G Montano
- Brien K Whitlock
- Kim Nakashima
- Corey D Eaton
- Rob Mesa
- Dave Kunzelman
- Garry Combs
- Cory Denton West
- Jeffrey S Tigert
- David Bell
- Jason Curtis
- Dean Mizdal
- Jack E Pfeifer
-
-
-
-
-
-
- Mathew Mladin
- Miguel Duhamel
- Aaron W Yates
- Ben D Bostrom
- Jake P Zemke
- Joshua Kurt Hayes
- Eric Bostrom
- Jacob L Holden
- John Haner
- Larry Pegram
- Shawn M Higbee
- Geoff May
- Eric C Wood
- Martin Craggill
- Cory Denton West
- Lee Acree
- Opie Caylor
- J J Roetlin
- Andrew J Deatherage
- Jason Curtis
- Scott Jensen
- Dean Mizdal
- Fritz Kling
- Paul Ducato
- Byron Barbour
- Jack E Pfeifer
- Jeff Muskopf
- Kevin W Pate
- Roger Bell
- Chuck Allen
- C R Gittere
- Charles Sorensen
- David Weber
- James Kerker
- Jesse A Janisch
- John R Jacobi
- Jason R Pridmore
-
-
-
-
-
-
- Jake P Zemke
- Ben D Bostrom
- Mathew Mladin
- Aaron W Yates
- Joshua Kurt Hayes
- Jacob L Holden
- Eric Bostrom
- Larry Pegram
- Eric C Wood
- John Haner
- Lee Acree
- Shawn M Higbee
- Geoff May
- Andrew J Deatherage
- Cory Denton West
- David Weber
- J J Roetlin
- Jesse A Janisch
- Scott Jensen
- Opie Caylor
- Jason Curtis
- Byron Barbour
- Dean Mizdal
- C R Gittere
- Paul Ducato
- Jeff Muskopf
- Jack E Pfeifer
- Charles Sorensen
- Miguel Duhamel
- Fritz Kling
- Chuck Allen
- James Kerker
- Roger Bell
- Martin Craggill
- John R Jacobi
- Kevin W Pate
- Jason R Pridmore
-
-
-
-
diff --git a/py/data/hockey-1.xml b/py/data/hockey-1.xml
deleted file mode 100644
index ffb1d2d..0000000
--- a/py/data/hockey-1.xml
+++ /dev/null
@@ -1,403 +0,0 @@
-
-
-
-
-
- penguins
-
-
-
- no ties
-
-
-
- zzyzzx
-
-
-
- spitfires
-
-
-
- red liners
-
-
-
- space monkeys
-
-
-
- phantoms
-
-
-
- jinx
-
-
-
- plug uglys
-
-
-
- shockers
-
-
-
-
-
- jinx
- space monkeys
- win
-
-
-
- zzyzzx
- no ties
- loss
-
-
-
- plug uglys
- red liners
- loss
-
-
-
- phantoms
- penguins
- loss
-
-
-
-
-
- no ties
- spitfires
- loss
-
-
-
- jinx
- phantoms
- loss
-
-
-
- space monkeys
- shockers
- win
-
-
-
- zzyzzx
- plug uglys
- win
-
-
-
- penguins
- red liners
- win
-
-
-
-
-
- penguins
- zzyzzx
- loss
-
-
-
- spitfires
- plug uglys
- win
-
-
-
- no ties
- shockers
- win
-
-
-
- red liners
- jinx
- win
-
-
-
- space monkeys
- phantoms
- draw
-
-
-
-
-
-
- jinx
- zzyzzx
- loss
-
-
-
- red liners
- space monkeys
- loss
-
-
-
- plug uglys
- no ties
- loss
-
-
-
- spitfires
- penguins
- win
-
-
-
- phantoms
- shockers
- win
-
-
-
-
-
-
-
- shockers
- plug uglys
- draw
-
-
-
- spitfires
- jinx
- win
-
-
-
- penguins
- no ties
- loss
-
-
-
- red liners
- phantoms
- win
-
-
-
- space monkeys
- zzyzzx
- loss
-
-
-
-
-
-
-
- plug uglys
- penguins
- draw
-
-
-
- spitfires
- space monkeys
- draw
-
-
-
- shockers
- red liners
- loss
-
-
-
- phantoms
- zzyzzx
- loss
-
-
-
- no ties
- jinx
- loss
-
-
-
-
-
-
-
- phantoms
- spitfires
- loss
-
-
-
- plug uglys
- jinx
- win
-
-
-
- no ties
- space monkeys
- loss
-
-
-
- shockers
- penguins
- loss
-
-
-
- zzyzzx
- red liners
- loss
-
-
-
-
-
-
-
- space monkeys
- plug uglys
- win
-
-
-
- penguins
- jinx
- win
-
-
-
- red liners
- spitfires
- loss
-
-
-
- zzyzzx
- shockers
- win
-
-
-
- phantoms
- no ties
- draw
-
-
-
-
-
-
-
- red liners
- no ties
- win
-
-
-
- zzyzzx
- spitfires
- win
-
-
-
- space monkeys
- penguins
- win
-
-
-
- plug uglys
- phantoms
- loss
-
-
-
- jinx
- shockers
- draw
-
-
-
-
-
-
-
- spitfires
- shockers
- win
-
-
-
- no ties
- zzyzzx
- draw
-
-
-
- space monkeys
- jinx
- win
-
-
-
- red liners
- plug uglys
- win
-
-
-
-
-
-
-
- spitfires
- shockers
- win
-
-
-
-
-
-
-
- red liners
- phantoms
- win
-
-
-
- red liners
- space monkeys
- win
-
-
-
- spitfires
- phantoms
- loss
-
-
-
-
-
-
-
-
diff --git a/py/data/hockey-2.xml b/py/data/hockey-2.xml
deleted file mode 100644
index 780bb47..0000000
--- a/py/data/hockey-2.xml
+++ /dev/null
@@ -1,422 +0,0 @@
-
-
-
-
-
- penguins
- 1458.9
- 145.9
- 0.06
-
-
-
- no ties
- 1474.4
- 141.2
- 0.06
-
-
-
- zzyzzx
- 1747.3
- 146.8
- 0.06
-
-
-
- spitfires
- 1688.8
- 152.5
- 0.06
-
-
-
- space monkeys
- 1666.4
- 132.5
- 0.06
-
-
-
- plug uglys
- 1247.4
- 149.5
- 0.06
-
-
-
- shockers
- 1117.6
- 162.1
- 0.06
-
-
-
- phantoms
- 1527.9
- 134.9
- 0.06
-
-
-
- buk hockey
-
-
-
- battle apples
-
-
-
-
-
-
- shockers
- plug uglys
- win
-
-
-
- spitfires
- penguins
- win
-
-
-
- zzyzzx
- space monkeys
- win
-
-
-
- no ties
- buk hockey
- loss
-
-
-
-
-
-
- buk hockey
- space monkeys
- draw
-
-
-
- spitfires
- zzyzzx
- win
-
-
-
- plug uglys
- phantoms
- loss
-
-
-
- shockers
- no ties
- loss
-
-
-
- penguins
- battle apples
- win
-
-
-
-
-
-
- buk hockey
- spitfires
- loss
-
-
-
- plug uglys
- no ties
- loss
-
-
-
- space monkeys
- shockers
- win
-
-
-
- battle apples
- zzyzzx
- loss
-
-
-
- penguins
- phantoms
- loss
-
-
-
-
-
-
- zzyzzx
- penguins
- win
-
-
-
- battle apples
- buk hockey
- loss
-
-
-
- shockers
- spitfires
- loss
-
-
-
- space monkeys
- plug uglys
- win
-
-
-
- no ties
- phantoms
- loss
-
-
-
-
-
-
- battle apples
- plug uglys
- loss
-
-
-
- penguins
- shockers
- loss
-
-
-
- no ties
- spitfires
- win
-
-
-
- phantoms
- space monkeys
- draw
-
-
-
- zzyzzx
- buk hockey
- win
-
-
-
-
-
-
- phantoms
- buk hockey
- draw
-
-
-
- zzyzzx
- shockers
- win
-
-
-
- penguins
- plug uglys
- win
-
-
-
- no ties
- battle apples
- win
-
-
-
- spitfires
- space monkeys
- win
-
-
-
-
-
-
- shockers
- phantoms
- loss
-
-
-
- zzyzzx
- no ties
- win
-
-
-
- plug uglys
- buk hockey
- loss
-
-
-
- spitfires
- battle apples
- win
-
-
-
- space monkeys
- penguins
- win
-
-
-
-
-
-
- penguins
- spitfires
- loss
-
-
-
- buk hockey
- no ties
- win
-
-
-
- space monkeys
- zzyzzx
- win
-
-
-
- battle apples
- phantoms
- loss
-
-
-
- plug uglys
- shockers
- loss
-
-
-
-
-
-
- plug uglys
- spitfires
- loss
-
-
-
- phantoms
- zzyzzx
- win
-
-
-
- battle apples
- shockers
- win
-
-
-
- space monkeys
- no ties
- win
-
-
-
- buk hockey
- penguins
- loss
-
-
-
-
-
-
- space monkeys
- battle apples
- loss
-
-
-
- no ties
- penguins
- win
-
-
-
- buk hockey
- shockers
- win
-
-
-
- spitfires
- phantoms
- win
-
-
-
- plug uglys
- zzyzzx
- loss
-
-
-
-
-
-
- phantoms
- no ties
- win
-
-
-
- space monkeys
- buk hockey
- win
-
-
-
- spitfires
- battle apples
- win
-
-
-
- zzyzzx
- penguins
- loss
-
-
-
-
-
diff --git a/py/data/hockey-2005.xml b/py/data/hockey-2005.xml
deleted file mode 100644
index fa7c804..0000000
--- a/py/data/hockey-2005.xml
+++ /dev/null
@@ -1,554 +0,0 @@
-
-
-
-
-
- no ties
- 1472.6
- 100.3
- 0.06
-
-
-
- zzyzzx
- 1657.5
- 106.0
- 0.06
-
-
-
- penguins
- 1436.3
- 103.2
- 0.06
-
-
-
- spitfires
- 1801.5
- 112.3
- 0.06
-
-
-
- space monkeys
- 1659.8
- 98.1
- 0.06
-
-
-
- plug uglys
- 1125.4
- 113.1
- 0.06
-
-
-
- shockers
- 1196.3
- 117.0
- 0.06
-
-
-
- phantoms
- 1652.6
- 98.6
- 0.06
-
-
-
- battle apples
- 1302.6
- 156.9
- 0.06
-
-
-
- blackouts
- 1531.3
- 121.4
- 0.06
-
-
-
- coaches team
-
-
-
- old school
-
-
-
- ballistic
-
-
-
- velocity
-
-
-
- puckheads
-
-
-
- demons
-
-
-
- section 8
-
-
-
- who's your daddy
-
-
-
- blackhawks
-
-
-
- tiger sharks
-
-
-
-
- phantoms
- spitfires
- loss
-
-
- battle apples
- blackouts
- loss
-
-
- zzyzzx
- penguins
- loss
-
-
- plug uglys
- space monkeys
- loss
-
-
- no ties
- coaches team
- win
-
-
-
-
-
- spitfires
- no ties
- draw
-
-
- penguins
- blackouts
- win
-
-
- zzyzzx
- plug uglys
- win
-
-
- space monkeys
- old school
- win
-
-
- coaches team
- shockers
- win
-
-
- phantoms
- battle apples
- win
-
-
-
-
-
- space monkeys
- zzyzzx
- win
-
-
- coaches team
- battle apples
- win
-
-
- plug uglys
- phantoms
- loss
-
-
- shockers
- spitfires
- loss
-
-
- blackouts
- old school
- win
-
-
- no ties
- penguins
- loss
-
-
-
-
-
- old school
- phantoms
- loss
-
-
- plug uglys
- no ties
- loss
-
-
- shockers
- zzyzzx
- loss
-
-
- blackouts
- space monkeys
- win
-
-
- coaches team
- penguins
- loss
-
-
- spitfires
- battle apples
- win
-
-
-
-
-
- battle apples
- shockers
- loss
-
-
- zzyzzx
- blackouts
- win
-
-
- space monkeys
- phantoms
- loss
-
-
- no ties
- old school
- win
-
-
- penguins
- spitfires
- loss
-
-
- coaches team
- plug uglys
- win
-
-
-
-
-
- no ties
- space monkeys
- win
-
-
- old school
- coaches team
- win
-
-
- penguins
- battle apples
- win
-
-
- plug uglys
- spitfires
- draw
-
-
- phantoms
- zzyzzx
- loss
-
-
- shockers
- blackouts
- win
-
-
-
-
-
- blackouts
- phantoms
- loss
-
-
- penguins
- shockers
- win
-
-
- zzyzzx
- no ties
- win
-
-
- space monkeys
- coaches team
- loss
-
-
- battle apples
- plug uglys
- loss
-
-
- spitfires
- old school
- win
-
-
-
-
-
- phantoms
- shockers
- win
-
-
- blackouts
- no ties
- loss
-
-
- battle apples
- old school
- win
-
-
- plug uglys
- penguins
- loss
-
-
- space monkeys
- spitfires
- draw
-
-
- zzyzzx
- coaches team
- win
-
-
-
-
-
- spitfires
- zzyzzx
- loss
-
-
- space monkeys
- battle apples
- win
-
-
- no ties
- phantoms
- loss
-
-
- coaches team
- blackouts
- loss
-
-
- shockers
- plug uglys
- loss
-
-
- old school
- penguins
- loss
-
-
-
-
-
- old school
- shockers
- win
-
-
-
-
-
-
- spitfires
- coaches team
- win
-
-
- battle apples
- no ties
- loss
-
-
- old school
- zzyzzx
- loss
-
-
- penguins
- phantoms
- loss
-
-
- blackouts
- plug uglys
- win
-
-
- shockers
- space monkeys
- loss
-
-
-
-
-
-
- shockers
- ballistic
- loss
-
-
- blackhawks
- puckheads
- win
-
-
- section 8
- velocity
- draw
-
-
- demons
- spitfires
- draw
-
-
- who's your daddy
- tiger sharks
- draw
-
-
-
-
-
-
- no ties
- penguins
- loss
-
-
- phantoms
- space monkeys
- loss
-
-
- zzyzzx
- coaches team
- loss
-
-
- spitfires
- blackouts
- win
-
-
-
-
-
-
- velocity
- shockers
- win
-
-
- who's your daddy
- demons
- win
-
-
- ballistic
- puckheads
- win
-
-
- section 8
- blackhawks
- loss
-
-
- spitfires
- tiger sharks
- win
-
-
-
-
-
-
- coaches team
- spitfires
- loss
-
-
- penguins
- space monkeys
- loss
-
-
-
-
-
- spitfires
- space monkeys
- win
-
-
-
-
-
diff --git a/py/example.xml b/py/example.xml
deleted file mode 100644
index 8c8ec61..0000000
--- a/py/example.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-
-
-
-
-
-
- A
- 1500
- 200
- 0.06
-
-
-
- B
- 1400
- 30
- 0.06
-
-
-
- C
- 1550
- 100
- 0.06
-
-
-
- D
- 1700
- 300
- 0.06
-
-
-
-
-
- A
- B
- win
-
-
-
- A
- C
- loss
-
-
-
- A
- D
- loss
-
-
-
-
-
diff --git a/py/xmlrate.py b/py/xmlrate.py
deleted file mode 100755
index ded2bcf..0000000
--- a/py/xmlrate.py
+++ /dev/null
@@ -1,228 +0,0 @@
-#!/usr/bin/env python
-
-import sys
-import glicko2
-import xml.dom.minidom
-
-# globals
-gPlayers = dict()
-gTeams = dict()
-
-
-def getText(nodelist):
- rc = ""
- for node in nodelist:
- if node.nodeType == node.TEXT_NODE:
- rc = rc + node.data
- return rc
-
-
-def parsePlayers (docroot):
-
- # get players
- playerelements = docroot.getElementsByTagName("player")
-
- # parse each player
- for player in playerelements:
-
- # get the name
- namenode = player.getElementsByTagName("name")
- assert namenode
- name = getText(namenode[0].childNodes)
-
- # setup default rating data
- g2 = glicko2.Glicko2()
-
- # look for rating
- ratingnode = player.getElementsByTagName("rating")
- if ratingnode:
- g2.SetRating( float(getText(ratingnode[0].childNodes)) )
-
- # look for deviation
- deviationnode = player.getElementsByTagName("deviation")
- if deviationnode:
- g2.SetDeviation( float(getText(deviationnode[0].childNodes)) )
-
- # look for volatility
- volatilitynode = player.getElementsByTagName("volatility")
- if volatilitynode:
- g2.SetVolatility( float(getText(volatilitynode[0].childNodes)) )
-
- # add to dictionary
- gPlayers[name] = g2
-
-
-def parseTeams (docroot):
-
- # get teams
- teamelements = docroot.getElementsByTagName("team")
-
- # parse each team
- for team in teamelements:
-
- # get the name
- namenode = team.getElementsByTagName("name")
- assert namenode
- name = getText(namenode[0].childNodes)
-
- # add name to our dictionary
- gTeams[name] = []
-
- # look for members, add to dictionary
- membernode = team.getElementsByTagName("member")
- assert membernode # makes certain team is not empty
- for member in membernode:
- gTeams[name].append( getText(member.childNodes) )
-
-
-def outputPlayers():
- sorted = [(v, k) for k, v in gPlayers.items()]
- sorted.sort()
- sorted.reverse() # so largest is first
- sorted = [(k, v) for v, k in sorted]
- i = 0
- for k,v in sorted:
- i += 1
- print "%3d%30s: %6.1f +/- %5.1f %0.05f" % \
- ( i, k, v.GetRating(), v.GetDeviation(), v.GetVolatility() )
-
-
-
-
-def handlePeriods (docroot):
-
- # our period count
- periodcount = 0
-
- # get all periods
- periodelements = docroot.getElementsByTagName("period")
-
- # handle each period
- for period in periodelements:
-
- # track period id
- periodcount += 1
- print
- print "after rating period",periodcount
-
- # deal with either a race or a game node
- for node in period.childNodes:
- if node.nodeType == node.ELEMENT_NODE:
- if node.tagName == "race":
- handleRace(node)
- elif node.tagName == "game":
- handleGame(node)
-
- # all games entered for this period, now update all players ratings
- for k,v in gPlayers.items():
- v.Update()
-
- # sort players for output
- outputPlayers()
-
-
-def handleRace (race):
-
- # get competitors
- competitornodes = race.getElementsByTagName("competitor")
-
- # a list of our racers
- racelist = []
-
- for competitor in competitornodes:
-
- # get name from XML
- competitorname = getText(competitor.childNodes)
-
- # look name up in our team list
- if gTeams.has_key(competitorname):
- competitornames = gTeams[competitorname]
- else:
- competitornames = [competitorname]
-
- # make all of these competitors losers to everyone already in the list
- for plist in racelist:
- for pl in plist:
- for co in competitornames:
- gPlayers[pl].AddWin(gPlayers[co])
- gPlayers[co].AddLoss(gPlayers[pl])
-
- # now let's add this list to our race list
- racelist.append( competitornames )
-
-
-
-def handleGame (game):
-
- # get home
- homenode = game.getElementsByTagName("home")
- assert homenode
- home = getText(homenode[0].childNodes)
-
- # get away
- awaynode = game.getElementsByTagName("away")
- assert awaynode
- away = getText(awaynode[0].childNodes)
-
- # get result
- resultnode = game.getElementsByTagName("result")
- assert resultnode
- result = getText(resultnode[0].childNodes)
- assert result == "win" or result == "loss" or result == "draw"
-
- # see if home is a team
- if gTeams.has_key(home):
- homeplayernames = gTeams[home]
- else:
- homeplayernames = [home]
-
- # see if away is a team
- if gTeams.has_key(away):
- awayplayernames = gTeams[away]
- else:
- awayplayernames = [away]
-
- # determine each team's result
- if result == "win":
- homeresult = glicko2.Glicko2.WIN
- awayresult = glicko2.Glicko2.LOSS
- elif result == "loss":
- homeresult = glicko2.Glicko2.LOSS
- awayresult = glicko2.Glicko2.WIN
- elif result == "draw":
- homeresult = glicko2.Glicko2.DRAW
- awayresult = glicko2.Glicko2.DRAW
-
- # now let's add all the results to the Glicko2 objects
- for hname in homeplayernames:
- for aname in awayplayernames:
- gPlayers[hname].AddResult( gPlayers[aname], homeresult )
- for aname in awayplayernames:
- for hname in homeplayernames:
- gPlayers[aname].AddResult( gPlayers[hname], awayresult )
-
-
-
-
-
-
-def main ():
-
- # parse input document
- docroot = xml.dom.minidom.parse(sys.argv[1])
-
- # build player & team list
- parsePlayers(docroot)
- parseTeams(docroot)
-
- # show initial ratings
- print "initial ratings"
- outputPlayers()
-
- # process all the periods
- handlePeriods(docroot)
-
-
-if __name__ == '__main__':
- main()
-
diff --git a/py/xmlrate.xsd b/py/xmlrate.xsd
deleted file mode 100644
index d01a440..0000000
--- a/py/xmlrate.xsd
+++ /dev/null
@@ -1,94 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/rb/xmlrate.rb b/rb/xmlrate.rb
deleted file mode 100644
index bd5e383..0000000
--- a/rb/xmlrate.rb
+++ /dev/null
@@ -1,107 +0,0 @@
-#!/usr/bin/env ruby
-
-require "rexml/document"
-require "glicko2"
-
-# sort & output the player array
-def output_players(playerhash,title="")
- puts title
- sorted_players = playerhash.sort { |a,b| a[1] <=> b[1] }
- i = 0
- sorted_players.reverse.each { |k,v| puts sprintf("%3d%30s: %6.1f +/- %5.1f %0.05f\n",i += 1,k,v.rating,v.deviation,v.volatility) }
- puts
-end
-
-# handle one file
-def parse_file(filename)
-
- # load & parse XML
- file = File.new(filename)
- doc = REXML::Document.new(file)
-
- # each rating doc
- doc.elements.each("ratingdoc") do |root|
-
- # new/empty player hash
- players = Hash.new
-
- # each player
- root.elements.each("player") do |player|
-
- # setup defaults
- name = player.elements["name"].text
- rating = 1500.0
- deviation = 350.0
- variance = 0.06
-
- # TODO: find better "Ruby-esqe" way of doing these
- if player.elements["rating"]
- rating = player.elements["rating"].text
- end
- if player.elements["deviation"]
- deviation = player.elements["deviation"].text
- end
- if player.elements["variance"]
- variance = player.elements["variance"].text
- end
-
- # create player + glicko2 object
- players[name] = Glicko2.new(rating.to_f,deviation.to_f,variance.to_f)
-
- end
-
- # dump initial player ratings
- output_players(players,"initial ratings")
-
- # each rating period
- period_id = 0
- root.elements.each("period") do |period|
-
- # each regular game
- period.elements.each("game") do |game|
-
- home = game.elements["home"].text
- away = game.elements["away"].text
- result = game.elements["result"].text
-
- result_val = Glicko2::WIN if result == "win"
- result_val = Glicko2::LOSS if result == "loss"
- result_val = Glicko2::DRAW if result == "draw"
-
- players[home].add_result( players[away], result_val )
- players[away].add_result( players[home], 1.0 - result_val )
- end
-
- # each race
- racelist = []
- period.elements.each("race") do |race|
- race.elements.each("competitor") do |c|
-
- # make this competitor lose to everyone already in our list
- racelist.each do |otherc|
- players[otherc].add_win(players[c.text])
- players[c.text].add_loss(players[otherc])
- end
-
- # add this competitor to our list
- racelist.push(c.text)
-
- end
- end
-
- # update all players
- players.each_value { |p| p.update }
-
- # output players
- output_players(players,sprintf("after rating period %d",period_id += 1))
-
- end
-
- end
-end
-
-
-# main program
-ARGV.each { |a| parse_file(a) }
-
-