Example #1
0
        public async Task Process(IAssetProcessingService <ImageProcessingStates> service, OVEAssetModel asset)
        {
            // 2) download it
            string url = await service.GetAssetUri(asset);

            string localUri = service.DownloadAsset(url, asset);

            // 3) Create DZI file
            await service.UpdateStatus(asset, (int)ImageProcessingStates.CreatingDZI);

            var res = ProcessFile(localUri);

            _logger.LogInformation("Processed file " + res);

            // 4) Upload it
            await service.UpdateStatus(asset, (int)ImageProcessingStates.Uploading);

            await _fileOps.UploadIndexFileAndDirectory(Path.ChangeExtension(localUri, ".dzi"),
                                                       Path.ChangeExtension(localUri, ".dzi").Replace(".dzi", "_files/"),
                                                       asset);

            // 5) delete local files
            _logger.LogInformation("about to delete files");
            Directory.Delete(Path.GetDirectoryName(localUri), true);

            // 6) Mark it as completed
            await service.UpdateStatus(asset, (int)ImageProcessingStates.Processed);
        }
Example #2
0
        public async Task Process(IAssetProcessingService <ArchiveProcessingStates> service, OVEAssetModel asset)
        {
            // 2) download it
            string url = await service.GetAssetUri(asset);

            string localUri = service.DownloadAsset(url, asset);

            // 3) unzip and Upload
            await service.UpdateStatus(asset, (int)ArchiveProcessingStates.Uploading);

            List <string> files;

            using (var s = File.OpenRead(localUri)) {
                files = await UnZipAsset(asset, s);
            }

            // 4) set the meta data properly

            asset.AssetMeta = JsonConvert.SerializeObject(files);
            await UpdateAssetMeta(asset);

            // 5) delete local files
            _logger.LogInformation("about to delete files");
            Directory.Delete(Path.GetDirectoryName(localUri), true);

            // 6) Mark it as completed
            await service.UpdateStatus(asset, (int)ArchiveProcessingStates.Processed);
        }