当前位置: 首页>>代码示例>>Python>>正文


Python Timeline.addTL方法代码示例

本文整理汇总了Python中timeline.Timeline.addTL方法的典型用法代码示例。如果您正苦于以下问题:Python Timeline.addTL方法的具体用法?Python Timeline.addTL怎么用?Python Timeline.addTL使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在timeline.Timeline的用法示例。


在下文中一共展示了Timeline.addTL方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: get

# 需要导入模块: from timeline import Timeline [as 别名]
# 或者: from timeline.Timeline import addTL [as 别名]

#.........这里部分代码省略.........
            if conflictsZuordnung:
                tmp = []
                for c in conflictsZuordnung:
                    tmp.append ((c[0], c[1], c[2],
                                 [(b.__unicode__(),
                                   urlresolvers.reverse ('admin:stellenplan_zuordnung_change',
                                                         args = (b.pk,))
                                   ) for b in 
                                  zuordnungenDieserStelle.exclude(bis__lt = c[0]).exclude(von__gt = c[1]).all()
                                 ]))

                zuordnungStelleKonflikt.append((stelle,
                                                urlresolvers.reverse ('admin:stellenplan_stelle_change',
                                                                      args = (stelle.pk,)),
                                                tmp))


        ## print "----" 
        ## pp(besetzungStelleKonflikt)
        ## pp(zuordnungStelleKonflikt)

        ##############################

        # welche Personen wurden noch nicht besetzt, sind also nicht finanziert?
        # gruppiere Personen nach Personalnummer, bilde jeweils eine Timeline, und ziehe davon die Besetzungstimeline ab, die für diese Personalnummer entsteht

        personUnbesetzt = []

        for pGrouped in Person.objects.values('personalnummer').distinct().all():
            # print pGrouped

            pTl = Timeline ()
            bTl = Timeline ()

            for p in PersonZusage.objects.all().filter(person__personalnummer__exact = pGrouped['personalnummer']):
                #  print p
                pTl.add (p.von, p.bis, p.prozent)

            for b in Besetzung.objects.all().filter(person__personalnummer__exact = pGrouped['personalnummer']):
                # print b
                bTl.add (b.von, b.bis, b.prozent)

            pTl.addTL (bTl, -1)

            fehlendeBesetzung = pTl.aboveThreshold(0)

            if fehlendeBesetzung:
                # pp(fehlendeBesetzung)

                personUnbesetzt.append({
                    'person': [ {'name': p.__unicode__(),
                                 'url': urlresolvers.reverse ('admin:stellenplan_person_change',
                                                              args = (p.pk,))}
                                 for p in
                                 Person.objects.all().filter(personalnummer__exact = pGrouped['personalnummer'])],
                    'intervalle': fehlendeBesetzung,
                    'besetzung': [ {'name': b.__unicode__(),
                                    'url': urlresolvers.reverse ('admin:stellenplan_besetzung_change',
                                                              args = (b.pk,))} 
                                    for b in
                                    Besetzung.objects.all().filter(person__personalnummer__exact = pGrouped['personalnummer'])]
                    })

        # pp (personUnbesetzt)

        ##############################

        # Wurden Personen auf Stellen besetzt, die eine geringere Wertigkeit hat als die Person?
        # Was heisst  "geringer", weniger Personalpunkte?
        # TODO: ist ist Frage der gleichzeitgikeit unterschiedllcher Besetzungen / Zusagen nicht klar

        wertigkeitNichtAusreichend = []
        ## wertigkeitNichtAusreichend = [ {'besetzung':  b.__unicode__(),
        ##                                 'person': {'text': b.person.__unicode__(),
        ##                                             'url': urlresolvers.reverse ('admin:stellenplan_person_change',
        ##                                                                          args = (b.person.pk,))  },
        ##                                'stelle': {'text': b.stelle.__unicode__(),
        ##                                            'url': urlresolvers.reverse ('admin:stellenplan_stelle_change',
        ##                                                                         args = (b.stelle.pk,))  },
        ##                                 'url': urlresolvers.reverse ('admin:stellenplan_besetzung_change',
        ##                                             args = (b.pk,))
        ##                                 }
        ##                               for b in Besetzung.objects.all()
        ##                               if (b.person.wertigkeit !=
        ##                                   b.stelle.wertigkeit )]


	#  pp(wertigkeitNichtAusreichend)

        ##############################

        return render (request,
                       'stellenplan/konsistenz.html',
                        {'overlap': overlapmsg,
                         'teilintervallkonflikte': teilintervallkonflikte,
                         'besetzungStelleKonflikt': besetzungStelleKonflikt, 
                         'zuordnungStelleKonflikt': zuordnungStelleKonflikt,
                         'personUnbesetzt': personUnbesetzt,
                         'wertigkeitNichtPassend': wertigkeitNichtAusreichend,
                        })
开发者ID:hkarl,项目名称:instinf,代码行数:104,代码来源:consistency.py


注:本文中的timeline.Timeline.addTL方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。