def test_csv2addr(self): """tesging csv2addr().""" atena = convert.csv2addr(self.infile) self.assertEqual(len(atena.get('address')), 4) self.assertTrue(atena['address'][0].get('address')) self.assertEqual(atena['address'][0].get('address2'), '') self.assertEqual(atena['address'][0].get('address3'), '') self.assertTrue(atena['address'][0].get('first_name1')) self.assertTrue(atena['address'][0].get('first_name2')) self.assertTrue(atena['address'][0].get('last_name')) self.assertTrue(atena['address'][0].get('no1')) self.assertTrue(atena['address'][0].get('no7'))
def generate_atena_tex(template, address_file, outfile_path): """Generate atena TeX file. :param str template: template dictionary :param str address_file: address list csv file :param str outfile_path: output TeX file path """ renderer = pystache.Renderer(file_encoding='utf-8', search_dirs=template.get('search_dirs'), string_encoding='utf-8') # set template tmpl = renderer.load_template(template.get('template_name')) # load address data addresses = convert.csv2addr(address_file) # generate atena TeX data data = guard( g(renderer.render(tmpl, addresses), sys.version_info > (3, 1)), g(renderer.render(tmpl, addresses).encode('utf-8'))) with open(outfile_path, 'w') as fobj: fobj.write(data)