Search the FirstSpirit Knowledge Base
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
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!
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!