def test_progress(self):
     metaknowledge.VERBOSE_MODE = True
     tmpIO = io.StringIO()
     P = _ProgressBar(0, "testing", output=tmpIO, dummy=True)
     metaknowledge.writeEdgeList(
         self.G,
         fileEName,
         _progBar=P,
     )
     tmpIO.seek(0)
     s = ''.join(tmpIO.readlines())
     self.assertEqual(len(s), 0)
     P = _ProgressBar(0, "testing", output=tmpIO)
     metaknowledge.writeEdgeList(self.G, fileEName, _progBar=P)
     tmpIO.seek(0)
     os.remove(fileEName)
     s = ''.join(tmpIO.readlines())
     self.assertEqual(s[-14], '[')
     self.assertEqual(s[-1], '%')
     P.finish("done test")
     tmpIO.seek(0)
     s = ''.join(tmpIO.readlines())
     self.assertEqual(
         s[-81:-3],
         'done test                                                                   0.'
     )
     metaknowledge.VERBOSE_MODE = False
def outputNetwork(clargs, grph):
    outDict = collections.OrderedDict([
        ('1', "edge list and node attribute list"),
        ('2', "edge list"),
        ('3', "node attribute list"),
        ('4', "graphml (SLOW)"),
    ])
    try:
        import metaknowledge.contour
    except ImportError:
        import metaknowledge
    else:
        outDict['0'] = "view graph"
        outDict.move_to_end('0', last=False)
    print("The network contains {} nodes and {} edges.".format(
        len(grph.nodes()), len(grph.edges())))
    outID = int(inputMenu(outDict, header="What type of output to you want? "))
    if outID == 0:
        metaknowledge.contour.quickVisual(grph)
        outputNetwork(clargs, grph)
    elif outID == 1:
        while True:
            try:
                outName = getOutputName(clargs, '', checking=False)
                metaknowledge.writeGraph(grph, outName, overwrite=False)
            except OSError:
                if clargs.name:
                    metaknowledge.writeGraph(grph, outName, overwrite=True)
                    break
                else:
                    overWrite = yesorNo("{}, overwrite (y/n)? ")
                    if overWrite:
                        metaknowledge.writeGraph(grph, outName, overwrite=True)
                        break
                    else:
                        pass
            else:
                break

    elif outID == 2:
        outName = getOutputName(clargs, '.csv')
        metaknowledge.writeEdgeList(grph, outName)
    elif outID == 3:
        outName = getOutputName(clargs, '.csv')
        metaknowledge.writeNodeAttributeFile(grph, outName)
    else:
        outName = getOutputName(clargs, '.graphml')
        nx.write_graphml(grph, outName)
 def test_progress(self):
     metaknowledge.VERBOSE_MODE = True
     tmpIO = io.StringIO()
     P = _ProgressBar(0, "testing", output = tmpIO, dummy = True)
     metaknowledge.writeEdgeList(self.G, fileEName, _progBar = P, )
     tmpIO.seek(0)
     s = ''.join(tmpIO.readlines())
     self.assertEqual(len(s), 0)
     P = _ProgressBar(0, "testing", output = tmpIO)
     metaknowledge.writeEdgeList(self.G, fileEName, _progBar = P)
     tmpIO.seek(0)
     s = ''.join(tmpIO.readlines())
     self.assertFalse("]100.0%" in s)
     self.assertTrue("Done edge list" in s)
     os.remove(fileEName)
     metaknowledge.VERBOSE_MODE = False
def  outputNetwork(clargs, grph):
    outDict = collections.OrderedDict([
    ('1', "edge list and node attribute list"),
    ('2', "edge list"),
    ('3', "node attribute list"),
    ('4', "graphml (SLOW)"),
    ])
    try:
        import metaknowledge.contour
    except ImportError:
        import metaknowledge
    else:
        outDict['0'] = "view graph"
        outDict.move_to_end('0', last = False)
    print("The network contains {} nodes and {} edges.".format(len(grph.nodes()), len(grph.edges())))
    outID = int(inputMenu(outDict, header = "What type of output to you want? "))
    if outID == 0:
        metaknowledge.contour.quickVisual(grph)
        outputNetwork(clargs, grph)
    elif outID == 1:
        while True:
            try:
                outName = getOutputName(clargs, '', checking = False)
                metaknowledge.writeGraph(grph, outName, overwrite = False)
            except OSError:
                if clargs.name:
                    metaknowledge.writeGraph(grph, outName, overwrite = True)
                    break
                else:
                    overWrite = yesorNo("{}, overwrite (y/n)? ")
                    if overWrite:
                        metaknowledge.writeGraph(grph, outName, overwrite = True)
                        break
                    else:
                        pass
            else:
                break

    elif outID == 2:
        outName = getOutputName(clargs, '.csv')
        metaknowledge.writeEdgeList(grph, outName)
    elif outID == 3:
        outName = getOutputName(clargs, '.csv')
        metaknowledge.writeNodeAttributeFile(grph, outName)
    else:
        outName = getOutputName(clargs, '.graphml')
        nx.write_graphml(grph, outName)