web2py 服务 zip 文件
web2py serving zip file
我正在尝试为用户创建并提供一个 zip 文件,其中包含不同工作人员的 ical 文件(每个工作人员都有自己的 ical 文件)
问题是我在 zip 中得到了正确数量的 iCal 文件,但最后一个文件包含以前工作人员的所有数据。 (还有之前的等等)
这是我正在使用的代码
我做错了什么?
这是我的代码
cal = Calendar()
import zipfile, cStringIO
exported_chunks_zip = cStringIO.StringIO()
zipf = zipfile.ZipFile(exported_chunks_zip, "w", compression=zipfile.ZIP_DEFLATED )
for i, rec in enumerate(grouped):
worker = rec['rw_worker_nick'].encode('cp1250')
for rr in rec["allData"]:
startDate = rr['rw_date']
startTime = rr['rw_time_start']
endTime = rr['rw_time_end']
evtstart = datetime.datetime.combine(startDate,startTime)
evtend = datetime.datetime.combine(startDate,endTime)
event = Event()
event.add('summary', rec['rw_worker_nick'])
event.add('dtstart', evtstart)
event.add('dtend', evtend)
cal.add_component(event)
text = cal.to_ical()
zipf.writestr(worker +'.ics', text)
text = ''
有什么建议吗?
谢谢
您在 for
循环之外仅创建一个 Calendar
对象,然后继续向其附加事件。您应该为 for
循环中的每个工作人员创建一个新的 Calendar
对象:
for i, rec in enumerate(grouped):
cal = Calendar()
...
我正在尝试为用户创建并提供一个 zip 文件,其中包含不同工作人员的 ical 文件(每个工作人员都有自己的 ical 文件)
问题是我在 zip 中得到了正确数量的 iCal 文件,但最后一个文件包含以前工作人员的所有数据。 (还有之前的等等)
这是我正在使用的代码
我做错了什么?
这是我的代码
cal = Calendar()
import zipfile, cStringIO
exported_chunks_zip = cStringIO.StringIO()
zipf = zipfile.ZipFile(exported_chunks_zip, "w", compression=zipfile.ZIP_DEFLATED )
for i, rec in enumerate(grouped):
worker = rec['rw_worker_nick'].encode('cp1250')
for rr in rec["allData"]:
startDate = rr['rw_date']
startTime = rr['rw_time_start']
endTime = rr['rw_time_end']
evtstart = datetime.datetime.combine(startDate,startTime)
evtend = datetime.datetime.combine(startDate,endTime)
event = Event()
event.add('summary', rec['rw_worker_nick'])
event.add('dtstart', evtstart)
event.add('dtend', evtend)
cal.add_component(event)
text = cal.to_ical()
zipf.writestr(worker +'.ics', text)
text = ''
有什么建议吗?
谢谢
您在 for
循环之外仅创建一个 Calendar
对象,然后继续向其附加事件。您应该为 for
循环中的每个工作人员创建一个新的 Calendar
对象:
for i, rec in enumerate(grouped):
cal = Calendar()
...