From b06999e36aa72fcf925b004d74ca085963b55dd1 Mon Sep 17 00:00:00 2001 From: Jeffrey Morgan Date: Sat, 11 Apr 2015 17:59:03 -0400 Subject: [PATCH] New click-to-pull protocol Signed-off-by: Jeffrey Morgan --- src/ContainerStore.js | 4 ++++ src/Main.js | 13 ++++++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/ContainerStore.js b/src/ContainerStore.js index 70de5b65a5..262ddc6a57 100644 --- a/src/ContainerStore.js +++ b/src/ContainerStore.js @@ -202,6 +202,10 @@ var ContainerStore = assign(Object.create(EventEmitter.prototype), { var data = JSON.parse(json); console.log(data); + if (data.status === 'pull' || data.status === 'untag' || data.status === 'delete') { + return; + } + // If the event is delete, remove the container if (data.status === 'destroy') { var container = _.findWhere(_.values(_containers), {Id: data.id}); diff --git a/src/Main.js b/src/Main.js index 729025ce88..9726bc67d0 100644 --- a/src/Main.js +++ b/src/Main.js @@ -34,7 +34,6 @@ ipc.on('application:quitting', opts => { }); ipc.on('application:open-url', opts => { - console.log('Creating container from protocol'); var parser = document.createElement('a'); parser.href = opts.url; @@ -43,12 +42,12 @@ ipc.on('application:open-url', opts => { } var pathname = parser.pathname.replace('//', ''); - var slash = pathname.indexOf('/'); - var base = pathname.slice(0, slash); - - if (base === 'runRepo') { - var repo = pathname.substring(slash + 1); - ContainerStore.setPending(repo, 'latest'); + var tokens = pathname.split('/'); + var type = tokens[0]; + var method = tokens[1]; + var repo = tokens.slice(2).join('/'); + if (type === 'repository' && method === 'run') { + ContainerStore.setPending(repo, parser.tag || 'latest'); } });