- 論壇徽章:
- 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)#--最后提交時間,轉(zhuǎn)換為可讀形式
- now_day = datetime.datetime.now().replace(hour = 0,minute = 0,second = 0,microsecond = 0)#--獲得當(dāng)前日期,無視時分秒
- 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):#--如果提交日期與現(xiàn)在日期相差1天,就從該版本開始,即無視12點后的提交
- found = True
- yield self.get_revision_of(cur_rev_number)
- elif found:
- print "should bureak!!!"
- break
復(fù)制代碼 不知道為什么當(dāng)打印了print "should bureak!!! 后···循環(huán)居然沒有break掉(我甚至直接return也不行)··而是再次重新開始一次循環(huán)····這里不是很明白···我估計是我用生成器的方法有點不對···求指教
-------------------------------------------
自己的疏忽···在別的地方調(diào)用了2次·· |
|