diff --git a/RMuseum/Controllers/ArtifactController.cs b/RMuseum/Controllers/ArtifactController.cs index 332fb979..28463542 100644 --- a/RMuseum/Controllers/ArtifactController.cs +++ b/RMuseum/Controllers/ArtifactController.cs @@ -1091,37 +1091,7 @@ namespace RMuseum.Controllers public async Task Import(string srcType, string resourceNumber, string friendlyUrl, string resourcePrefix) { RServiceResult res = - srcType == "princeton" ? - await _artifactService.StartImportingFromPrinceton(resourceNumber, friendlyUrl) - : - srcType == "harvard" ? - await _artifactService.StartImportingFromHarvard(resourceNumber, friendlyUrl) - : - srcType == "qajarwomen" ? - await _artifactService.StartImportingFromHarvardDirectly(resourceNumber, friendlyUrl, resourcePrefix) - : - srcType == "hathitrust" ? - await _artifactService.StartImportingFromHathiTrust(resourceNumber, friendlyUrl) - : - srcType == "penn" ? - await _artifactService.StartImportingFromPenLibraries(resourceNumber, friendlyUrl) - : - srcType == "cam" ? - await _artifactService.StartImportingFromCambridge(resourceNumber, friendlyUrl) - : - srcType == "bl" ? - await _artifactService.StartImportingFromBritishLibrary(resourceNumber, friendlyUrl) - : - srcType == "folder" ? - await _artifactService.StartImportingFromServerFolder(resourceNumber, friendlyUrl, resourcePrefix) - : - srcType == "walters" ? - await _artifactService.StartImportingFromWalters(resourceNumber, friendlyUrl) - : - srcType == "cbl" ? - await _artifactService.StartImportingFromChesterBeatty(resourceNumber, friendlyUrl) - : - await _artifactService.StartImportingFromTheLibraryOfCongress(resourceNumber, friendlyUrl, resourcePrefix); + await _artifactService.Import(srcType, resourceNumber, friendlyUrl, resourcePrefix); if (res.Result) return Ok(); return BadRequest(res.ExceptionString); diff --git a/RMuseum/RMuseum.xml b/RMuseum/RMuseum.xml index 45f437d6..e4c9cb5e 100644 --- a/RMuseum/RMuseum.xml +++ b/RMuseum/RMuseum.xml @@ -2485,106 +2485,14 @@ - + - for now it only supports https://www.loc.gov - - - - m084 - - - - - boostan1207 - - - - - plmp - - - - - - from http://pudl.princeton.edu/ - - dj52w476m - - - - - - from https://curiosity.lib.harvard.edu - - example: https://curiosity.lib.harvard.edu/islamic-heritage-project/catalog/40-990114893240203941 - - - - - - import from http://www.qajarwomen.org - - 43117279 - atame - http://www.qajarwomen.org/fa/items/1018A10.html - - - - - from https://catalog.hathitrust.org - - 006814127 - - - - - - from http://www.library.upenn.edu/ - - MEDREN_9949222153503681 - - - - - - from http://cudl.lib.cam.ac.uk - - MS-RAS-00258 - - - - - - from http://www.bl.uk - - grenville_xli_f001r - - - - - - import from server folder - - C:\Tools\batches\florence - shahname-florence - https://t.me/dr_khatibi_abolfazl/888 - - - - - from http://www.thedigitalwalters.org/01_ACCESS_WALTERS_MANUSCRIPTS.html - - W619 - golestan-walters-01 - - - - - import from https://viewer.cbl.ie + import from external resources + loc/princeton/harvard/qajarwomen/hathitrust/penn/cam/bl/folder/walters/cbl 119 golestan-baysonghori + @@ -3099,6 +3007,16 @@ + + + import from external resources + + loc/princeton/harvard/qajarwomen/hathitrust/penn/cam/bl/folder/walters/cbl + 119 + golestan-baysonghori + + + from https://www.loc.gov diff --git a/RMuseum/Services/IArtifactService.cs b/RMuseum/Services/IArtifactService.cs index 65de007f..1d47d527 100644 --- a/RMuseum/Services/IArtifactService.cs +++ b/RMuseum/Services/IArtifactService.cs @@ -252,106 +252,14 @@ namespace RMuseum.Services /// - /// for now it only supports https://www.loc.gov - /// - /// - /// - /// m084 - /// - /// - /// - /// - /// boostan1207 - /// - /// - /// - /// - /// plmp - /// - /// - Task> StartImportingFromTheLibraryOfCongress(string resourceNumber, string fiendlyUrl, string resourcePrefix); - - /// - /// from http://pudl.princeton.edu/ - /// - /// dj52w476m - /// - /// - Task> StartImportingFromPrinceton(string resourceNumber, string friendlyUrl); - - /// - /// from https://curiosity.lib.harvard.edu - /// - /// example: https://curiosity.lib.harvard.edu/islamic-heritage-project/catalog/40-990114893240203941 - /// - /// - Task> StartImportingFromHarvard(string url, string friendlyUrl); - - /// - /// import from http://www.qajarwomen.org - /// - /// 43117279 - /// atame - /// http://www.qajarwomen.org/fa/items/1018A10.html - /// - Task> StartImportingFromHarvardDirectly(string hardvardResourceNumber, string friendlyUrl, string srcUrl); - - /// - /// from https://catalog.hathitrust.org - /// - /// 006814127 - /// - /// - Task> StartImportingFromHathiTrust(string resourceNumber, string friendlyUrl); - - /// - /// from http://www.library.upenn.edu/ - /// - /// MEDREN_9949222153503681 - /// - /// - Task> StartImportingFromPenLibraries(string resourceNumber, string friendlyUrl); - - /// - /// from http://cudl.lib.cam.ac.uk - /// - /// MS-RAS-00258 - /// - /// - Task> StartImportingFromCambridge(string resourceNumber, string friendlyUrl); - - /// - /// from http://www.bl.uk - /// - /// grenville_xli_f001r - /// - /// - Task> StartImportingFromBritishLibrary(string resourceNumber, string friendlyUrl); - - /// - /// import from server folder - /// - /// C:\Tools\batches\florence - /// shahname-florence - /// https://t.me/dr_khatibi_abolfazl/888 - /// - Task> StartImportingFromServerFolder(string folderPath, string friendlyUrl, string srcUrl); - - /// - /// from http://www.thedigitalwalters.org/01_ACCESS_WALTERS_MANUSCRIPTS.html - /// - /// W619 - /// golestan-walters-01 - /// - Task> StartImportingFromWalters(string resourceNumber, string friendlyUrl); - - /// - /// import from https://viewer.cbl.ie + /// import from external resources /// + /// loc/princeton/harvard/qajarwomen/hathitrust/penn/cam/bl/folder/walters/cbl /// 119 /// golestan-baysonghori + /// /// - Task> StartImportingFromChesterBeatty(string resourceNumber, string friendlyUrl); + Task> Import(string srcType, string resourceNumber, string friendlyUrl, string resourcePrefix); /// /// reschedule jobs diff --git a/RMuseum/Services/Implementation/ArtifactService.cs b/RMuseum/Services/Implementation/ArtifactService.cs index 7f979c0b..f22de644 100644 --- a/RMuseum/Services/Implementation/ArtifactService.cs +++ b/RMuseum/Services/Implementation/ArtifactService.cs @@ -1339,6 +1339,50 @@ namespace RMuseum.Services.Implementation } + /// + /// import from external resources + /// + /// loc/princeton/harvard/qajarwomen/hathitrust/penn/cam/bl/folder/walters/cbl + /// 119 + /// golestan-baysonghori + /// + /// + public async Task> Import(string srcType, string resourceNumber, string friendlyUrl, string resourcePrefix) + { + return + srcType == "princeton" ? + await StartImportingFromPrinceton(resourceNumber, friendlyUrl) + : + srcType == "harvard" ? + await StartImportingFromHarvard(resourceNumber, friendlyUrl) + : + srcType == "qajarwomen" ? + await StartImportingFromHarvardDirectly(resourceNumber, friendlyUrl, resourcePrefix) + : + srcType == "hathitrust" ? + await StartImportingFromHathiTrust(resourceNumber, friendlyUrl) + : + srcType == "penn" ? + await StartImportingFromPenLibraries(resourceNumber, friendlyUrl) + : + srcType == "cam" ? + await StartImportingFromCambridge(resourceNumber, friendlyUrl) + : + srcType == "bl" ? + await StartImportingFromBritishLibrary(resourceNumber, friendlyUrl) + : + srcType == "folder" ? + await StartImportingFromServerFolder(resourceNumber, friendlyUrl, resourcePrefix) + : + srcType == "walters" ? + await StartImportingFromWalters(resourceNumber, friendlyUrl) + : + srcType == "cbl" ? + await StartImportingFromChesterBeatty(resourceNumber, friendlyUrl) + : + await StartImportingFromTheLibraryOfCongress(resourceNumber, friendlyUrl, resourcePrefix); + } + /// @@ -1359,7 +1403,7 @@ namespace RMuseum.Services.Implementation /// plmp /// /// - public async Task> StartImportingFromTheLibraryOfCongress(string resourceNumber, string friendlyUrl, string resourcePrefix) + private async Task> StartImportingFromTheLibraryOfCongress(string resourceNumber, string friendlyUrl, string resourcePrefix) { string url = $"https://www.loc.gov/resource/{resourcePrefix}.{resourceNumber}/?fo=json&st=gallery"; @@ -1869,7 +1913,7 @@ namespace RMuseum.Services.Implementation /// dj52w476m /// /// - public async Task> StartImportingFromPrinceton(string resourceNumber, string friendlyUrl) + private async Task> StartImportingFromPrinceton(string resourceNumber, string friendlyUrl) { string url = $"http://pudl.princeton.edu/mdCompiler2.php?obj={resourceNumber}"; if ( @@ -2323,7 +2367,7 @@ namespace RMuseum.Services.Implementation /// example: https://curiosity.lib.harvard.edu/islamic-heritage-project/catalog/40-990114893240203941 /// /// - public async Task> StartImportingFromHarvard(string url, string friendlyUrl) + private async Task> StartImportingFromHarvard(string url, string friendlyUrl) { try { @@ -2789,7 +2833,7 @@ namespace RMuseum.Services.Implementation /// atame /// http://www.qajarwomen.org/fa/items/1018A10.html /// - public async Task> StartImportingFromHarvardDirectly(string hardvardResourceNumber, string friendlyUrl, string srcUrl) + private async Task> StartImportingFromHarvardDirectly(string hardvardResourceNumber, string friendlyUrl, string srcUrl) { try { @@ -2959,7 +3003,7 @@ namespace RMuseum.Services.Implementation /// 006814127 /// /// - public async Task> StartImportingFromHathiTrust(string resourceNumber, string friendlyUrl) + private async Task> StartImportingFromHathiTrust(string resourceNumber, string friendlyUrl) { string url = $"https://catalog.hathitrust.org/Record/{resourceNumber}.xml"; if ( @@ -3454,7 +3498,7 @@ namespace RMuseum.Services.Implementation /// MEDREN_9949222153503681 /// /// - public async Task> StartImportingFromPenLibraries(string resourceNumber, string friendlyUrl) + private async Task> StartImportingFromPenLibraries(string resourceNumber, string friendlyUrl) { string url = $"http://dla.library.upenn.edu/dla/medren/pageturn.html?id={resourceNumber}&rotation=0&size=0"; if ( @@ -3932,7 +3976,7 @@ namespace RMuseum.Services.Implementation /// MS-RAS-00258 /// /// - public async Task> StartImportingFromCambridge(string resourceNumber, string friendlyUrl) + private async Task> StartImportingFromCambridge(string resourceNumber, string friendlyUrl) { string url = $"http://cudl.lib.cam.ac.uk/view/{resourceNumber}.json"; if ( @@ -4379,7 +4423,7 @@ namespace RMuseum.Services.Implementation /// grenville_xli_f001r /// /// - public async Task> StartImportingFromBritishLibrary(string resourceNumber, string friendlyUrl) + private async Task> StartImportingFromBritishLibrary(string resourceNumber, string friendlyUrl) { string url = $"http://www.bl.uk/manuscripts/Viewer.aspx?ref={resourceNumber}"; if ( @@ -5060,7 +5104,7 @@ namespace RMuseum.Services.Implementation /// shahname-florence /// https://t.me/dr_khatibi_abolfazl/888 /// - public async Task> StartImportingFromServerFolder(string folderPath, string friendlyUrl, string srcUrl) + private async Task> StartImportingFromServerFolder(string folderPath, string friendlyUrl, string srcUrl) { try { @@ -5305,7 +5349,7 @@ namespace RMuseum.Services.Implementation /// W619 /// golestan-walters-01 /// - public async Task> StartImportingFromWalters(string resourceNumber, string friendlyUrl) + private async Task> StartImportingFromWalters(string resourceNumber, string friendlyUrl) { string url = $"http://www.thedigitalwalters.org/Data/WaltersManuscripts/ManuscriptDescriptions/{resourceNumber}_tei.xml"; if ( @@ -5768,7 +5812,7 @@ namespace RMuseum.Services.Implementation /// 119 /// golestan-baysonghori /// - public async Task> StartImportingFromChesterBeatty(string resourceNumber, string friendlyUrl) + private async Task> StartImportingFromChesterBeatty(string resourceNumber, string friendlyUrl) { try {