Skip to content
Snippets Groups Projects
Select Git revision
  • aaee9d92c8067d22bde80a0d41af7d7c29ee914c
  • master default protected
  • 133-fail2ban-page
  • reorganisation
  • 16-maintenace-service
  • 11-fail2ban
  • 6-monit-update
  • 7-dolibarr-fail2ban
  • 6-surveillance-interne-des-serveur
  • test-glpi
  • 2-migrate-to-phpfpm
  • jessie
  • github
13 results

installMySQL.sh

Blame
  • unlizeXmlNbSample.ipynb 3.49 KiB
    In [1]:
    import tempfile
    import os
    import re
    from subprocess import Popen, PIPE, STDOUT
    from IPython.core.display import SVG
    def unl2dot(text, path):
        with tempfile.NamedTemporaryFile() as temp:
            out_name = os.path.basename(temp.name)
            out_dir = os.path.dirname(temp.name)
    
        with tempfile.NamedTemporaryFile(mode="w") as in_file:
            # Remove CRLF and flush output to avoid java errors
            in_file.write(text.replace("\r\n", "\n"))
            in_file.flush()
    
            # Run java parser
            cmd = ['java', '-jar', path,
                   '--input-file', in_file.name,
                   '--output-Dir', out_dir, '--output-file', out_name,
                   '--output-type', 'dot']
    
            with Popen(cmd, stdout=PIPE, stderr=STDOUT) as p:
                p.wait()
                p.stdout.flush()
                if p.returncode != 0:
                    print("Error in unl2rdf: \n\n"+p.stdout.read().decode())
                    print('UNL;')
                    print(text)
    
        # generate dot output
        fname = '{}/{}.dot'.format(out_dir, out_name)
        cmd = ['dot', '-Tsvg', fname]
        with Popen(cmd, stdout=PIPE, stderr=PIPE) as p:
            p.wait()
            if p.returncode != 0:
                print("Error creating svg: \n\n"+p.stderr.read().decode())
                print('UNL:')
                print(text)
                try:
                    with open(fname) as f:
                        print('DOT:')
                        print(f.read())
                except FileNotFoundError:
                    pass
            else:
                svg = p.stdout.read().decode()
                os.remove(fname)
                return svg
        return ""
    
    
    def displayUnl(unldata) :
    # We generate protoSVG because whent there are several sentences, 
    # a string composed of several concatenated SVG is produced (not a valid SVG).
    # We must then split the string to obtain several valid SVG to display.
        protoSvg = unl2dot(unldata, "unl2rdf-app-1.0-SNAPSHOT-jar-with-dependencies.jar")
        sep = "</svg>\n"
        svgArray = [x+sep for x in protoSvg.split(sep)]
        svgArray.pop()
        for svg in svgArray :
            text = re.search('\{org.*\n(.*)\n.*org\}',unldata).group(1)
            print(text)
            display(SVG(svg))