diff --git a/README.md b/README.md index 331312e..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/%2f, which 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 --- 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') diff --git a/umbra/behaviors.d/marquette_edu.js b/umbra/behaviors.d/marquette_edu.js new file mode 100644 index 0000000..cdaab00 --- /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}; +var umbraIntervalID = setInterval(umbraScrollInterval,50); +var umbraAlreadyClicked = {}; +function umbraScrollInterval() { + + //if not at the bottom + if(window.scrollY + window.innerHeight < document.documentElement.scrollHeight) { + umbraScroll(); + umbraState.idleSince=null; + } + else { + var videoBoxes = document.querySelectorAll("div#vid_box a"); + var clickedVideo = false; + + for(i=0;i UMBRA_USER_ACTION_IDLE_TIMEOUT_SEC) { + return true; + } + } + return false; +} + 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()