Joined: Mar. 2008
||Posted: June 22 2010,7:33 am
I didn't use python myself much before that. It's a nice reason to get to use it a bit more. I would usually do it in perl (that is what my current collection of scripts is made with), but I figured even though I don't use it, itwould be nice to have Windows support and perl with Windows seems to be more complicated than python and Windows.
I didn't choose a 'compiled' language because I believe that a scripting language is a better fit for the task. A lot of those tasks is pattern matching and simple gui. That is what those languages are made for.
My current set of scripts consists pretty much completely of command-line tools, mostly targeted towards gc.com. Some can update my local database with data in a given coordinate window (taken from the geocache-map), some take that and can send a notification email or text message for new caches (run as cronjob). Some simply grab a cache page, parse it and stuff the info in my local database. Others generate my geocache statistics (http://www.geocaching.com/profile/?guid=e8274ba1-9513-4547-b4f6-201dace88160). I don't use the first part so much anymore since I gave in and got the premium membership, but I keep it working.
It's pretty much all stitched together, without a big concept, which is why I wanted to start anew. It is also not using a 'real' database, and I intended to use sqlite as well next time.
As for cross-listed caches: as long as you keep the data local, the coordinate approach is pretty good. It doesn't catch all and there are false positives, but most are pretty accurate (I did that for my caches once).
What would be much better is a public data base of cross-listings. Such a database has the problem that is cannot contain cache information from gc.com, because that would be a violation of their terms. However, a simple 'table' with waypoint names corresponding to waypoint names of other sites could hardly violate their terms. In addition they cannot argue that this would publish information taken from their site, because that is exactly what they don't provide on their site.
The tricky part would be to let users build this database but keeping the impact of malicious users small. I cannot think of another mechanism than implementing something like a user trust value and votes for the correctness of an entry. That way both the trustworthiness of a user and of a cross-link could be shown. That is outside of the scope of the manager you write, but it could interface with such a service.