def improve_connectors(self): map = mm_list() for r in self.rels: if len(r.points) > 3: p = r.points[-2] key = \ ( sign (getattr (r.delta, self.other_dim)) , getattr (p, self.dim) ) map[key].append(r) for k, rs in pyk.iteritems(map): step = k[0] * self.sort_sign if len(rs) > 1: for i, r in enumerate(rs[1::step]): r.shift_guide(i + 1)
def unit_changes (after, before, str_dates, unit, offset = 0, limit = 5) : """Yield all elements of `str_dates` closest to `unit` changes.""" map = mm_list () for d, sd in in_range (after, before, str_dates) : p1, p2 = d.periods [unit] if offset : p1 += offset p2 += offset p = p1 if (d - p1 < (p2 - p1) // 2) else (p2 + 1) delta = (d - p).days a_delta = abs (delta) if a_delta <= limit : map [p].append ((a_delta, - sign (delta), sd)) result = list (min (v) [-1] for v in pyk.itervalues (map)) return sorted (result)
def unit_changes(after, before, str_dates, unit, offset=0, limit=5): """Yield all elements of `str_dates` closest to `unit` changes.""" map = mm_list() for d, sd in in_range(after, before, str_dates): p1, p2 = d.periods[unit] if offset: p1 += offset p2 += offset p = p1 if (d - p1 < (p2 - p1) // 2) else (p2 + 1) delta = (d - p).days a_delta = abs(delta) if a_delta <= limit: map[p].append((a_delta, -sign(delta), sd)) result = list(min(v)[-1] for v in pyk.itervalues(map)) return sorted(result)
def improve_connectors (self) : map = mm_list () for r in self.rels : if len (r.points) > 3 : p = r.points [-2] key = \ ( sign (getattr (r.delta, self.other_dim)) , getattr (p, self.dim) ) map [key].append (r) for k, rs in pyk.iteritems (map) : step = k [0] * self.sort_sign if len (rs) > 1 : for i, r in enumerate (rs [1::step]) : r.shift_guide (i + 1)
def by_mime_type (self) : result = mm_list () for r in self.renderers : for mt in r.mime_types : result [mt].append (r) return result
def by_extension (self) : result = mm_list () for r in self.renderers : for ext in r.extensions : result [ext].append (r) return result
def match_dict (matches) : from _TFL.multimap import mm_list result = mm_list () for m, d in matches : result [d].append (m) return result