def process(self): '''Read the XML file and map xpath items to metadata Return a list with 1 JsonSimple object (at most) ''' jsonList = [] data = None reader = None inStream = None document = None # Run the XML through our parser try: inStream = FileInputStream(File(self.file)) reader = InputStreamReader(inStream, "UTF-8") document = self.saxReader.read(reader) # Parse fails except: raise # Close our file access objects finally: if reader is not None: reader.close() if inStream is not None: inStream.close() # Now go looking for all our data data = self.getNewJsonObject() self.__mapXpathToFields(document, self.map, data) if data is None: return None jsonList.append(JsonSimple(data)) return jsonList
def process(self): #We'll return a list with 1 JsonSimple object jsonList = [] data = None reader = None inStream = None document = None # Run the XML through our parser try: inStream = FileInputStream(File(self.file)) reader = InputStreamReader(inStream, "UTF-8") document = self.saxReader.read(reader) # Parse fails except: raise # Close our file access objects finally: if reader is not None: reader.close() if inStream is not None: inStream.close() # Now go looking for all our data data = JsonObject() data.put("workflow_source", "XML Alert") # Default self.__mapXpathToFields(document, self.map, data) if data is None: return None jsonList.append(JsonSimple(data)) return jsonList
def process(self, inputStream, outputStream): try: self.total = 0 reader = InputStreamReader(inputStream, "UTF-8") bufferedReader = BufferedReader(reader) writer = OutputStreamWriter(outputStream, "UTF-8") line = bufferedReader.readLine() while line != None: ChangedRec = line.upper() writer.write(ChangedRec) writer.write('\n') a = line.split(",") for valu in a: b = valu.strip() self.total += int(b) line = bufferedReader.readLine() print("Summation of Records are %s ", self.total) writer.flush() writer.close() reader.close() bufferedReader.close() except: print "Exception in Reader:" print '-' * 60 traceback.print_exc(file=sys.stdout) print '-' * 60 raise session.transfer(flowFile, ExecuteScript.REL_FAILURE) finally: if bufferedReader is not None: bufferedReader.close() if reader is not None: reader.close()
def __readManifest(self, oid): object = Services.getStorage().getObject(oid) sourceId = object.getSourceId() payload = object.getPayload(sourceId) payloadReader = InputStreamReader(payload.open(), "UTF-8") manifest = JsonConfigHelper(payloadReader) payloadReader.close() payload.close() object.close() return manifest
def __readManifest(self, oid): object = self.services.getStorage().getObject(oid) sourceId = object.getSourceId() payload = object.getPayload(sourceId) payloadReader = InputStreamReader(payload.open(), "UTF-8") manifest = JsonConfigHelper(payloadReader) payloadReader.close() payload.close() object.close() return manifest
def __readWorkflowMetadata(self, oid): object = self.services.getStorage().getObject(oid) sourceId = object.getSourceId() payload = object.getPayload("workflow.metadata") payloadReader = InputStreamReader(payload.open(), "UTF-8") metadata = JsonConfigHelper(payloadReader) payloadReader.close() payload.close() object.close() return metadata
def process(self, input): try: reader = InputStreamReader(input) bufferedReader = BufferedReader(reader) self.__line = bufferedReader.readLine() except: print "Exception in Reader:" print '-' * 60 traceback.print_exc(file=sys.stdout) print '-' * 60 raise finally: if bufferedReader is not None: bufferedReader.close() if reader is not None: reader.close()
def process(self, input) : try : reader = InputStreamReader(input) bufferedReader = BufferedReader(reader) self.__line = bufferedReader.readLine() except : print "Exception in Reader:" print '-' * 60 traceback.print_exc(file=sys.stdout) print '-' * 60 raise finally : if bufferedReader is not None : bufferedReader.close() if reader is not None : reader.close()
def __getTableOfContents(self, package, oid): try: # get the package manifest object = Services.getStorage().getObject(package) sourceId = object.getSourceId() payload = object.getPayload(sourceId) payloadReader = InputStreamReader(payload.open(), "UTF-8") manifest = JsonConfigHelper(payloadReader) payloadReader.close() payload.close() object.close() # generate toc result = self.__toc(manifest.getJsonMap("manifest/" + oid.replace("blank-", "node-") + "/children")) except Exception, e: print "Failed to load manifest '%s': '%s'" % (package, str(e)) result = '<div class="error">Failed to generate table of contents!</div><pre>%s</pre>' % str(e)
def __modify(self): print "Set active package..." oid = self.vc("formData").get("oid") try: object = Services.getStorage().getObject(oid) sourceId = object.getSourceId() payload = object.getPayload(sourceId) payloadReader = InputStreamReader(payload.open(), "UTF-8") manifest = JsonConfigHelper(payloadReader) payloadReader.close() payload.close() object.close() self.vc("sessionState").set("package/active", manifest) self.vc("sessionState").set("package/active/id", oid) self.vc("sessionState").set("package/active/pid", sourceId) except StorageException, e: self.vc("response").setStatus(500) return '{ error: %s }' % str(e)
def __init__(self): print "formData: %s" % formData self.__oid = formData.get("oid") result = None try: # get the package manifest object = Services.getStorage().getObject(self.__oid) sourceId = object.getSourceId() payload = object.getPayload(sourceId) payloadReader = InputStreamReader(payload.open(), "UTF-8") self.__manifest = JsonConfigHelper(payloadReader) payloadReader.close() payload.close() object.close() # check if we need to do processing func = formData.get("func") if func == "get-rvt-manifest": result = self.__getRvtManifest(self.getManifest()) except Exception, e: log.error("Failed to load manifest", e); result = '{ status: "error", message: "%s" }' % str(e)
def __init__(self, url): # Hilfsfunktion: Liest den kompletten Inhalt des gegebenen Readers # und speichert ihn in einem String ab. def read_all(reader): arrsize = 8 * 1024 arr = zeros('c', arrsize) buffer = StringBuilder() numCharsRead = 0 while numCharsRead != -1: numCharsRead = reader.read(arr, 0, arrsize) if numCharsRead != -1: buffer.append(arr, 0, numCharsRead) return buffer.toString() #Easter egg if url == "Ich bin Informatiker": self.title = u'Tiefk\xfchlpizza von bonita sopa' self.anleitung = [ u'1. Backofen vorheizen: Auf Ober- und Unterhitze ca. 220 Grad, mit Hei\xdfluft ca. 200 Grad oder im Gasofen auf Stufe 5 bis 6. Wenn das L\xe4mpchen nicht mehr leuchtet, ist das Vorheizen beendet.', u'2. Die noch gefrorene Pizza aus dem Karton nehmen und die Folie entfernen.', u'3. Die Pizza auf den Rost legen. Wer weniger putzen mag, legt noch Backpapier dazwischen.', u'4. Die Pizza auf mittlerer Einschubleiste 10 bis 12 Minuten backen.', u'5. Sobald der K\xe4se geschmolzen ist, kann man die Pizza genie\xdfen.', u'6. Am besten schmeckt dazu eine Club Mate.' ] self.schritt = 0 self.zutaten = { u'Tiefk\xfchlpizza': { u'menge': 1, u'einheit': u'' }, u'eventuell Backpapier': { u'menge': 1, u'einheit': u'Bogen' } } self.portionen = 1 self.eigenschaften = { u'Kalorien p. P.': u'ca. 874 kcal', u'Portionen': 1, u'Schwierigkeitsgrad': u'fordernd', u'Gesamtzeit': 'ca. 20 Min.', u'Arbeitszeit': u'ca. 10 Min.', u'Koch-/Backzeit': '12 Min.', u'Titel': u'Tiefk\xfchlpizza von bonita sopa' } else: # Quelltext holen url = URL(url) urlCon = url.openConnection() reader = InputStreamReader(urlCon.getInputStream(), "UTF-8") html = read_all(reader) reader.close() # Quelltext parsen soup = bs(html, features="html.parser") # Objektattribute initialisieren self.title = self.init_titel(soup) # String self.anleitung = self.init_anleitung(soup) # String list self.schritt = 0 self.zutaten = self.init_zutaten(soup) # dict dict #self.zutatenliste = None self.portionen = self.init_portionen(soup) # int self.eigenschaften = self.init_properties(soup) # dict