def reportPdfByObjectList(self, objsList): filename = datetime.now().strftime('ictrpt_%Y%m%d%H%M%S.pdf') f_handle, f_name = tempfile.mkstemp(filename) authorStr = self.request.principal.title my_formatter = self.request.locale.dates.getFormatter( 'dateTime', 'medium') userTZ = getUserTimezone() longTimeString = my_formatter.format(\ userTZ.fromutc(datetime.utcnow())) versionStr = "%s [%s]" % (longTimeString, getIkVersion()) thisReporter = PDFReporter(f_name, self.request) thisReporter.setAuthorName(authorStr) thisReporter.setVersionStr(versionStr) # first run for (queryName, queryResults) in objsList: thisReporter.extendAllContentObjects(queryResults) # second run for (queryName, queryResults) in objsList: thisReporter.appendTitle1(queryName) thisReporter.append(queryResults) # debug output #for i_obj in thisReporter.allContentObjects: # print "%s (%s)" % (i_obj.ikName, i_obj.objectID) thisReporter.buildPdf() thisReporter.cleanup() self.request.response.setHeader('Content-Type', 'application/pdf') self.request.response.setHeader(\ 'Content-Disposition', 'attachment; filename=\"%s\"' % filename) setNoCacheHeaders(self.request.response) datafile = open(f_name, "r") dataMem = datafile.read() datafile.close() os.remove(f_name) return dataMem
def getModifiedDate(item, formatter): """Modified Date for Overview in Web-Browser""" if type(item) is dict: item = item["obj"] try: userTZ = getUserTimezone() my_formatter = formatter.request.locale.dates.getFormatter( 'dateTime', 'short') timeString = my_formatter.format(userTZ.fromutc( IZopeDublinCore(item).modified)) timeStringHTML = timeString.replace(" ", " ") my_formatter = formatter.request.locale.dates.getFormatter( 'dateTime', 'long') longTimeString = my_formatter.format( userTZ.fromutc(IZopeDublinCore(item).modified)) #ttid = u"id" + str(abs(hash(timeString))) ttid = u"modt" + item.getObjectId() tooltip = u"<script type=\"text/javascript\">tt_%s = new YAHOO." \ u"widget.Tooltip('tt_%s', { autodismissdelay:'15000', " \ u"context:'%s', text:'%s' });</script>" \ % (ttid, ttid, ttid, longTimeString) resString = u'<span id="%s">%s</span>' % (ttid, timeStringHTML) except AttributeError: resString = u"---" tooltip = u"" except TypeError: resString = u"---" tooltip = u"" return resString + tooltip
def getCmapxText(self): """get dot file and convert to client side image map """ utilGraphviz = queryUtility(IAdmUtilGraphviz, name='AdmUtilGraphviz') my_formatter = self.request.locale.dates.getFormatter( 'dateTime', 'medium') userTZ = getUserTimezone() longTimeString = my_formatter.format(\ userTZ.fromutc(datetime.utcnow())) versionStr = "%s [%s]" % (longTimeString, getIkVersion()) setNoCacheHeaders(self.request.response) return utilGraphviz.getCmapxText(self.context, self.request)
def getPngFile(self): """get dot file and convert to png """ utilGraphviz = queryUtility(IAdmUtilGraphviz, name='AdmUtilGraphviz') my_formatter = self.request.locale.dates.getFormatter( 'dateTime', 'medium') userTZ = getUserTimezone() longTimeString = my_formatter.format(\ userTZ.fromutc(datetime.utcnow())) versionStr = "%s [%s]" % (longTimeString, getIkVersion()) self.request.response.setHeader('Content-Type', 'image/png') filename = "graphviz_%s.png" % self.context.ikName self.request.response.setHeader(\ 'Content-Disposition', 'attachment; filename=\"%s\"' % filename) setNoCacheHeaders(self.request.response) return utilGraphviz.getPngFile(self.context, self.request)
def graphvizAll(self): """ will send the complete dot report to the browser """ utilGraphviz = queryUtility(IAdmUtilGraphviz, name='AdmUtilGraphviz') my_formatter = self.request.locale.dates.getFormatter( 'dateTime', 'medium') userTZ = getUserTimezone() longTimeString = my_formatter.format(\ userTZ.fromutc(datetime.utcnow())) versionStr = "%s [%s]" % (longTimeString, getIkVersion()) #self.request.response.setHeader('Content-Type', 'image/png') #filename = "*.png" #self.request.response.setHeader(\ #'Content-Disposition', #'attachment; filename=\"%s\"' % filename) setNoCacheHeaders(self.request.response) return utilGraphviz.getCmapxText(self.context, self.request)
def reportPdfByQueryList(self, queryList): filename = datetime.now().strftime('ictrpt_%Y%m%d%H%M%S.pdf') f_handle, f_name = tempfile.mkstemp(filename) authorStr = self.request.principal.title my_formatter = self.request.locale.dates.getFormatter( 'dateTime', 'medium') userTZ = getUserTimezone() longTimeString = my_formatter.format(\ userTZ.fromutc(datetime.utcnow())) versionStr = "%s [%s]" % (longTimeString, getIkVersion()) connection = IConnection(removeSecurityProxy(self.context)) parser = RPEQueryParser() oc = connection.root()['_oq_collection'] thisReporter = PDFReporter(f_name, self.request) thisReporter.setAuthorName(authorStr) thisReporter.setVersionStr(versionStr) queryproc = QueryProcessor(parser, oc) import pdb pdb.set_trace() queryResultsList = [(queryn, queryproc(queryv)) for (queryn, queryv) in queryList] # first run for (queryName, queryResults) in queryResultsList: thisReporter.extendAllContentObjects(queryResults) # second run for (queryName, queryResults) in queryResultsList: thisReporter.appendTitle1(queryName) thisReporter.append(queryResults) # debug output #for i_obj in thisReporter.allContentObjects: # print "%s (%s)" % (i_obj.ikName, i_obj.objectID) thisReporter.buildPdf() thisReporter.cleanup() self.request.response.setHeader('Content-Type', 'application/pdf') self.request.response.setHeader(\ 'Content-Disposition', 'attachment; filename=\"%s\"' % filename) setNoCacheHeaders(self.request.response) datafile = open(f_name, "r") dataMem = datafile.read() datafile.close() os.remove(f_name) return dataMem
def reportXML(self): filename = datetime.now().strftime('ict_%Y%m%d%H%M%S.xml') f_handle, f_name = tempfile.mkstemp(filename) authorStr = self.request.principal.title my_formatter = self.request.locale.dates.getFormatter( 'dateTime', 'medium') userTZ = getUserTimezone() longTimeString = my_formatter.format(\ userTZ.fromutc(datetime.utcnow())) versionStr = "%s [%s]" % (longTimeString, getIkVersion()) self.context.generateXML(f_name, authorStr, versionStr) self.request.response.setHeader('Content-Type', 'application/xml') self.request.response.setHeader(\ 'Content-Disposition', 'attachment; filename=\"%s\"' % filename) setNoCacheHeaders(self.request.response) datafile = open(f_name, "r") dataMem = datafile.read() datafile.close() os.remove(f_name) return dataMem
def formatEntryDate(entry, formatter): """Entry Date for history in Web-Browser""" try: userTZ = getUserTimezone() my_formatter = formatter.request.locale.dates.getFormatter( 'dateTime', 'short') timeString = my_formatter.format(userTZ.fromutc(entry.getTime())) timeStringHTML = timeString.replace(" ", " ") my_formatter = formatter.request.locale.dates.getFormatter( 'dateTime', 'long') longTimeString = my_formatter.format(userTZ.fromutc(entry.getTime())) ttid = u"id" + str(abs(hash(entry))) tooltip = u"<script type=\"text/javascript\">tt_%s = new YAHOO." \ u"widget.Tooltip('tt_%s', { autodismissdelay:'15000', " \ u"context:'%s', text:'%s' });</script>" \ % (ttid, ttid, ttid, longTimeString) resString = u'<span id="%s">%s</span>' % (ttid, timeStringHTML) except AttributeError: resString = u"---" tooltip = u"" return resString + tooltip
def overResubmitDate(self): userTZ = getUserTimezone() nowTS = userTZ.fromutc(datetime.utcnow())