Exemplo n.º 1
0
def loadData(fileName='', debug = False):
    '''
    Load the data - Should only be called at startup
    Would be preferable for scale to load this into cache or into DB perhaps MongoDB
    But for now I will return the list of people as Dictionaries 
    People Objects should also be made into DAOs in my opinion
    :param fileName: file name to load from sys <default ''>
    :param debug: flag to show stack traces <default False>
    '''
    lpeople = None
    
    try:
        encodingCode = utils.getEncoding(fileName)
        with codecs.open(fileName, 'r', encoding=encodingCode) as data:
            people = csv.DictReader(data)
            lpeople = []
            for person in people:
                lpeople.append(person)
            data.close()
    except:
        if debug:
            traceback.print_exc()

    return lpeople
Exemplo n.º 2
0
 def test_getEncoding_With_UTF16(self):
     UTF16CSV = 'testutf16.csv'
     #code under test
     response = utils.getEncoding(UTF16CSV)
     self.assertIsNotNone(response, 'Response is None Failed to find encoding for UTF-16')
     self.assertEqual(response, 'utf-16' , 'Returned Encoding does not match expected of Plain/Text') 
Exemplo n.º 3
0
 def test_getEncoding_With_PLAIN(self):
     plainTextCSV = 'test.csv'
     #code under test
     response = utils.getEncoding(plainTextCSV)
     self.assertIsNotNone(response, 'Response is None Failed to find encoding for ascii')
     self.assertEqual(response, 'ascii' , 'Returned Encoding does not match expected of ascii') 
Exemplo n.º 4
0
 def test_getEncoding_With_UTF8(self):
     UTF8CSV = 'practical_data.csv'
     #code under test
     response = utils.getEncoding(UTF8CSV)
     self.assertIsNotNone(response, 'Response is None Failed to find encoding for UTF-8')
     self.assertEqual(response, 'utf-8-sig' , 'Returned Encoding does not match expected of Plain/Text')