author | Pierre-Yves David <pierre-yves.david@logilab.fr> |
Tue, 23 Apr 2013 15:33:50 +0200 | |
changeset 8900 | 010a59e12d89 |
parent 7884 | 35d2e2f4e10a |
permissions | -rw-r--r-- |
6636
dbc9cce53c11
[ms] script to drop external entities from an external source
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
1 |
from cubicweb import UnknownEid |
dbc9cce53c11
[ms] script to drop external entities from an external source
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
2 |
source, = __args__ |
dbc9cce53c11
[ms] script to drop external entities from an external source
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
3 |
|
dbc9cce53c11
[ms] script to drop external entities from an external source
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
4 |
sql("DELETE FROM entities WHERE type='Int'") |
dbc9cce53c11
[ms] script to drop external entities from an external source
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
5 |
|
7398
26695dd703d8
[repository api] definitly kill usage of word 'pool' to refer to connections set used by a session
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
6636
diff
changeset
|
6 |
ecnx = session.cnxset.connection(source) |
6636
dbc9cce53c11
[ms] script to drop external entities from an external source
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
7 |
for e in rql('Any X WHERE X cw_source S, S name %(name)s', {'name': source}).entities(): |
dbc9cce53c11
[ms] script to drop external entities from an external source
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
8 |
meta = e.cw_metainformation() |
dbc9cce53c11
[ms] script to drop external entities from an external source
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
9 |
assert meta['source']['uri'] == source |
dbc9cce53c11
[ms] script to drop external entities from an external source
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
10 |
try: |
dbc9cce53c11
[ms] script to drop external entities from an external source
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
11 |
suri = ecnx.describe(meta['extid'])[1] |
dbc9cce53c11
[ms] script to drop external entities from an external source
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
12 |
except UnknownEid: |
8900
010a59e12d89
use cw_etype instead of __regid__
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7884
diff
changeset
|
13 |
print 'cant describe', e.cw_etype, e.eid, meta |
6636
dbc9cce53c11
[ms] script to drop external entities from an external source
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
14 |
continue |
dbc9cce53c11
[ms] script to drop external entities from an external source
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
15 |
if suri != 'system': |
dbc9cce53c11
[ms] script to drop external entities from an external source
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
16 |
try: |
8900
010a59e12d89
use cw_etype instead of __regid__
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7884
diff
changeset
|
17 |
print 'deleting', e.cw_etype, e.eid, suri, e.dc_title().encode('utf8') |
7884
35d2e2f4e10a
[repo] cleanup [_]delete_info prototype: extid argument isn't used
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
7398
diff
changeset
|
18 |
repo.delete_info(session, e, suri, scleanup=e.eid) |
6636
dbc9cce53c11
[ms] script to drop external entities from an external source
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
19 |
except UnknownEid: |
8900
010a59e12d89
use cw_etype instead of __regid__
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7884
diff
changeset
|
20 |
print ' cant delete', e.cw_etype, e.eid, meta |
6636
dbc9cce53c11
[ms] script to drop external entities from an external source
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
21 |
|
dbc9cce53c11
[ms] script to drop external entities from an external source
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
22 |
|
dbc9cce53c11
[ms] script to drop external entities from an external source
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
23 |
commit() |