免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1254 | 回复: 0
打印 上一主题 下一主题

【已解决】生成器的一个问题,求解 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-05-15 12:35 |只看该作者 |倒序浏览
本帖最后由 wfnh 于 2012-05-15 18:47 编辑
  1. def get_yesterday_all_revision(self,path):
  2.         '''得到昨天所有的提交版本,返回一个revision生成器,否则返回None'''
  3.         def rev_iter(number):
  4.             while True:
  5.                 if number < 1:
  6.                     break
  7.                 yield number
  8.                 number = number - 1
  9.         rev_obj = self.get_info(path).next()
  10.         #--从最新版本开始遍历,寻找符合条件的
  11.         rev_number =  rev_obj.rev.number #--版本号
  12.         found = False
  13.         #--print rev_number
  14.         gen = rev_iter(rev_number)
  15.         #gen = range(rev_number,1,-1)
  16.         for cur_rev_number in gen:#--reversed(range(1,rev_number + 1)):
  17.             print "now check:",cur_rev_number
  18.             rev_obj = self.get_info(path,cur_rev_number).next()
  19.             commit_data = datetime.datetime.fromtimestamp(rev_obj.last_changed_date)#--最后提交时间,转换为可读形式
  20.             now_day = datetime.datetime.now().replace(hour = 0,minute = 0,second = 0,microsecond = 0)#--获得当前日期,无视时分秒
  21.             commit_day = commit_data.replace(hour = 0,minute = 0,second = 0,microsecond = 0)#--获得提交日期,无视时分秒
  22.             if self.debug:
  23.                 commit_day = now_day-datetime.timedelta(1)
  24.             if now_day - commit_day == datetime.timedelta(1):#--如果提交日期与现在日期相差1天,就从该版本开始,即无视12点后的提交
  25.                 found = True
  26.                 yield self.get_revision_of(cur_rev_number)
  27.             elif found:
  28.                 print "should bureak!!!"
  29.                 break
复制代码
不知道为什么当打印了print "should bureak!!! 后···循环居然没有break掉(我甚至直接return也不行)··而是再次重新开始一次循环····这里不是很明白···我估计是我用生成器的方法有点不对···求指教

-------------------------------------------
自己的疏忽···在别的地方调用了2次··
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP