File utils refactor and unittests
Create unit test for file utils closes #25 closes #26
This commit is contained in:
30
pcbdevice/utils/FileUtils.py
Normal file
30
pcbdevice/utils/FileUtils.py
Normal file
@@ -0,0 +1,30 @@
|
||||
import math
|
||||
|
||||
class FileUtils:
|
||||
@staticmethod
|
||||
def pbmToCsv(pbmFile, dimensionLineIndex = 2):
|
||||
completeFile = []
|
||||
|
||||
file = open(pbmFile, 'r')
|
||||
lines = file.readlines()
|
||||
width, height = (int(val) for val in lines[dimensionLineIndex].split())
|
||||
file.close()
|
||||
|
||||
for line in lines[dimensionLineIndex + 1:]:
|
||||
for val in line.split():
|
||||
completeFile += [int(val)]
|
||||
|
||||
matrix = [[0 for i in range(width)] for j in range(height)]
|
||||
for index, value in enumerate(completeFile):
|
||||
matrix[math.floor(index / width)][index % width] = value
|
||||
|
||||
return matrix
|
||||
|
||||
@staticmethod
|
||||
def saveMatrixToFile(matrix, filePath):
|
||||
with open(filePath, 'w') as f:
|
||||
for x in matrix:
|
||||
for y in x:
|
||||
f.write('%s ' % y )
|
||||
f.write('\n')
|
||||
f.close()
|
||||
Reference in New Issue
Block a user