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
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()
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()
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
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
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()
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
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