43 |
43 |
44 print '******************** backport entity content ***************************' |
44 print '******************** backport entity content ***************************' |
45 |
45 |
46 from cubicweb.server import debugged |
46 from cubicweb.server import debugged |
47 todelete = {} |
47 todelete = {} |
|
48 host = source.config['base-url'].split('://')[1] |
48 for entity in rql('Any X WHERE X cw_source S, S eid %(s)s', {'s': source.eid}).entities(): |
49 for entity in rql('Any X WHERE X cw_source S, S eid %(s)s', {'s': source.eid}).entities(): |
49 with debugged('DBG_SQL'): |
|
50 etype = entity.__regid__ |
50 etype = entity.__regid__ |
51 if not source.support_entity(etype): |
51 if not source.support_entity(etype): |
52 print "source doesn't support %s, delete %s" % (etype, entity.eid) |
52 print "source doesn't support %s, delete %s" % (etype, entity.eid) |
53 elif etype in DONT_GET_BACK_ETYPES: |
53 elif etype in DONT_GET_BACK_ETYPES: |
54 print 'ignore %s, delete %s' % (etype, entity.eid) |
54 print 'ignore %s, delete %s' % (etype, entity.eid) |
55 else: |
55 else: |
56 try: |
56 try: |
57 entity.complete() |
57 entity.complete() |
58 except: |
58 if not host in entity.cwuri: |
|
59 print 'SKIP foreign entity', entity.cwuri, source.config['base-url'] |
|
60 continue |
|
61 except Exception: |
59 print '%s %s much probably deleted, delete it (extid %s)' % ( |
62 print '%s %s much probably deleted, delete it (extid %s)' % ( |
60 etype, entity.eid, entity.cw_metainformation()['extid']) |
63 etype, entity.eid, entity.cw_metainformation()['extid']) |
61 else: |
64 else: |
62 print 'get back', etype, entity.eid |
65 print 'get back', etype, entity.eid |
63 entity.cw_edited = EditedEntity(entity, **entity.cw_attr_cache) |
66 entity.cw_edited = EditedEntity(entity, **entity.cw_attr_cache) |