From 5a3c8e9a05e1fb4df77d410e7a1c1ff5508c3a63 Mon Sep 17 00:00:00 2001 From: Adam Miller Date: Mon, 15 Sep 2014 11:06:33 -0700 Subject: [PATCH 1/7] ARI-4016 - Support: embedded videos on marquette.edu --- umbra/behaviors.d/marquette_edu.js | 56 ++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 umbra/behaviors.d/marquette_edu.js diff --git a/umbra/behaviors.d/marquette_edu.js b/umbra/behaviors.d/marquette_edu.js new file mode 100644 index 0000000..67833d9 --- /dev/null +++ b/umbra/behaviors.d/marquette_edu.js @@ -0,0 +1,56 @@ +// {"url_regex":"^https?://(?:www\\.)?marquette\\.edu/.*$", "request_idle_timeout_sec":10} +// +// vim:set sw=8 et: +// + +var umbraState = {'idleSince':null,'done':null}; + + +var intervalID = setInterval(scrollInterval,50); +var images; +var imageID=0; +var imageCount=0; +function scrollInterval() { + scroll(); + + //if not at the bottom + if(window.scrollY + window.innerHeight < document.documentElement.scrollHeight) { + umbraState.idleSince=Date.now(); + } + else { + clearInterval(intervalID); + umbraState.idleSince=null; + var videoBox = document.querySelectorAll("div#vid_box a"); + if(videoBox.length>0) { + for(i=0;i UMBRA_USER_ACTION_IDLE_TIMEOUT_SEC) { + return true; + } + } + return false; +} + From eb3ea95b871d2a829f8269a5734d2d4427988b58 Mon Sep 17 00:00:00 2001 From: Adam Miller Date: Wed, 17 Sep 2014 15:26:13 -0700 Subject: [PATCH 2/7] Cleanup timeout logic --- umbra/behaviors.d/marquette_edu.js | 44 +++++++++++++++--------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/umbra/behaviors.d/marquette_edu.js b/umbra/behaviors.d/marquette_edu.js index 67833d9..20d70ff 100644 --- a/umbra/behaviors.d/marquette_edu.js +++ b/umbra/behaviors.d/marquette_edu.js @@ -3,34 +3,37 @@ // vim:set sw=8 et: // -var umbraState = {'idleSince':null,'done':null}; - - -var intervalID = setInterval(scrollInterval,50); -var images; -var imageID=0; -var imageCount=0; -function scrollInterval() { - scroll(); +var umbraState = {'idleSince':null}; +var umbraIntervalID = setInterval(umbraScrollInterval,50); +var umbraAlreadyClicked = {}; +function umbraScrollInterval() { //if not at the bottom if(window.scrollY + window.innerHeight < document.documentElement.scrollHeight) { - umbraState.idleSince=Date.now(); - } - else { - clearInterval(intervalID); + umbraScroll(); umbraState.idleSince=null; - var videoBox = document.querySelectorAll("div#vid_box a"); - if(videoBox.length>0) { - for(i=0;i0) { + for(i=0;i UMBRA_USER_ACTION_IDLE_TIMEOUT_SEC) { From e264f09c27ac54c4cd6c8b79005570675b30deeb Mon Sep 17 00:00:00 2001 From: Asad Dhamani Date: Wed, 29 Oct 2014 12:42:43 +0530 Subject: [PATCH 3/7] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 331312e..d65c82d 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ Install via pip from this repo, e.g. Umbra requires an AMQP messaging service like RabbitMQ. On Ubuntu, `sudo apt-get install rabbitmq-server` will install and start RabbitMQ -at amqp://guest:guest@localhost:5672/%2f, which the default AMQP url for umbra. +at amqp://guest:guest@localhost:5672//, which is the default AMQP url for umbra. Run --- From 9231cc2b5c9fbe5e2708766aeff1bef2b65c6a5b Mon Sep 17 00:00:00 2001 From: Asad Dhamani Date: Fri, 31 Oct 2014 07:02:49 +0530 Subject: [PATCH 4/7] Update README.md --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index d65c82d..11b8d38 100644 --- a/README.md +++ b/README.md @@ -22,8 +22,7 @@ Install via pip from this repo, e.g. pip install git+https://github.com/internetarchive/umbra.git Umbra requires an AMQP messaging service like RabbitMQ. On Ubuntu, -`sudo apt-get install rabbitmq-server` will install and start RabbitMQ -at amqp://guest:guest@localhost:5672//, which is the default AMQP url for umbra. +`sudo apt-get install rabbitmq-server` will install and start RabbitMQ at amqp://guest:guest@localhost:5672/%2f, which is the default AMQP url for umbra. Run --- From ab86426475649d7cfc8bb095d2e216112d5999b5 Mon Sep 17 00:00:00 2001 From: Noah Levitt Date: Mon, 3 Nov 2014 11:54:10 -0800 Subject: [PATCH 5/7] properly handle socket.error from amqp conn.drain_events (was previously diagnosed as error starting browser) --- umbra/controller.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/umbra/controller.py b/umbra/controller.py index 7a74155..b37a588 100644 --- a/umbra/controller.py +++ b/umbra/controller.py @@ -117,6 +117,9 @@ class AmqpBrowserController: break # out of "while True" to acquire another browser except socket.timeout: pass + except socket.error: + self.logger.error("problem consuming messages from AMQP, will try reconnecting after active browsing finishes", exc_info=True) + self._reconnect_requested = True if self._consumer_stop.is_set() or time.time() - start >= timeout or self._reconnect_requested: browser.stop() From 9053279b4e8a3271f0d61db37d3827aa15b0c362 Mon Sep 17 00:00:00 2001 From: Noah Levitt Date: Mon, 3 Nov 2014 11:54:59 -0800 Subject: [PATCH 6/7] change default routing key to "urls" --- bin/queue-url | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/queue-url b/bin/queue-url index a56d806..e93cfa8 100755 --- a/bin/queue-url +++ b/bin/queue-url @@ -15,7 +15,7 @@ arg_parser.add_argument('-u', '--url', dest='amqp_url', default='amqp://guest:gu help='URL identifying the AMQP server to talk to') arg_parser.add_argument('--exchange', dest='amqp_exchange', default='umbra', help='AMQP exchange name') -arg_parser.add_argument('--routing-key', dest='amqp_routing_key', default='url', +arg_parser.add_argument('--routing-key', dest='amqp_routing_key', default='urls', help='AMQP routing key') arg_parser.add_argument('-i', '--client-id', dest='client_id', default='load_url.0', help='client id - included in the json payload with each url; umbra uses this value as the routing key to send requests back to') From 7f8e6802de931d654bb5761b50335bf996f787a5 Mon Sep 17 00:00:00 2001 From: Adam Miller Date: Fri, 7 Nov 2014 15:56:05 -0800 Subject: [PATCH 7/7] Implementing suggestions in pull request. --- umbra/behaviors.d/marquette_edu.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/umbra/behaviors.d/marquette_edu.js b/umbra/behaviors.d/marquette_edu.js index 20d70ff..cdaab00 100644 --- a/umbra/behaviors.d/marquette_edu.js +++ b/umbra/behaviors.d/marquette_edu.js @@ -16,16 +16,16 @@ function umbraScrollInterval() { else { var videoBoxes = document.querySelectorAll("div#vid_box a"); var clickedVideo = false; - if(videoBoxes.length>0) { - for(i=0;i