devtools/dataimport.py
branch3.5
changeset 3029 bc573d5fb5b7
parent 3003 2944ee420dca
child 3318 5b47b9f09bca
equal deleted inserted replaced
3022:238ad682bcb7 3029:bc573d5fb5b7
    34           'Deux utilisateurs ne devraient pas avoir le même login.'),
    34           'Deux utilisateurs ne devraient pas avoir le même login.'),
    35          ]
    35          ]
    36 
    36 
    37   GENERATORS.append( (gen_users, CHK) )
    37   GENERATORS.append( (gen_users, CHK) )
    38 
    38 
    39   # progress callback
       
    40   def tell(msg):
       
    41       print msg
       
    42 
       
    43   # create controller
    39   # create controller
    44   ctl = CWImportController(RQLObjectStore())
    40   ctl = CWImportController(RQLObjectStore())
    45   ctl.askerror = True
    41   ctl.askerror = True
    46   ctl._tell = tell
       
    47   ctl.generators = GENERATORS
    42   ctl.generators = GENERATORS
    48   ctl.store._checkpoint = checkpoint
    43   ctl.store._checkpoint = checkpoint
    49   ctl.store._rql = rql
    44   ctl.store._rql = rql
    50   ctl.data['utilisateurs'] = lazytable(utf8csvreader(open('users.csv')))
    45   ctl.data['utilisateurs'] = lazytable(utf8csvreader(open('users.csv')))
    51   # run
    46   # run
    72     >>> data = lazytable(utf8csvreader(open(filename)))
    67     >>> data = lazytable(utf8csvreader(open(filename)))
    73     """
    68     """
    74     header = reader.next()
    69     header = reader.next()
    75     for row in reader:
    70     for row in reader:
    76         yield dict(zip(header, row))
    71         yield dict(zip(header, row))
       
    72 
       
    73 def tell(msg):
       
    74     print msg
    77 
    75 
    78 # base sanitizing functions #####
    76 # base sanitizing functions #####
    79 
    77 
    80 def capitalize_if_unicase(txt):
    78 def capitalize_if_unicase(txt):
    81     if txt.isupper() or txt.islower():
    79     if txt.isupper() or txt.islower():
   217         self.store = store
   215         self.store = store
   218         self.generators = None
   216         self.generators = None
   219         self.data = {}
   217         self.data = {}
   220         self.errors = None
   218         self.errors = None
   221         self.askerror = False
   219         self.askerror = False
       
   220         self._tell = tell
   222 
   221 
   223     def check(self, type, key, value):
   222     def check(self, type, key, value):
   224         self._checks.setdefault(type, {}).setdefault(key, []).append(value)
   223         self._checks.setdefault(type, {}).setdefault(key, []).append(value)
   225 
   224 
   226     def check_map(self, entity, key, map, default):
   225     def check_map(self, entity, key, map, default):