Page MenuHomeDevCentral

No OneTemporary

diff --git a/src/csvReader.py b/src/csvReader.py
new file mode 100644
index 0000000..dbd43c4
--- /dev/null
+++ b/src/csvReader.py
@@ -0,0 +1,106 @@
+import csv
+
+SVG_NS = "http://www.w3.org/2000/svg"
+
+
+
+#---------------------------------------------------------
+# Detects wheter data seems to be of Boolean type
+def allDataBoolean(data):
+ for i in data:
+ if not ( i == 0 or i == 1 ):
+ return False
+ return True
+
+# Detects wheter data seems to be of Integer type
+def allDataInteger(data):
+ for i in data:
+ if not isinstance(item, int):
+ return False
+ return True
+
+# Detects wheter data seems to be of Percentage type
+def allDataPercentage(data):
+ for i in data:
+ if ( 1<0 or i>100 ):
+ return False
+ return True
+#---------------------------------------------------------
+
+# Read a CSV file, returns a dict. Useful to populate self.data of a csvDataReader
+def readFile(inFile):
+ data = {}
+ with open(inFile, 'rt') as f:
+ for line in f:
+ line = line.rstrip('\n')
+ key = ( line.split("\t") )[0]
+ value = ( line.split("\t") )[1]
+ data[key] = value
+ return data
+
+#---------------------------------------------------------
+
+#=========================================
+# Class to handle CSV data
+class csvReader:
+
+ def __init__(self, arg):
+ self.infile = arg
+ self.data = readFile(self.infile)
+
+ def getLabels(self):
+ return self.data.keys()
+
+ def prettyPrint(self):
+ line = "Data of file \""+ self.infile +"\":"
+ horizontalBar = "+"+"-"*(len(line) + 2)+"+"
+ print (horizontalBar)
+ print ("| "+line+" |")
+ print (horizontalBar)
+ for i in self.data.keys():
+ print( "\t",i,"\t",self.data[i])
+ print (horizontalBar+"\n")
+
+ # Detects if the numerical data is Boolean, Intergers, Percentages or just plain Reals.
+ def detectDataType(self):
+ dataToTest = self.data.values()
+ if( allDataBoolean( dataToTest ) ):
+ return "bool"
+ if( allDataInteger( dataToTest ) ):
+ return "int"
+ if( allDataPercentage( dataToTest ) ):
+ return "percent"
+ return "real"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/testCsvReader.py b/src/testCsvReader.py
new file mode 100755
index 0000000..f1ef8e0
--- /dev/null
+++ b/src/testCsvReader.py
@@ -0,0 +1,28 @@
+#!/usr/bin/python
+
+from csvReader import *
+
+#-----------------------------------
+# Management of arguments
+#-----------------------------------
+import argparse
+parser = argparse.ArgumentParser(
+ description='test of cvsReader: takes CSV files as argument; pretty-print them in standard output.')
+# positional argument
+parser.add_argument(
+ "infiles",
+ nargs='+',
+ help="filenames of the CSV files against which to test csvReader.")
+
+args = parser.parse_args()
+
+
+# -----------------------------------
+# Main
+# -----------------------------------
+for infile in args.infiles:
+ #csvData = open(infile, 'r').read()
+
+ csvData = csvReader(infile)
+ csvData.prettyPrint()
+
\ No newline at end of file
diff --git a/src/testSvgWheelManager.py b/src/testSvgWheelManager.py
index a7fef91..cbbb556 100755
--- a/src/testSvgWheelManager.py
+++ b/src/testSvgWheelManager.py
@@ -1,39 +1,39 @@
#!/usr/bin/python
from svgWheelManager import *
#-----------------------------------
# Management of arguments
#-----------------------------------
import argparse
parser = argparse.ArgumentParser(
- description='test of svgColourManager: takes SVG maps as argument; sould return a list of ID tags and matching colours in standard output.')
+ description='test of svgColourManager: takes SVG maps as argument; should return a the code of a SVG map with superimposed charts, in standard output.')
# positional argument
parser.add_argument(
"infiles",
nargs='+',
help="filenames of the SVG files against which to test svgColourManager.")
args = parser.parse_args()
# -----------------------------------
# Main
# -----------------------------------
for infile in args.infiles:
svg = open(infile, 'r').read()
#import xml.etree.cElementTree as ET
#tree = ET.ElementTree(ET.fromstring(svg))
# for node in tree.findall('.//{%s}path' % SVG_NS):
#svg = insertCircleOnPath(node)
##print (svg)
wheelManager = SvgWheelManager(svg)
# wheelManager.insertCirclesOnPaths()
# wheelManager.insertRectAroundPaths()
wheelManager.insertCircleChartOnPaths()
wheelManager.printSVG()

File Metadata

Mime Type
text/x-diff
Expires
Sun, Oct 11, 21:15 (1 d, 16 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4172998
Default Alt Text
(4 KB)

Event Timeline