diff -r 25c28dd19898 -r fef4317b915f src/hdalab/utils.py --- a/src/hdalab/utils.py Tue Aug 26 15:50:55 2014 +0200 +++ b/src/hdalab/utils.py Tue Aug 26 18:11:26 2014 +0200 @@ -5,7 +5,6 @@ @author: ymh and tc ''' from django.core.cache import cache -from django.http.response import Http404 from django.utils.encoding import smart_str import md5 import re @@ -20,59 +19,5 @@ if len(cache_key) > (250-(2+len(cache.key_prefix)+len(str(cache.version)))-33): cache_key = cache_key[:(250-(2+len(cache.key_prefix)+len(str(cache.version)))-33)] + '-' + md5.new(cache_key).hexdigest() return cache_key - - - -class NodePlacer(): - - cat_nb_nodes = {} - - def init(self, cat_nb_nodes_initial): - raise NotImplementedError( "Should have implemented get_place" ) - - def get_place(self, category): - if not category or category not in self.cat_nb_nodes: - raise Http404 - return self.cat_nb_nodes[category].pop(0) - - - -class LineNodePlacer(NodePlacer): - - max_length = 0 - - def init(self, cat_nb_nodes_initial): - for c in cat_nb_nodes_initial: - nb = cat_nb_nodes_initial[c] - if isinstance(cat_nb_nodes_initial[c], tuple): - _, nb = nb - self.max_length = nb if nb > self.max_length else self.max_length - for i_cat,c in enumerate(cat_nb_nodes_initial): - self.cat_nb_nodes[c] = [] - order = i_cat - nb = cat_nb_nodes_initial[c] - if isinstance(cat_nb_nodes_initial[c], tuple): - order, nb = nb - offset = float(self.max_length - nb) / 2 - for i in xrange(nb): - self.cat_nb_nodes[c].append({ "x": order*300, "y": 100*(i+offset) }) - #logger.debug(self.cat_nb_nodes) - - - -class CircleNodePlacer(NodePlacer): - #TODO: Does not work. Meant to be a real circle placer - def init(self, cat_nb_nodes_initial): - for c in cat_nb_nodes_initial: - self.max_length = cat_nb_nodes_initial[c] if cat_nb_nodes_initial[c] > self.max_length else self.max_length - for i_cat,c in enumerate(cat_nb_nodes_initial): - self.cat_nb_nodes[c] = [] - offset = float(self.max_length - cat_nb_nodes_initial[c]) / 2 - for i in xrange(cat_nb_nodes_initial[c]): - self.cat_nb_nodes[c].append({ "x": i_cat*400, "y": 200*(i+offset) }) - #logger.debug(self.cat_nb_nodes) - - - \ No newline at end of file