diff options
author | Aleksey Lim <alsroot@sugarlabs.org> | 2013-11-23 07:34:46 (GMT) |
---|---|---|
committer | Aleksey Lim <alsroot@sugarlabs.org> | 2013-11-23 08:01:44 (GMT) |
commit | 2ad853ad16d3dce4dacf1313f67e168b0d8213d0 (patch) | |
tree | 89b49a8e0d4d6a4d427f7666b0af1086c369409d | |
parent | a181951a95ea19225807aa7c716347192c8af1ee (diff) |
Process artifact node stats not for screenshots
-rw-r--r-- | sugar_network/model/__init__.py | 2 | ||||
-rw-r--r-- | sugar_network/node/routes.py | 2 | ||||
-rw-r--r-- | sugar_network/node/stats_node.py | 14 | ||||
-rwxr-xr-x | tests/units/node/node.py | 6 |
4 files changed, 15 insertions, 9 deletions
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': '', }) |