Heya!
As you may have noticed, I haven't been active for a while. The map (world 3) didn't process any uploads, because I turned it off after some mismatch I never got around to fixing.
I promised to a few people that if I ever went inactive, I would release the source. That time is now
For the time being I also reset the havenmap.student.utwente.nl, and opened the uploader/processing again. I also built a quick fix that should prevent the processing of all files earlier than 13th January, so you don't need to worry about that (although it's untested, but meh.)
At some point it may explode again, but I hope at that time someone has gotten my system up and running, and I can transfer everything to that person.
About the source:
It's rather chaotic, sorry about that. I have *some* commenting, but not enough, and on first glance you probably won't see what does what. So, the basics:
upload.php receives the uploads from the uploader tool, puts data in the todo table of the database (Data/minimaps.db), and sends a notification that there's new stuff.
eventListener.py listens for this notification, and sends the new batch to processBatch.py. Afterwards eventListener does some stuff to calculate the new score, and create zoomed out tiles for the map (called the Cache due to historic reasons).
In processBatch various things happen. First, batch is read, and matched against itself, then matched against the database, and then inserted.
Not sure what else to say. Really sorry about the chaotic code. Good luck with it
Source code link