~openerp-commiter/openobject-addons/trunk-extra-addons

« back to all changes in this revision

Viewing changes to etl_interface/etl_component/input/csv_in.py

  • Committer: Harry (Open ERP)
  • Date: 2009-03-18 12:51:34 UTC
  • mto: (3589.27.39 extra)
  • mto: This revision was merged to the branch mainline in revision 3595.
  • Revision ID: hmo@tinyerp.com-20090318125134-ywp6lsse5u9ffcbs
[ETL] etl_interface : new module for etl interface with openerp

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/python
 
2
# -*- encoding: utf-8 -*-
 
3
##############################################################################
 
4
#
 
5
#    OpenERP, Open Source Management Solution
 
6
#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). All Rights Reserved
 
7
#    $Id$
 
8
#
 
9
#    This program is free software: you can redistribute it and/or modify
 
10
#    it under the terms of the GNU General Public License as published by
 
11
#    the Free Software Foundation, either version 3 of the License, or
 
12
#    (at your option) any later version.
 
13
#
 
14
#    This program is distributed in the hope that it will be useful,
 
15
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
 
16
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
17
#    GNU General Public License for more details.
 
18
#
 
19
#    You should have received a copy of the GNU General Public License
 
20
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
21
#
 
22
##############################################################################
 
23
import etl
 
24
import tools
 
25
from osv import osv, fields
 
26
 
 
27
class etl_component_csv_in(osv.osv):
 
28
    _name='etl.component'
 
29
    _inherit = 'etl.component'    
 
30
 
 
31
    _columns={
 
32
            'connector_id' :  fields.many2one('etl.connector', 'Connector', domain="[('type','=','localfile')]"),             
 
33
            'row_limit' : fields.integer('Limit'), 
 
34
            'csv_params' : fields.char('CSV Parameters', size=64), 
 
35
     }
 
36
    _defaults={
 
37
            'csv_params':lambda *x:'{}'
 
38
     }
 
39
    
 
40
         
 
41
    def create_instance(self, cr, uid, id, context={}):        
 
42
        val=super(etl_component_csv_in, self).create_instance(cr, uid, id, context)
 
43
        obj_connector=self.pool.get('etl.connector')
 
44
        obj_transformer = self.pool.get('etl.transformer')
 
45
        cmp=self.browse(cr, uid, id)
 
46
        if cmp.type_id.name=='input.csv_in':      
 
47
            conn_instance=trans_instance=False            
 
48
            if cmp.connector_id:                
 
49
                conn_instance=obj_connector.get_instance(cr, uid, cmp.connector_id.id , context)                
 
50
            if cmp.transformer_id:                
 
51
                trans_instance=obj_transformer.get_instance(cr, uid, cmp.transformer_id.id, context)
 
52
 
 
53
            val =etl.component.input.csv_in(conn_instance, 'component.input.csv_in', trans_instance, cmp.row_limit, cmp.csv_params and eval(cmp.csv_params) or {})
 
54
        
 
55
            
 
56
        return val
 
57
        
 
58
etl_component_csv_in()
 
59
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
 
60