diff --git a/boards/management/commands/sync_with_server.py b/boards/management/commands/sync_with_server.py --- a/boards/management/commands/sync_with_server.py +++ b/boards/management/commands/sync_with_server.py @@ -39,7 +39,7 @@ class Command(BaseCommand): h = httplib2.Http() response, content = h.request(url, method="POST", body=xml) - SyncManager().parse_response_get(content) + SyncManager.parse_response_get(content) else: raise Exception('Invalid global ID') else: diff --git a/boards/models/post/sync.py b/boards/models/post/sync.py --- a/boards/models/post/sync.py +++ b/boards/models/post/sync.py @@ -31,9 +31,9 @@ ATTR_MIMETYPE = 'mimetype' STATUS_SUCCESS = 'success' -# TODO Make this fully static class SyncManager: - def generate_response_get(self, model_list: list): + @staticmethod + def generate_response_get(model_list: list): response = et.Element(TAG_RESPONSE) status = et.SubElement(response, TAG_STATUS) @@ -88,8 +88,9 @@ class SyncManager: return et.tostring(response, ENCODING_UNICODE) + @staticmethod @transaction.atomic - def parse_response_get(self, response_xml): + def parse_response_get(response_xml): tag_root = et.fromstring(response_xml) tag_status = tag_root.find(TAG_STATUS) if STATUS_SUCCESS == tag_status.text: diff --git a/boards/tests/test_keys.py b/boards/tests/test_keys.py --- a/boards/tests/test_keys.py +++ b/boards/tests/test_keys.py @@ -56,7 +56,7 @@ class KeyTest(TestCase): text='[post]%d[/post]' % post.id, thread=post.get_thread()) - response = SyncManager().generate_response_get([reply_post]) + response = SyncManager.generate_response_get([reply_post]) logger.debug(response) key = KeyPair.objects.get(primary=True) diff --git a/boards/tests/test_sync.py b/boards/tests/test_sync.py --- a/boards/tests/test_sync.py +++ b/boards/tests/test_sync.py @@ -51,10 +51,10 @@ class SyncTest(TestCase): post.delete() - SyncManager().parse_response_get(response) + SyncManager.parse_response_get(response) self.assertEqual(1, Post.objects.count(), 'Post was not created from XML response.') - SyncManager().parse_response_get(response) + SyncManager.parse_response_get(response) self.assertEqual(1, Post.objects.count(), 'The same post was imported twice.') diff --git a/boards/views/api.py b/boards/views/api.py --- a/boards/views/api.py +++ b/boards/views/api.py @@ -254,5 +254,5 @@ def sync_pull(request): else: pass # TODO Parse the XML and get filters from it - xml = SyncManager().generate_response_get(posts) + xml = SyncManager.generate_response_get(posts) return HttpResponse(content=xml) diff --git a/boards/views/sync.py b/boards/views/sync.py --- a/boards/views/sync.py +++ b/boards/views/sync.py @@ -28,7 +28,7 @@ def response_get(request): if exists: posts.append(Post.objects.get(global_id=global_id)) - response_xml = SyncManager().generate_response_get(posts) + response_xml = SyncManager.generate_response_get(posts) return HttpResponse(content=response_xml) @@ -40,7 +40,7 @@ def get_post_sync_data(request, post_id) raise Http404() content = 'Global ID: %s\n\nXML: %s' \ - % (post.global_id, SyncManager().generate_response_get([post])) + % (post.global_id, SyncManager.generate_response_get([post])) return HttpResponse(