misc/scripts/drop_external_entities.py
changeset 6636 dbc9cce53c11
child 7398 26695dd703d8
equal deleted inserted replaced
6635:4e560631f36d 6636:dbc9cce53c11
       
     1 from cubicweb import UnknownEid
       
     2 source, = __args__
       
     3 
       
     4 sql("DELETE FROM entities WHERE type='Int'")
       
     5 
       
     6 ecnx = session.pool.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.__regid__, e.eid, meta
       
    14         continue
       
    15     if suri != 'system':
       
    16         try:
       
    17             print 'deleting', e.__regid__, e.eid, suri, e.dc_title().encode('utf8')
       
    18             repo.delete_info(session, e, suri, meta['extid'], scleanup=True)
       
    19         except UnknownEid:
       
    20             print '  cant delete', e.__regid__, e.eid, meta
       
    21 
       
    22 
       
    23 commit()