def __init__(self, **kwargs): fab = kwargs.pop('fab', getFab()) self.fab = fab self.cachedTasks = {} pass
# -*- coding: utf-8 -*- from datetime import datetime from fab import getFab from prettyprint import pp from user import getUsers, CacheUsers, UserInfo fab = getFab() #TODO search by deadline, kickoffs def reportStatus(taskTrans, status, ui): r4vByAuthors = {} for tid in taskTrans: trans = taskTrans[tid] for t in filter( lambda x: x['transactionType'] == 'status' and x['newValue'] == status, trans): author = ui.phid2realname(t['authorPHID']) if author not in r4vByAuthors: r4vByAuthors[author] = set() r4vByAuthors[author].add(tid) print status + ':' for a in r4vByAuthors: print a, len(r4vByAuthors[a]) searchCriterias = [{ 'desc': '5月31号以后所有任务', 'args': dict( constraints={
u"周六", u"周日", ] lastWorkday = getLastWorkday(lastValidDay) updateAfter = datetime( lastWorkday.year, lastWorkday.month, lastWorkday.day, 9, 00) tsp = int(mktime(updateAfter.timetuple())) fab = getFab() users = getUsers(fab) tf = TaskInfoFactory(fab = fab) resp = fab.maniphest.search(queryKey = None, constraints = {'modifiedStart': tsp}).response tasks = resp['data'] filters = [ (partial(isCreateAfter, updateAfter), u"新建的项目"), (None, u"待验证的项目"), (None, u""), (None, u""), (None, u""), (None, u""),
def __init__(self, taskInfo, **kwargs): self.fab = kwargs.pop('fab', getFab()) self.phid = kwargs.pop('phid')
import pygraphviz import networkx as nx from networkx.drawing.nx_agraph import write_dot, to_agraph from functools import partial from fab import getFab from diagnosis.printers import Banner from diagnosis.debugTools import runcmd from prettyprint import pp as ppr from user import getUsers, CacheUsers, UserInfo from datetime import datetime from uuid import uuid4 from task import TaskInfoFactory from dottable import Table, Row import settings tf = TaskInfoFactory(fab=getFab()) def enumerateDepeneds(taskInfo, fab, visitedPhids, callback=None): if taskInfo['phid'] in visitedPhids: return visitedPhids.add(taskInfo['phid']) dependPhids = taskInfo['dependsOnTaskPHIDs'] if len(dependPhids) == 0: addTaskNode(g, taskInfo) return deppends = tf.precedings(int(taskInfo['id'])) for deppend in deppends: if None != callback: callback(taskInfo, deppend) enumerateDepeneds(deppend, fab, visitedPhids, callback)
def __init__(self, **kwargs): fab = kwargs.pop('fab', getFab()) self.fab = fab
def __init__(self, fab = None): if fab == None: fab = getFab() self.fab = fab
def __init__(self, **kwargs): fab = kwargs.pop('fab', getFab()) self.fab = fab
#-*- coding: utf-8 -*- from task import TaskInfoFactory from fab import getAllTasks, getFab tasks = getAllTasks(getFab()) print ','.join(map(lambda x: x['id'], tasks))
def __init__(self, **kwargs): fab = kwargs.pop('fab', getFab()) self.fab = fab self.cachedTasks = {} pass
def __init__(self, taskInfo, **kwargs): self.fab = kwargs.pop('fab', getFab()) self.phid = kwargs.pop('phid')