;ò |oPFc@sÜdZdkZdkZdkZdkZdkZdkZdklZlZl Z gZ hdgtZdZd„Zdd„Zd„Zd„Zd„ZRS(s There is a single instance of TaskManager held by Task.py:g_tasks The manager holds a list of TaskGroup Each TaskGroup contains a map(priority, list of tasks)cCsg|_d|_dS(Ni(sselfsgroupssidx(sself((sK/mnt/gmirror/ports/audio/ruby-xmms2/work/xmms2-0.2DrJekyll/wafadmin/Task.pys__init__s scCsŸ| o1yt|iƒ}Wn d}nXd|}n|i ot|ƒg|_dSn|idi otdƒdSn|it|ƒg|_dS(Nisgroup-%ds,add_group: an empty group is already present(snameslensselfsgroupsssizes TaskGroupsprioswarning(sselfsnamessize((sK/mnt/gmirror/ports/audio/ruby-xmms2/work/xmms2-0.2DrJekyll/wafadmin/Task.pys add_groups   cCsR|i o|idƒn|i|_|id7_|idi||ƒdS(Nsgroup-0iiÿÿÿÿ(sselfsgroupss add_groupsidxstasksm_idxsadd_tasksprio(sselfstasksprio((sK/mnt/gmirror/ports/audio/ruby-xmms2/work/xmms2-0.2DrJekyll/wafadmin/Task.pysadd_task$s   cCs`d}|i odSnx<|iD]1}x(|iD]}|t|i|ƒ7}q3Wq#W|SdS(Ni(stotalsselfsgroupssgroupspriospslen(sselfspstotalsgroup((sK/mnt/gmirror/ports/audio/ruby-xmms2/work/xmms2-0.2DrJekyll/wafadmin/Task.pystotal)s   cCsRxK|iD]@}dG|iGHx+|iD] }dG|Gt|i|ƒGHq&Wq WdS(Ns-----group-------sprio: (sselfsgroupssisnamespriosjsstr(sselfsisj((sK/mnt/gmirror/ports/audio/ruby-xmms2/work/xmms2-0.2DrJekyll/wafadmin/Task.pysdebug0s    (s__name__s __module__s__doc__s__init__s add_groupsadd_taskstotalsdebug(((sK/mnt/gmirror/ports/audio/ruby-xmms2/work/xmms2-0.2DrJekyll/wafadmin/Task.pys TaskManagers    s TaskGroupcBs tZdZd„Zd„ZRS(s8A TaskGroup maps priorities (integers) to lists of taskscCs||_d|_h|_dS(Ns(snamesselfsinfosprio(sselfsname((sK/mnt/gmirror/ports/audio/ruby-xmms2/work/xmms2-0.2DrJekyll/wafadmin/Task.pys__init__;s  cCs6y|i|i|ƒWn|g|i|