Revision b82d3277

b/snf-pithos-backend/pithos/backends/modular.py
456 456
            for h in hashes:
457 457
                self.store.map_delete(h)
458 458
            self.node.node_purge_children(node, until, CLUSTER_DELETED)
459
            self._report_size_change(user, account, -size, {'action': 'container purge'})
459
            self._report_size_change(user, account, -size, {'action': 'container purge', 'path':path})
460 460
            return
461 461
        
462 462
        if not delimiter:
......
467 467
                self.store.map_delete(h)
468 468
            self.node.node_purge_children(node, inf, CLUSTER_DELETED)
469 469
            self.node.node_remove(node)
470
            self._report_size_change(user, account, -size, {'action': 'container delete'})
470
            self._report_size_change(user, account, -size, {'action': 'container delete', 'path':path})
471 471
        else:
472 472
        	# remove only contents
473 473
            src_names = self._list_objects_no_limit(user, account, container, prefix='', delimiter=None, virtual=False, domain=None, keys=[], shared=False, until=None, size_range=None, all_props=True, public=False)
......
478 478
                src_version_id, dest_version_id = self._put_version_duplicate(user, node, size=0, type='', hash=None, checksum='', cluster=CLUSTER_DELETED)
479 479
                del_size = self._apply_versioning(account, container, src_version_id)
480 480
                if del_size:
481
                    self._report_size_change(user, account, -del_size, {'action': 'object delete'})
481
                    self._report_size_change(user, account, -del_size, {'action': 'object delete', 'path':path})
482 482
                self._report_object_change(user, account, path, details={'action': 'object delete'})
483 483
                paths.append(path)
484 484
            self.permissions.access_clear_bulk(paths)
......
741 741
               (container_quota > 0 and self._get_statistics(container_node)[1] + size_delta > container_quota):
742 742
                # This must be executed in a transaction, so the version is never created if it fails.
743 743
                raise QuotaError
744
        self._report_size_change(user, account, size_delta, {'action': 'object update'})
744
        self._report_size_change(user, account, size_delta, {'action': 'object update', 'path':path})
745 745
        
746 746
        if permissions is not None:
747 747
            self.permissions.access_set(path, permissions)
......
861 861
                props = self._get_version(node)
862 862
            except NameError:
863 863
                self.permissions.access_clear(path)
864
            self._report_size_change(user, account, -size, {'action': 'object purge'})
864
            self._report_size_change(user, account, -size, {'action': 'object purge', 'path':path})
865 865
            return
866 866
        
867 867
        path, node = self._lookup_object(account, container, name)
868 868
        src_version_id, dest_version_id = self._put_version_duplicate(user, node, size=0, type='', hash=None, checksum='', cluster=CLUSTER_DELETED)
869 869
        del_size = self._apply_versioning(account, container, src_version_id)
870 870
        if del_size:
871
            self._report_size_change(user, account, -del_size, {'action': 'object delete'})
871
            self._report_size_change(user, account, -del_size, {'action': 'object delete', 'path':path})
872 872
        self._report_object_change(user, account, path, details={'action': 'object delete'})
873 873
        self.permissions.access_clear(path)
874 874
        
......
882 882
                src_version_id, dest_version_id = self._put_version_duplicate(user, node, size=0, type='', hash=None, checksum='', cluster=CLUSTER_DELETED)
883 883
                del_size = self._apply_versioning(account, container, src_version_id)
884 884
                if del_size:
885
                    self._report_size_change(user, account, -del_size, {'action': 'object delete'})
885
                    self._report_size_change(user, account, -del_size, {'action': 'object delete', 'path':path})
886 886
                self._report_object_change(user, account, path, details={'action': 'object delete'})
887 887
                paths.append(path)
888 888
            self.permissions.access_clear_bulk(paths)
......
1122 1122
    # Reporting functions.
1123 1123
    
1124 1124
    def _report_size_change(self, user, account, size, details={}):
1125
        logger.debug("_report_size_change: %s %s %s %s", user, account, size, details)
1126 1125
        account_node = self._lookup_account(account, True)[1]
1127 1126
        total = self._get_statistics(account_node)[1]
1128 1127
        details.update({'user': user, 'total': total})
1128
        logger.debug("_report_size_change: %s %s %s %s", user, account, size, details)
1129 1129
        self.messages.append((QUEUE_MESSAGE_KEY_PREFIX % ('resource.diskspace',), account, QUEUE_INSTANCE_ID, 'diskspace', float(size), details))
1130 1130
    
1131 1131
    def _report_object_change(self, user, account, path, details={}):
1132
        details.update({'user': user})
1132 1133
        logger.debug("_report_object_change: %s %s %s %s", user, account, path, details)
1133
        details.update({'user': user, 'filename':path})
1134 1134
        self.messages.append((QUEUE_MESSAGE_KEY_PREFIX % ('object',), account, QUEUE_INSTANCE_ID, 'object', path, details))
1135 1135
    
1136 1136
    def _report_sharing_change(self, user, account, path, details={}):

Also available in: Unified diff