Skip to content

Commit

Permalink
Add files via upload
Browse files Browse the repository at this point in the history
  • Loading branch information
Paul-Riggott committed Jul 27, 2017
1 parent 157ef45 commit 197bad0
Showing 1 changed file with 107 additions and 0 deletions.
107 changes: 107 additions & 0 deletions Expert Search.jsx
@@ -0,0 +1,107 @@
//This script is for expert users only!
#target bridge
if( BridgeTalk.appName == "bridge" ) {
expertSearch = new MenuElement("command", "Expert Search", "at the end of tools");
}
expertSearch.onSelect = function () {
if (ExternalObject.AdobeXMPScript == undefined) ExternalObject.AdobeXMPScript = new ExternalObject("lib:AdobeXMPScript");
var ns = [];
var xmp = new XMPMeta("");
ns= XMPMeta.dumpNamespaces();
ns =ns.split("\n");
var NameSpaces =[];
for(var a in ns){
if(a == 0) continue;
var parts = ns[a].split("=>");
if(parts.length == 2) NameSpaces.push([[parts[0].toString().replace(/^\s+|\s+$/,"")],[parts[1].toString().replace(/^\s+|\s+$/,"")]]);
}
var win = new Window("dialog","Expert Find");
g = win.graphics;
var myBrush = g.newBrush(g.BrushType.SOLID_COLOR, [0.99, 0.99, 0.99, 1]);
g.backgroundColor = myBrush;
win.alignChildren="row";
win.g10 = win.add('group');
win.g10.orientation = "row";
win.title = win.g10.add('statictext',undefined,'Expert Find');
win.title.alignment="bottom";
var g = win.title.graphics;
g.font = ScriptUI.newFont("Georgia","BOLDITALIC",22);
win.p1= win.add("panel", undefined, undefined, {borderStyle:"black"});
win.p1.alignChildren="fill";
win.g5 =win.p1.add('group');
win.g5.spacing=10;
win.g5.st1 = win.g5.add("statictext", undefined,"Prefix");
win.g5.dd1 = win.g5.add("dropdownlist");
win.g5.dd1.preferredSize=[100,20];
win.g5.st2 = win.g5.add("statictext", undefined,"NameSpace");
win.g5.dd2 = win.g5.add("dropdownlist");
win.g5.dd2.preferredSize=[300,20];
for(var a in NameSpaces){
win.g5.dd1.add("item",NameSpaces[a][0].toString().replace(/:/g,""));
win.g5.dd2.add("item",NameSpaces[a][1].toString());
}
win.g5.dd1.selection=0;
win.g5.dd2.selection=0;
win.g5.dd1.onChange = function(){
win.g5.dd2.selection = win.g5.dd1.selection.index;
}
win.g5.dd2.onChange = function(){
win.g5.dd1.selection = win.g5.dd2.selection.index;
}
win.g7 =win.p1.add('group');
win.g7.spacing=10;
win.g7.st1 = win.g7.add("statictext", undefined,"Enter Field Name...");
win.g7.et1 = win.g7.add("edittext");
win.g7.et1.preferredSize=[250,20];
win.g10 =win.p1.add('group');
win.g10.spacing=10;
win.g10.st1 = win.g10.add("statictext", undefined,"Enter text to find...");
win.g10.et1 = win.g10.add("edittext");
win.g10.et1.preferredSize=[250,20];
win.g20 =win.p1.add('group');
win.g20.spacing=10;
win.g20.cb1 = win.g20.add('checkbox',undefined,'Case Insensitive');
win.g20.cb1.value=true;
win.g100 =win.p1.add('group');
win.g100.spacing=10;
win.g100.bu1 = win.g100.add("button",undefined,"Process");
win.g100.bu1.preferredSize=[270,40];
win.g100.bu2 = win.g100.add("button",undefined,"Cancel");
win.g100.bu2.preferredSize=[270,40];
win.g100.bu1.onClick=function(){
if(win.g7.et1.text == ""){
alert("No Field Name has been entered!");
return;
}
if(win.g10.et1.text == ""){
alert("No Text to Find has been entered!");
return;
}
win.close(0);
var thumbList = [];
app.document.deselectAll();
var items = app.document.getSelection("jpg,tif,gif,psd,pcx,png,eps,crw,cr2,tiff,raw,rw2,dng,nef,orf,erf,mos,dcr,raf,srf,pef,x3f");
if(win.g20.cb1.value ) var patt = new RegExp (win.g10.et1.text.toString(),"i") else var patt = new RegExp (win.g10.et1.text.toString());
var patt2 = new RegExp (win.g7.et1.text.toString(),"i")
for (var p in items){
var md = items[p].synchronousMetadata;
var xmp = new XMPMeta(md.serialize());
iter = xmp.iterator(0, win.g5.dd2.selection.text);
while((prop = iter.next()) != null) {
if(prop.path != null) {
if(patt2.test(prop.path.toString())) {
if(patt.test(prop.value.toString())){ thumbList.push(items[p]);
}
}
}
}
}
if(thumbList.length > 0) {
var name =win.g7.et1.text;
var Col = app.createCollection(name);
app.addCollectionMember(Col,thumbList);
app.document.thumbnail = Col;
}
}
win.show();
};

0 comments on commit 197bad0

Please sign in to comment.