當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。