summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--service/pixelated/config/app_factory.py3
-rw-r--r--service/pixelated/resources/root_resource.py2
-rw-r--r--service/pixelated/resources/sync_info_resource.py46
-rw-r--r--service/test/unit/resources/test_sync_info_controller.py53
-rw-r--r--web-ui/app/js/mail_list/ui/mail_syncing_progress_bar.js75
-rw-r--r--web-ui/app/js/page/default.js1
6 files changed, 1 insertions, 179 deletions
diff --git a/service/pixelated/config/app_factory.py b/service/pixelated/config/app_factory.py
index 5dcf60cb..51f76741 100644
--- a/service/pixelated/config/app_factory.py
+++ b/service/pixelated/config/app_factory.py
@@ -53,9 +53,8 @@ def init_index_and_remove_dupes(querier, search_engine, mail_service):
return wrapper
-def update_info_sync_and_index_partial(sync_info_controller, search_engine, mail_service):
+def update_index_partial(search_engine, mail_service):
def wrapper(soledad_sync_status):
- sync_info_controller.set_sync_info(soledad_sync_status)
search_engine.index_mails(mails=mail_service.all_mails())
return wrapper
diff --git a/service/pixelated/resources/root_resource.py b/service/pixelated/resources/root_resource.py
index b45bd00f..4c0c47ac 100644
--- a/service/pixelated/resources/root_resource.py
+++ b/service/pixelated/resources/root_resource.py
@@ -4,7 +4,6 @@ from pixelated.resources.contacts_resource import ContactsResource
from pixelated.resources.features_resource import FeaturesResource
from pixelated.resources.mail_resource import MailResource
from pixelated.resources.mails_resource import MailsResource
-from pixelated.resources.sync_info_resource import SyncInfoResource
from pixelated.resources.tags_resource import TagsResource
from pixelated.resources.keys_resource import KeysResource
from twisted.web.resource import Resource
@@ -28,7 +27,6 @@ class RootResource(Resource):
self.putChild('attachment', AttachmentsResource(querier))
self.putChild('contacts', ContactsResource(search_engine))
self.putChild('features', FeaturesResource())
- self.putChild('sync_info', SyncInfoResource())
self.putChild('tags', TagsResource(search_engine))
self.putChild('mails', MailsResource(mail_service, draft_service))
self.putChild('mail', MailResource(mail_service))
diff --git a/service/pixelated/resources/sync_info_resource.py b/service/pixelated/resources/sync_info_resource.py
deleted file mode 100644
index 791c5add..00000000
--- a/service/pixelated/resources/sync_info_resource.py
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# Copyright (c) 2014 ThoughtWorks, Inc.
-#
-# Pixelated is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Pixelated is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
-from pixelated.resources import respond_json
-from twisted.web.resource import Resource
-
-
-class SyncInfoResource(Resource):
-
- isLeaf = True
-
- def __init__(self):
- Resource.__init__(self)
- self.current = 0
- self.total = 0
-
- def _get_progress(self):
- if self.total == 0:
- return 0
- return self.current / float(self.total)
-
- def set_sync_info(self, soledad_sync_status):
- self.current, self.total = [int(x) for x in soledad_sync_status.content.split('/')]
-
- def render_GET(self, request):
- _sync_info = {
- 'is_syncing': self.current != self.total,
- 'count': {
- 'current': self.current,
- 'total': self.total,
- 'progress': self._get_progress()
- }
- }
- return respond_json(_sync_info, request)
diff --git a/service/test/unit/resources/test_sync_info_controller.py b/service/test/unit/resources/test_sync_info_controller.py
deleted file mode 100644
index 1285237b..00000000
--- a/service/test/unit/resources/test_sync_info_controller.py
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# Copyright (c) 2014 ThoughtWorks, Inc.
-#
-# Pixelated is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Pixelated is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
-import unittest
-import json
-
-from test.support.test_helper import request_mock
-from pixelated.resources.sync_info_resource import SyncInfoResource
-from mockito import mock
-
-
-class SyncInfoResourceTest(unittest.TestCase):
-
- def setUp(self):
- self.dummy_request = request_mock()
- self.controller = SyncInfoResource()
-
- def _set_count(self, current, total):
- soledad_sync_data = mock()
- soledad_sync_data.content = "%s/%s" % (current, total)
- self.controller.set_sync_info(soledad_sync_data)
-
- def get_sync_info(self):
- return json.loads(self.controller.render_GET(self.dummy_request))
-
- def test_is_not_syncing_if_total_is_equal_to_current(self):
- self._set_count(total=0, current=0)
-
- sync_info = self.get_sync_info()
-
- self.assertFalse(sync_info['is_syncing'])
-
- def test_is_syncing_if_total_is_not_equal_to_current_and_adds_count(self):
- self._set_count(total=10, current=5)
-
- sync_info = self.get_sync_info()
-
- self.assertTrue(sync_info['is_syncing'])
- self.assertEquals(5, sync_info['count']['current'])
- self.assertEquals(10, sync_info['count']['total'])
- self.assertEquals(0.5, sync_info['count']['progress'])
diff --git a/web-ui/app/js/mail_list/ui/mail_syncing_progress_bar.js b/web-ui/app/js/mail_list/ui/mail_syncing_progress_bar.js
deleted file mode 100644
index 8d4eebb5..00000000
--- a/web-ui/app/js/mail_list/ui/mail_syncing_progress_bar.js
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (c) 2014 ThoughtWorks, Inc.
- *
- * Pixelated is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Pixelated is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
- */
-
-define(
- [
- 'flight/lib/component'
- ],
-
- function (defineComponent) {
- 'use strict';
-
- return defineComponent(mailSyncingProgressbar);
-
- function mailSyncingProgressbar() {
- this.updateProgressBar = function (count) {
- this.attr.syncingMails = true;
-
- this.$node.css({
- 'width': (count.progress * 100).toFixed(2) + '%',
- 'transition': '1000ms linear',
- 'background-color': '#FF7902',
- 'height': '3px'
- });
-
- };
-
- this.resetProgressBar = function () {
- this.$node.removeAttr('style');
- this.attr.syncingMails = false;
- clearInterval(this.attr.updateIntervalId);
- };
-
- this.doUpdate = function () {
- $.getJSON('/sync_info')
- .success(function (data) {
- if (data.is_syncing) {
- this.updateProgressBar(data.count);
- } else {
- this.resetProgressBar();
- }
- }.bind(this))
- .error(function () {
- clearInterval(this.attr.poolIntervalId);
- this.resetProgressBar();
- }.bind(this));
- };
-
- this.checkForMailSyncing = function () {
- if (this.attr.syncingMails) {
- return;
- }
- this.attr.updateIntervalId = setInterval(this.doUpdate.bind(this), 1000);
- };
-
- this.after('initialize', function () {
- this.checkForMailSyncing();
- this.attr.poolIntervalId = setInterval(this.checkForMailSyncing.bind(this), 20000);
- });
- }
- }
-);
diff --git a/web-ui/app/js/page/default.js b/web-ui/app/js/page/default.js
index 57c7fd00..3ff62f6c 100644
--- a/web-ui/app/js/page/default.js
+++ b/web-ui/app/js/page/default.js
@@ -20,7 +20,6 @@ define(
'mail_list_actions/ui/mail_list_actions',
'user_alerts/ui/user_alerts',
'mail_list/ui/mail_list',
- 'mail_list/ui/mail_syncing_progress_bar',
'mail_view/ui/no_message_selected_pane',
'mail_view/ui/mail_view',
'mail_view/ui/mail_actions',