--- a/dataimport.py Tue May 15 10:57:14 2012 +0200
+++ b/dataimport.py Tue May 15 14:43:30 2012 +0200
@@ -182,7 +182,10 @@
assert isinstance(row, dict)
assert isinstance(map, list)
for src, dest, funcs in map:
- res[dest] = row[src]
+ try:
+ res[dest] = row[src]
+ except KeyError:
+ continue
try:
for func in funcs:
res[dest] = func(res[dest])
@@ -446,9 +449,12 @@
if session is None:
sys.exit('please provide a session of run this script with cubicweb-ctl shell and pass cnx as session')
if not hasattr(session, 'set_cnxset'):
- # connection
- cnx = session
- session = session.request()
+ if hasattr(session, 'request'):
+ # connection object
+ cnx = session
+ session = session.request()
+ else: # object is already a request
+ cnx = session.cnx
session.set_cnxset = lambda : None
commit = commit or cnx.commit
else: