コード例 #1
0
ファイル: svg.py プロジェクト: ThomRosario/as
def makeOpenContextGraph(writer, todos):
    openTodos = parser.groupByContext(parser.filter(todos, doneOn=None))
    openSegments = {}
    for k, v in openTodos.iteritems():
	openSegments[k] = [len(v),]
    openSegments = list(openSegments.iteritems())
    openSegments.sort()
    writeStylesheetPI(writer)
    writer(ET.tostring(segmentedBarGraph(openSegments,
                                         width=calcBarGraphWidth(len(openTodos)))))
コード例 #2
0
ファイル: svg.py プロジェクト: ThomRosario/as
def makeBarsForAllGraph(todos):
    openTodos = parser.groupByProj(parser.filter(todos, doneOn=None))
    closedTodos = parser.groupByProj([todo for todo in todos if todo.doneOn])
    bars = {}
    for k in openTodos.keys():
	bars[k] = [len(openTodos[k]), len(closedTodos.get(k, []))]
    for k in closedTodos.keys():
	if not k in openTodos:
	    bars[k] = [0, len(closedTodos[k])]	
    bars = list(bars.iteritems())
    bars.sort(lambda x, y:sum(x[1]).__cmp__(sum(y[1])))
    bars.reverse()
    return bars[:10]
コード例 #3
0
ファイル: svg.py プロジェクト: ThomRosario/as
def calcOpenContextWidth(todos):
    return calcBarGraphWidth(len(parser.groupByContext(parser.filter(todos, doneOn=None))))
コード例 #4
0
ファイル: svg.py プロジェクト: ThomRosario/as
def calcOpenProjWidth(todos):
    return calcBarGraphWidth(len(parser.groupByProj(parser.filter(todos, doneOn=None))))