Hi, As mentioned in the dev meeting, I'm redoing Freshen in Python so it can use the system code as much as possible. I have an early draft written (gets list of programs, orders and outputs them) that I've checked in, but I'm not sure I'm doing everything the right way - in particular, calling CheckDependencies to get the set of dependencies seems like it might be inefficient. I've cut the time down for a graph build to around 45s for me (was over 8 minutes, until I figured passing the URL would help). Are there points I could be using the tools code better?
As I said, I've checked it in, and it works with some caveats: 1) For the moment, it generates a file called "cache" in the current directory to save its data to (to avoid regenerating the graph each time). Delete it to generate the graph again. 2) The sort isn't particularly well tested, beyond "it looks right" and some sample checking. 3) Where there are cycles in the graph the ordering of the elements of the cycle is arbitrary (but guaranteed to be consistent between runs with the same state). It *won't* be an infinite loop, though (yay!), and it doesn't affect other elements. There's a list of detected cycles at the end as well. You can change "if False:" at the top to get screeds of debugging output if something looks wrong. Feedback and advice is welcome and invited. -Michael _______________________________________________ gobolinux-devel mailing list gobolinux-devel@lists.gobolinux.org http://lists.gobolinux.org/mailman/listinfo/gobolinux-devel