1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 """
24 To provide connectivity with Local File .
25
26 Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
27 GNU General Public License.
28 """
29 from etl.connector import connector
30
32 """
33 This is an ETL connector that is used to provide connectivity with Local File.
34 """
35 - def __init__(self, uri, bufsize=-1, encoding='utf-8', name='localfile'):
36 """
37 Required Parameters
38 uri : Path of file.
39
40 Extra Parameters
41 bufsize : Buffer size for reading data.
42 encoding : Encoding format.
43 name : Name of connector.
44 """
45 super(localfile, self).__init__(name)
46 self._type = 'connector.localfile'
47 self.bufsize = bufsize
48 self.encoding = encoding
49 self.uri = uri
50
51 - def open(self, mode='r'):
52 """
53 Opens a file connection.
54 """
55
56 super(localfile, self).open()
57 return file(self.uri, mode)
58
59
60 - def close(self,connector):
67
69 """
70 Overrides copy method.
71 """
72 res = localfile(self.uri, self.bufsize, self.encoding, self.name)
73 return res
75
76 from etl_test import etl_test
77 import etl
78 file_conn=localfile('../../demo/input/partner1.csv')
79 test = etl_test.etl_component_test(etl.component.input.csv_in(file_conn, name='csv test'))
80 test.check_output([{'tel': '+32.81.81.37.00', 'id': '11', 'name': 'Fabien'}])
81 res=test.output()
82 print res
83
84 if __name__ == '__main__':
85 test()
86