示例#1
0
    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
示例#2
0
    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
示例#4
0
    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
示例#5
0
 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()
示例#6
0
 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
示例#7
0
 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
示例#9
0
 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()
示例#10
0
 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()
示例#11
0
 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)
示例#12
0
 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)
示例#13
0
 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)
示例#14
0
    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