我正在尝试为包含不同工作人员的ical文件的用户创建并提供zip文件(每个工作人员都有自己的文件)
问题是我在我的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 = ''
有什么建议吗?
谢谢
答案 0 :(得分:1)
您只在Calendar
循环之外创建一个for
对象,然后继续向其添加事件。您应该为Calendar
循环中的每个工作人员创建一个新的for
对象:
for i, rec in enumerate(grouped):
cal = Calendar()
...