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


Python Timeline.aboveThreshold方法代码示例

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


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

示例1: get

# 需要导入模块: from timeline import Timeline [as 别名]
# 或者: from timeline.Timeline import aboveThreshold [as 别名]
    def get (self, request):

        ##############################
        # check overlaps of intervals, uniqueness identified via the column : 
        overlapchecks = [ (PersonZusage, 'person'),
                          (Fachgebiet, 'kuerzel'),
                          (Stelle, 'stellennummer'),
                          (StellenwertigkeitIntervalle, 'wertigkeit'),
                          (Zuordnung, 'stelle'), 
                          (Besetzung, 'stelle'), 
                        ]
        overlapmsg = []

        for o in overlapchecks:
            # print o[0]
            for k in o[0].objects.values(o[1]).distinct().all():

                qs = o[0].objects.filter (**{ o[1] + '__exact':   k[o[1]]})
                violationList= self.check_overlap (qs, o[1])


                if violationList:

                    violationURLs =  [ (urlresolvers.reverse ('admin:stellenplan_' +
                                                              o[0].__name__.lower()  + '_change', args=(v[0],)),
                                        urlresolvers.reverse ('admin:stellenplan_' +
                                                              o[0].__name__.lower()  + '_change', args=(v[1],)),
                                        qs.get(id=v[0]).__unicode__(),
                                        qs.get(id=v[1]).__unicode__(),
                                        )
                                        for v in violationList ]

                    overlapmsg.append({'module_name': o[0].__name__,
                                       'field': o[1].capitalize(),
                                       'violationUrls': violationURLs})
        #print overlapmsg 

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

        # Konsistenz der Verknuepfungen: Teilmengen der intervalkle müssen eingehalten werden 
        # Klasse: von -bis muss Teilintervall des foreign keys sein 

        teilintervallbeziehungen = [(Zusage, "fachgebiet"),
                                    (Zuordnung, "fachgebiet"),
                                    (Zuordnung, "stelle"),
                                    # (Besetzung, "person"),
                                    (Besetzung, "stelle"),
                                    ]


        teilintervallkonflikte =  filter (lambda x: x[2],
                        [(tib[0].__name__, tib[1].capitalize(),
                    [ ( urlresolvers.reverse ('admin:stellenplan_' +
                                            tib[0].__name__.lower() + '_change',
                                            args = (entry.pk,)),
                      urlresolvers.reverse ('admin:stellenplan_' +
                                             getattr (entry, tib[1]).__class__.__name__.lower() + '_change',
                                             args = (getattr (entry, tib[1]).pk,)),
                      entry.__unicode__(),
                      getattr (entry, tib[1]).__unicode__()
                      )
                      for entry in tib[0].objects.all()
                      if not (( entry.von >= getattr (entry, tib[1]).von ) and
                              ( entry.von <= getattr (entry, tib[1]).bis ) and
                              ( entry.bis >= getattr (entry, tib[1]).von ) and
                              ( entry.bis <= getattr (entry, tib[1]).bis ) )
                      ])
                for tib in teilintervallbeziehungen ]
                )



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


        # Wurden stellen mehrfach besetzt? use following backwords:
        # https://docs.djangoproject.com/en/dev/topics/db/queries/#backwards-related-objects


        besetzungStelleKonflikt = []
        zuordnungStelleKonflikt = []

        for stelle in Stelle.objects.all():

            ## print "----" 
            ## print "Stelle: ", stelle

            tlBesetzung = Timeline()
            besetzungenDieserStelle = stelle.besetzung_set.all()
            for bes in besetzungenDieserStelle: 
                tlBesetzung.add (bes.von, bes.bis, bes.prozent)


            tlZuordnung = Timeline()
            zuordnungenDieserStelle = stelle.zuordnung_set.all()
            for zu in zuordnungenDieserStelle: 
                tlZuordnung.add (zu.von, zu.bis, zu.prozent)


            conflictsBesetzung = tlBesetzung.aboveThreshold(stelle.prozent)
#.........这里部分代码省略.........
开发者ID:hkarl,项目名称:instinf,代码行数:103,代码来源:consistency.py


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