diff options
-rw-r--r-- | service/pixelated/config/app_factory.py | 3 | ||||
-rw-r--r-- | service/pixelated/resources/root_resource.py | 2 | ||||
-rw-r--r-- | service/pixelated/resources/sync_info_resource.py | 46 | ||||
-rw-r--r-- | service/test/unit/resources/test_sync_info_controller.py | 53 | ||||
-rw-r--r-- | web-ui/app/js/mail_list/ui/mail_syncing_progress_bar.js | 75 | ||||
-rw-r--r-- | web-ui/app/js/page/default.js | 1 |
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', |