示例#1
0
    def _loading_dates(self, start, end, vfid):
        '''
        Select date range which needs to be fetch
        from cache or data provider
        '''
        key = self.holder.tsname(vfid)
        if start > end:
            end = start

        realstart = start
        realend = end

        if end.live:
            end = dates.prevbizday()
        else:
            end = end.date
        start = start.date

        _start = self.holder.start.get(key, None)
        _end = self.holder.end.get(key, None)
        load = True
        if _start:
            oned = timedelta(days=1)
            load = False
            if end > _end or start < _start:
                load = True

            if load:
                if end <= _end:
                    end = _start - oned
                elif start >= _start:
                    start = _end + oned
                if start > end:
                    start = end

        return load, start, end, realstart, realend
示例#2
0
文件: factory.py 项目: OspreyX/flow
 def _loading_dates(self, start, end, vfid):
     '''
     Select date range which needs to be fetch
     from cache or data provider
     '''
     key = self.holder.tsname(vfid)
     if start > end:
         end = start
     
     realstart = start
     realend   = end
     
     if end.live:
         end = dates.prevbizday()
     else:
         end = end.date
     start = start.date
         
     _start = self.holder.start.get(key,None)
     _end   = self.holder.end.get(key,None)
     load   = True
     if _start:
         oned = timedelta(days = 1)
         load = False
         if end > _end or start < _start:
             load = True
         
         if load:
             if end <= _end:
                 end = _start - oned
             elif start >= _start:
                 start =  _end + oned
             if start > end:
                 start = end
     
     return load, start, end, realstart, realend
示例#3
0
 def get_livedate(self, dte):
     dte = dates.get_livedate(dte)
     if not self.livecalc and dte.live:
         return dates.get_livedate(dates.prevbizday())
     else:
         return dte
示例#4
0
def history_dates(end):
    dt = end.dateonly
    if not LIVE_CALCULATION and end.live:
        dt = prevbizday(dt, 1)
    start = prevbizday(dt, DAYS_BACK)
    return start, dt
示例#5
0
文件: cache.py 项目: OspreyX/flow
 def get_livedate(self, dte):
     dte = dates.get_livedate(dte)
     if not self.livecalc and dte.live:
         return dates.get_livedate(dates.prevbizday())
     else:
         return dte
示例#6
0
文件: rates.py 项目: OspreyX/flow
def history_dates(end):
    dt = end.dateonly
    if not LIVE_CALCULATION and end.live:
        dt = prevbizday(dt,1)
    start = prevbizday(dt,DAYS_BACK)
    return start, dt