Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@sugarlabs.org>2013-11-23 07:34:46 (GMT)
committer Aleksey Lim <alsroot@sugarlabs.org>2013-11-23 08:01:44 (GMT)
commit2ad853ad16d3dce4dacf1313f67e168b0d8213d0 (patch)
tree89b49a8e0d4d6a4d427f7666b0af1086c369409d
parenta181951a95ea19225807aa7c716347192c8af1ee (diff)
Process artifact node stats not for screenshots
-rw-r--r--sugar_network/model/__init__.py2
-rw-r--r--sugar_network/node/routes.py2
-rw-r--r--sugar_network/node/stats_node.py14
-rwxr-xr-xtests/units/node/node.py6
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': '',
})