misc/scripts/drop_external_entities.py
changeset 9448 3e7cad3967c5
parent 9447 0636c4960259
child 9449 287a05ec7ab1
equal deleted inserted replaced
9447:0636c4960259 9448:3e7cad3967c5
     1 from cubicweb import UnknownEid
       
     2 source, = __args__
       
     3 
       
     4 sql("DELETE FROM entities WHERE type='Int'")
       
     5 
       
     6 ecnx = session.cnxset.connection(source)
       
     7 for e in rql('Any X WHERE X cw_source S, S name %(name)s', {'name': source}).entities():
       
     8     meta = e.cw_metainformation()
       
     9     assert meta['source']['uri'] == source
       
    10     try:
       
    11         suri = ecnx.describe(meta['extid'])[1]
       
    12     except UnknownEid:
       
    13         print 'cant describe', e.cw_etype, e.eid, meta
       
    14         continue
       
    15     if suri != 'system':
       
    16         try:
       
    17             print 'deleting', e.cw_etype, e.eid, suri, e.dc_title().encode('utf8')
       
    18             repo.delete_info(session, e, suri, scleanup=e.eid)
       
    19         except UnknownEid:
       
    20             print '  cant delete', e.cw_etype, e.eid, meta
       
    21 
       
    22 
       
    23 commit()