diff --git a/source/net/filebot/format/MediaBindingBean.java b/source/net/filebot/format/MediaBindingBean.java index c48d14a9..1636cd1b 100644 --- a/source/net/filebot/format/MediaBindingBean.java +++ b/source/net/filebot/format/MediaBindingBean.java @@ -777,17 +777,16 @@ public class MediaBindingBean { return di == 0 ? null : di; } + @Define("self") + public AssociativeScriptObject getSelf() { + return createBindingObject(mediaFile, infoObject, context); + } + @Define("model") - public List getContext() { + public List getModel() { List result = new ArrayList(); for (Entry it : context.entrySet()) { - MediaBindingBean mediaBindingBean = new MediaBindingBean(it.getValue(), it.getKey(), context) { - @Define(undefined) - public T undefined(String name) { - return null; // never throw exceptions for empty or null values - } - }; - result.add(new AssociativeScriptObject(new ExpressionBindings(mediaBindingBean))); + result.add(createBindingObject(it.getKey(), it.getValue(), context)); } return result; } @@ -890,6 +889,16 @@ public class MediaBindingBean { return null; } + private AssociativeScriptObject createBindingObject(File file, Object info, Map context) { + MediaBindingBean mediaBindingBean = new MediaBindingBean(info, file, context) { + @Define(undefined) + public T undefined(String name) { + return null; // never throw exceptions for empty or null values + } + }; + return new AssociativeScriptObject(new ExpressionBindings(mediaBindingBean)); + } + private AssociativeScriptObject createMapBindings(Map map) { return new AssociativeScriptObject(map) {