author | Alexandre Fayolle <alexandre.fayolle@logilab.fr> |
Tue, 22 Feb 2011 21:30:32 +0100 | |
branch | stable |
changeset 7029 | bae4d11a104b |
parent 7026 | 2c65dd2cbfff |
child 7032 | b712477ae286 |
permissions | -rw-r--r-- |
7026
2c65dd2cbfff
[migration] missing future import
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
6955
diff
changeset
|
1 |
from __future__ import with_statement |
6955
a6c32edabc8d
[entity, metadata] huuum, use resolvable url as cwuri... And fix existing ones.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
2 |
if confirm('fix existing cwuri?'): |
a6c32edabc8d
[entity, metadata] huuum, use resolvable url as cwuri... And fix existing ones.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
3 |
from logilab.common.shellutils import ProgressBar |
a6c32edabc8d
[entity, metadata] huuum, use resolvable url as cwuri... And fix existing ones.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
4 |
from cubicweb.server.session import hooks_control |
a6c32edabc8d
[entity, metadata] huuum, use resolvable url as cwuri... And fix existing ones.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
5 |
rset = rql('Any X, XC WHERE X cwuri XC, X cwuri ~= "%/eid/%"') |
a6c32edabc8d
[entity, metadata] huuum, use resolvable url as cwuri... And fix existing ones.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
6 |
pb = ProgressBar(nbops=rset.rowcount, size=70) |
a6c32edabc8d
[entity, metadata] huuum, use resolvable url as cwuri... And fix existing ones.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
7 |
with hooks_control(session, session.HOOKS_DENY_ALL, 'integrity'): |
a6c32edabc8d
[entity, metadata] huuum, use resolvable url as cwuri... And fix existing ones.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
8 |
for i, e in enumerate(rset.entities()): |
a6c32edabc8d
[entity, metadata] huuum, use resolvable url as cwuri... And fix existing ones.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
9 |
e.set_attributes(cwuri=e.cwuri.replace('/eid', '')) |
a6c32edabc8d
[entity, metadata] huuum, use resolvable url as cwuri... And fix existing ones.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
10 |
if i % 100: # commit every 100 entities to limit memory consumption |
a6c32edabc8d
[entity, metadata] huuum, use resolvable url as cwuri... And fix existing ones.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
11 |
commit(ask_confirm=False) |
a6c32edabc8d
[entity, metadata] huuum, use resolvable url as cwuri... And fix existing ones.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
12 |
pb.update() |
a6c32edabc8d
[entity, metadata] huuum, use resolvable url as cwuri... And fix existing ones.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
13 |
commit(ask_confirm=False) |