diff options
Diffstat (limited to 'sugar_network/node/stats_node.py')
-rw-r--r-- | sugar_network/node/stats_node.py | 14 |
1 files changed, 10 insertions, 4 deletions
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 |