From 2ad853ad16d3dce4dacf1313f67e168b0d8213d0 Mon Sep 17 00:00:00 2001 From: Aleksey Lim Date: Sat, 23 Nov 2013 07:34:46 +0000 Subject: Process artifact node stats not for screenshots --- diff --git a/sugar_network/model/__init__.py b/sugar_network/model/__init__.py index d30b697..bb70a8a 100644 --- a/sugar_network/model/__init__.py +++ b/sugar_network/model/__init__.py @@ -19,7 +19,7 @@ from sugar_network.model.routes import VolumeRoutes, FrontRoutes CONTEXT_TYPES = ['activity', 'project', 'package', 'content'] NOTIFICATION_TYPES = ['create', 'update', 'delete', 'vote'] FEEDBACK_TYPES = ['question', 'idea', 'problem'] -ARTIFACT_TYPES = ['instance'] +ARTIFACT_TYPES = ['instance', 'preview'] NOTIFICATION_OBJECT_TYPES = [ '', 'content', 'feedback', 'solution', 'artifact', 'version', 'report', diff --git a/sugar_network/node/routes.py b/sugar_network/node/routes.py index dece569..7393684 100644 --- a/sugar_network/node/routes.py +++ b/sugar_network/node/routes.py @@ -438,7 +438,7 @@ def generate_node_stats(volume, path): ('user', []), ('context', []), ('implementation', ['context']), - ('artifact', ['context']), + ('artifact', ['context', 'type']), ('feedback', ['context']), ('solution', ['context', 'feedback']), ('review', ['context', 'artifact', 'rating']), diff --git a/sugar_network/node/stats_node.py b/sugar_network/node/stats_node.py index fbb22fa..8a91994 100644 --- a/sugar_network/node/stats_node.py +++ b/sugar_network/node/stats_node.py @@ -316,10 +316,16 @@ class _ArtifactStats(_ResourceStats): self['downloaded'] = 0 def log(self, request): - _ResourceStats.log(self, request) - - if request.method == 'GET': - if request.prop == 'data': + if request.method == 'POST': + if request.content.get('type') != 'preview': + self['total'] += 1 + elif request.method == 'DELETE': + existing = self._volume[self.RESOURCE].get(request.guid) + if existing['type'] != 'preview': + self['total'] -= 1 + elif request.method == 'GET' and request.prop == 'data': + existing = self._volume[self.RESOURCE].get(request.guid) + if existing['type'] != 'preview': self.inc(request.guid, 'downloads') self['downloaded'] += 1 diff --git a/tests/units/node/node.py b/tests/units/node/node.py index f7d4fa7..7ec339e 100755 --- a/tests/units/node/node.py +++ b/tests/units/node/node.py @@ -973,7 +973,7 @@ class NodeTest(tests.Test): 'mtime': ts + 3, 'layer': [], 'context': 'context_1', - 'type': 'preview', + 'type': 'instance', 'title': '', 'description': '', }) @@ -1133,7 +1133,7 @@ class NodeTest(tests.Test): 'mtime': ts + 4, 'layer': [], 'context': 'context_2', - 'type': 'preview', + 'type': 'instance', 'title': '', 'description': '', }) @@ -1375,7 +1375,7 @@ class NodeTest(tests.Test): 'mtime': ts + 2, 'layer': ['deleted'], 'context': 'context_1', - 'type': 'preview', + 'type': 'instance', 'title': '', 'description': '', }) -- cgit v0.9.1