Example #1
0
def count_file_downloads():
    downloads_unique, downloads_total = 0, 0
    for record in OsfStorageFileRecord.find():
        page = ':'.join(['download', record.node._id, record.path])
        unique, total = get_basic_counters(page)
        downloads_unique += unique or 0
        downloads_total += total or 0
    return downloads_unique, downloads_total
Example #2
0
def count_file_downloads():
    downloads_unique, downloads_total = 0, 0
    for record in OsfStorageFileRecord.find():
        page = ':'.join(['download', record.node._id, record.path])
        unique, total = get_basic_counters(page)
        downloads_unique += unique or 0
        downloads_total += total or 0
    return downloads_unique, downloads_total
Example #3
0
 def setUp(self):
     super(TestLegacyViews, self).setUp()
     self.path = 'mercury.png'
     self.user = AuthUserFactory()
     self.project = ProjectFactory(creator=self.user)
     self.node_addon = self.project.get_addon('osfstorage')
     file_record, _ = OsfStorageFileRecord.get_or_create(path=self.path,
                                                         node_settings=self.node_addon)
     self.node_addon.save()
     file_record.save()
Example #4
0
 def setUp(self):
     super(TestMigrateDates, self).setUp()
     self.path = 'old-pizza'
     self.project = ProjectFactory()
     self.node_settings = self.project.get_addon('osfstorage')
     self.node_file = NodeFile(path=self.path)
     self.node_file.save()
     self.date = self.node_file.date_modified
     self.project.files_versions['old_pizza'] = [self.node_file._id]
     self.project.save()
     self.version = FileVersionFactory(date_modified=datetime.datetime.now())
     self.record = OsfStorageFileRecord.get_or_create(self.node_file.path, self.node_settings)
     self.record.versions = [self.version]
     self.record.save()
Example #5
0
def migrate_node(node, dry_run=True):
    node_settings = node.get_addon('osfstorage')
    for path, versions in node.files_versions.iteritems():
        for idx, version in enumerate(versions):
            logger.info('Migrating file {0}, version {1} on node {2}'.format(path, idx, node._id))
            try:
                # Note: Use direct mongo lookup to handle deprecation of `NodeFile`
                # collection
                file_data = database['nodefile'].find_one({'_id': version})
                record = OsfStorageFileRecord.find_by_path(file_data['path'], node_settings)
                migrate_version(idx, file_data, record, dry_run=dry_run)
            except Exception as error:
                logger.error('Could not migrate object {0} on node {1}'.format(version, node._id))
                logger.exception(error)
                break
Example #6
0
def migrate_node(node, dry_run=True):
    node_settings = node.get_addon('osfstorage')
    for path, versions in node.files_versions.iteritems():
        for idx, version in enumerate(versions):
            logger.info('Migrating file {0}, version {1} on node {2}'.format(path, idx, node._id))
            if dry_run:
                continue
            try:
                node_file = NodeFile.load(version)
                record = OsfStorageFileRecord.find_by_path(node_file.path, node_settings)
                migrate_version(idx, node_file, record)
            except Exception as error:
                logger.error('Could not migrate object {0} on node {1}'.format(version, node._id))
                logger.exception(error)
                break
Example #7
0
 def setUp(self):
     super(TestMigrateDates, self).setUp()
     self.path = 'old-pizza'
     self.project = ProjectFactory()
     self.node_settings = self.project.get_addon('osfstorage')
     self.node_file = NodeFile(path=self.path)
     self.node_file.save()
     self.date = self.node_file.date_modified
     self.project.files_versions['old_pizza'] = [self.node_file._id]
     self.project.save()
     self.version = FileVersionFactory(
         date_modified=datetime.datetime.now())
     self.record = OsfStorageFileRecord.get_or_create(
         self.node_file.path, self.node_settings)
     self.record.versions = [self.version]
     self.record.save()
Example #8
0
def migrate_node(node, dry_run=True):
    node_settings = node.get_addon('osfstorage')
    for path, versions in node.files_versions.iteritems():
        for idx, version in enumerate(versions):
            logger.info('Migrating file {0}, version {1} on node {2}'.format(
                path, idx, node._id))
            if dry_run:
                continue
            try:
                node_file = NodeFile.load(version)
                record = OsfStorageFileRecord.find_by_path(
                    node_file.path, node_settings)
                migrate_version(idx, node_file, record)
            except Exception as error:
                logger.error('Could not migrate object {0} on node {1}'.format(
                    version, node._id))
                logger.exception(error)
                break
Example #9
0
def migrate_node(node, dry_run=True):
    node_settings = node.get_addon('osfstorage')
    for path, versions in node.files_versions.iteritems():
        for idx, version in enumerate(versions):
            logger.info('Migrating file {0}, version {1} on node {2}'.format(
                path, idx, node._id))
            try:
                # Note: Use direct mongo lookup to handle deprecation of `NodeFile`
                # collection
                file_data = database['nodefile'].find_one({'_id': version})
                record = OsfStorageFileRecord.find_by_path(
                    file_data['path'], node_settings)
                migrate_version(idx, file_data, record, dry_run=dry_run)
            except Exception as error:
                logger.error('Could not migrate object {0} on node {1}'.format(
                    version, node._id))
                logger.exception(error)
                break