[Soc-coordination] Tenth report: Provide some metrics in Debile

Clément Schreiner clement at mux.me
Wed Jul 30 06:46:36 UTC 2014


Hi, this is the tenth weekly report on my Summer of Code project 'Provide
some metrics in Debile'[1].

(Previous report:
http://lists.alioth.debian.org/pipermail/soc-coordination/2014-July/002216.html)

I spent last week working on an iterative implementation of uniquify[2].


It took some time for me to understand how save the state of the tree
traversal, first trying something simple with dictionaries, but finally
opting for a linked list of objects[3]. While it's probably not ideal
performance-wise, it allowed me to reason more easily about the
algorithm.

Notably, I was able to deal with the fact that firehose objects have
attributes which can either be another firehose attribute, or a
list of firehose attributes.

Thus I had to handle two types of parent-child relationships, which was
easier to do those "heavy" objects.


Once uniquify was seemingly working, I wanted to check that the resulting SQL
tables were identical to the original uniquify's results, and I found a
tool for that[4]. However, I realized my tables were empty, since I did
not commit the session.

I fixed that, but now I keep getting IntegrityError exceptions. I
improved a few bits since, like adding a cache, but I'm still stuck on
that...


Thanks for reading, and sorry for the delay,


------
Clément




[1]
[https://wiki.debian.org/SummerOfCode2014/StudentApplications/ClementSchreiner]
[2]
[https://github.com/Debian/firewoes/blob/master/firewoes/lib/hash.py#L96]
[3]
[https://github.com/clemux/firewoes/blob/2144dbbf57e7d11bc3168837ca14b58fb1b83346/tests/iterative_uniquify.py]
[4] [http://pg-comparator.projects.pgfoundry.org/]



More information about the Soc-coordination mailing list