def dehydrate_quiz_secs(self, bundle): start_date = datetime.datetime.now() - datetime.timedelta(days=14) end_date = datetime.datetime.now() return Tracker.activity_secs(user=bundle.obj, type='quiz', start_date=start_date, end_date=end_date)
def dehydrate_page_views(self, bundle): start_date = datetime.datetime.now() - datetime.timedelta(days=14) end_date = datetime.datetime.now() return Tracker.activity_views(user=bundle.obj, type='page', start_date=start_date, end_date=end_date)
def download_detail(self, request, **kwargs): self.is_authenticated(request) self.throttle_check(request) pk = kwargs.pop('pk', None) module = self._meta.queryset.get(pk=pk) file_to_download = module.getAbsPath() schedule = module.get_default_schedule() has_completed_trackers = Tracker.has_completed_trackers( module, request.user) cohort = Cohort.member_now(module, request.user) if cohort: if cohort.schedule: schedule = cohort.schedule # add scheduling XML file if schedule or has_completed_trackers: file_to_download = settings.MODULE_UPLOAD_DIR + "temp/" + str( request.user.id) + "-" + module.filename shutil.copy2(module.getAbsPath(), file_to_download) zip = zipfile.ZipFile(file_to_download, 'a') if schedule: zip.writestr(module.shortname + "/schedule.xml", schedule.to_xml_string()) if has_completed_trackers: zip.writestr(module.shortname + "/tracker.xml", Tracker.to_xml_string(module, request.user)) zip.close() wrapper = FileWrapper(file(file_to_download)) response = HttpResponse(wrapper, content_type='application/zip') response['Content-Length'] = os.path.getsize(file_to_download) response['Content-Disposition'] = 'attachment; filename="%s"' % ( module.filename) md = ModuleDownload() md.user = request.user md.module = module md.module_version = module.version md.save() module_downloaded.send(sender=self, module=module, user=request.user) return response
def download_detail(self, request, **kwargs): self.is_authenticated(request) self.throttle_check(request) pk = kwargs.pop('pk', None) module = self._meta.queryset.get(pk = pk) file_to_download = module.getAbsPath(); schedule = module.get_default_schedule() has_completed_trackers = Tracker.has_completed_trackers(module,request.user) cohort = Cohort.member_now(module,request.user) if cohort: if cohort.schedule: schedule = cohort.schedule # add scheduling XML file if schedule or has_completed_trackers: file_to_download = settings.MODULE_UPLOAD_DIR +"temp/"+ str(request.user.id) + "-" + module.filename shutil.copy2(module.getAbsPath(), file_to_download) zip = zipfile.ZipFile(file_to_download,'a') if schedule: zip.writestr(module.shortname +"/schedule.xml",schedule.to_xml_string()) if has_completed_trackers: zip.writestr(module.shortname +"/tracker.xml",Tracker.to_xml_string(module,request.user)) zip.close() wrapper = FileWrapper(file(file_to_download)) response = HttpResponse(wrapper, content_type='application/zip') response['Content-Length'] = os.path.getsize(file_to_download) response['Content-Disposition'] = 'attachment; filename="%s"' %(module.filename) md = ModuleDownload() md.user = request.user md.module = module md.module_version = module.version md.save() module_downloaded.send(sender=self, module=module, user=request.user) return response
def dehydrate_quiz_secs(self,bundle): start_date = datetime.datetime.now() - datetime.timedelta(days=14) end_date = datetime.datetime.now() return Tracker.activity_secs(user=bundle.obj,type='quiz',start_date=start_date,end_date=end_date)
def dehydrate_page_views(self,bundle): start_date = datetime.datetime.now() - datetime.timedelta(days=14) end_date = datetime.datetime.now() return Tracker.activity_views(user=bundle.obj,type='page',start_date=start_date,end_date=end_date)