Nicht verwendete Medien in Liste ausgeben
Author: marc_palm
Publication Date: 6/12/2015 9:19
Hallo,
gibt es eine Möglichkeit die nicht verwendeten Medien in einer Liste auszugeben und gegebenenfalls zu löschen.
Vielleicht macht ein Skript Sinn? Wie kommt man per API an die 'Verwendungen anzeigen'-Option?
Vielen Dank.
Beste Grüße
Marc
Tags: api
-
Author: MarcusDau - 6/12/2015 10:53
Hi!
Hier ein rudimentäres Beanshell-Script, was genau das macht. Gibt einfach alles auf der Java-Konsole aus:
//!Beanshell
e = context.getStoreElement();
media = e.getChildren(de.espirit.firstspirit.access.store.mediastore.Media.class,true);
resolution = context.getProject().getResolutionByName("ORIGINAL");
mediumIterator = media.iterator();
int zaehler = 1;
while (mediumIterator.hasNext()) {
try {
medium = mediumIterator.next();
if(!(medium.getIncomingReferences().length > 0)) {
if(medium.getType() == de.espirit.firstspirit.access.store.mediastore.Media.FILE) {
size = medium.getFile(context.getProject().getMasterLanguage()).getSize();
} else if(medium.getType() == de.espirit.firstspirit.access.store.mediastore.Media.PICTURE) {
size = medium.getPicture(context.getProject().getMasterLanguage()).getPictureResolution(resolution).getSize();
} else {
size = 0;
}
print("nicht referenziertes Medium " + zaehler++ + ": " + medium.uid + "(id=" + medium.id + "), (Size =" + size.toString() + "b)");
}
} catch (Exception e) {
context.logError("Exception:", e);
}
}
Sollte zumindest als Ansatz schon mal ganz okay sein!
0
Please sign in to leave a comment.
Comments
1 comment