- 论坛徽章:
- 0
|
本帖最后由 wfnh 于 2012-05-15 18:47 编辑
- def get_yesterday_all_revision(self,path):
- '''得到昨天所有的提交版本,返回一个revision生成器,否则返回None'''
- def rev_iter(number):
- while True:
- if number < 1:
- break
- yield number
- number = number - 1
- rev_obj = self.get_info(path).next()
- #--从最新版本开始遍历,寻找符合条件的
- rev_number = rev_obj.rev.number #--版本号
- found = False
- #--print rev_number
- gen = rev_iter(rev_number)
- #gen = range(rev_number,1,-1)
- for cur_rev_number in gen:#--reversed(range(1,rev_number + 1)):
- print "now check:",cur_rev_number
- rev_obj = self.get_info(path,cur_rev_number).next()
- commit_data = datetime.datetime.fromtimestamp(rev_obj.last_changed_date)#--最后提交时间,转换为可读形式
- now_day = datetime.datetime.now().replace(hour = 0,minute = 0,second = 0,microsecond = 0)#--获得当前日期,无视时分秒
- commit_day = commit_data.replace(hour = 0,minute = 0,second = 0,microsecond = 0)#--获得提交日期,无视时分秒
- if self.debug:
- commit_day = now_day-datetime.timedelta(1)
- if now_day - commit_day == datetime.timedelta(1):#--如果提交日期与现在日期相差1天,就从该版本开始,即无视12点后的提交
- found = True
- yield self.get_revision_of(cur_rev_number)
- elif found:
- print "should bureak!!!"
- break
复制代码 不知道为什么当打印了print "should bureak!!! 后···循环居然没有break掉(我甚至直接return也不行)··而是再次重新开始一次循环····这里不是很明白···我估计是我用生成器的方法有点不对···求指教
-------------------------------------------
自己的疏忽···在别的地方调用了2次·· |
|