diff --git a/apil-dumps/Makefile b/apil-dumps/Makefile index d3f94ad..353ab85 100644 --- a/apil-dumps/Makefile +++ b/apil-dumps/Makefile @@ -51,7 +51,7 @@ # Rules all: $(TARGET_FILES) ## Build all files -%: 05-result/$(VERSION_DIR)/%.txt +%: $(OUTPUT_DIR)/%.$(OUTPUT_EXT) [ -f $< ] && rm $< $(MAKE) $< diff --git a/corhal-dumps/.gitignore b/corhal-dumps/.gitignore new file mode 100644 index 0000000..0566458 --- /dev/null +++ b/corhal-dumps/.gitignore @@ -0,0 +1,3 @@ +02-download/ +03-refine/ +04-export/ diff --git "a/corhal-dumps/01-query/corhal-candidats-hal-json \050readme\051.md" "b/corhal-dumps/01-query/corhal-candidats-hal-json \050readme\051.md" new file mode 100644 index 0000000..dd8b430 --- /dev/null +++ "b/corhal-dumps/01-query/corhal-candidats-hal-json \050readme\051.md" @@ -0,0 +1,12 @@ +; +; +; Notices de 2014-2022 (jusqu'à maintenant) : +; - **présentes** dans HAL +; - sans lien vers un document plein text +; - identifié par Unpaywall comme étant en open access +; - respectant les contraintes CCSD d'import (possédant un code RNSR et une catégorie scientifique) +; +; fichier généré au format json +; +; + diff --git a/corhal-dumps/01-query/corhal-candidats-hal-json.txt b/corhal-dumps/01-query/corhal-candidats-hal-json.txt new file mode 100644 index 0000000..a705dd6 --- /dev/null +++ b/corhal-dumps/01-query/corhal-candidats-hal-json.txt @@ -0,0 +1,4 @@ +business.sources:hal AND business.hasFulltext:false +AND enrichments.openAccess.unpaywall.isOa:true +AND business.authorsRnsr:* +AND classifications.enrichments.hal.code:* diff --git "a/corhal-dumps/01-query/corhal-candidats-nonhal-json \050readme\051.md" "b/corhal-dumps/01-query/corhal-candidats-nonhal-json \050readme\051.md" new file mode 100644 index 0000000..e7fa801 --- /dev/null +++ "b/corhal-dumps/01-query/corhal-candidats-nonhal-json \050readme\051.md" @@ -0,0 +1,11 @@ +; +; +; Notices de 2014-2022 (jusqu'à maintenant) : +; - non présentes dans HAL (selon les critères paramétrés dans le module de dédoublonnage) +; - identifiées par Unpaywall comme étant en open access (et dont le document n'est pas un lien vers HAL) +; - respectant les contraintes CCSD d'import (possédant un code RNSR et une catégorie scientifique) +; +; fichier généré au format json +; +; + diff --git a/corhal-dumps/01-query/corhal-candidats-nonhal-json.txt b/corhal-dumps/01-query/corhal-candidats-nonhal-json.txt new file mode 100644 index 0000000..a20bdb0 --- /dev/null +++ b/corhal-dumps/01-query/corhal-candidats-nonhal-json.txt @@ -0,0 +1 @@ +-business.sources:hal AND business.authorsRnsr:* AND classifications.enrichments.hal.code:* AND enrichments.openAccess.unpaywall.isOa:true AND -fulltextUrl:(*//hal.* OR *//www.hal.* *//hal-* OR *archives-ouvertes.fr*) diff --git "a/corhal-dumps/01-query/corhal-potentials-hal-json \050readme\051.md" "b/corhal-dumps/01-query/corhal-potentials-hal-json \050readme\051.md" new file mode 100644 index 0000000..06e3af5 --- /dev/null +++ "b/corhal-dumps/01-query/corhal-potentials-hal-json \050readme\051.md" @@ -0,0 +1,11 @@ +; +; +; Notices de 2014-2022 (jusqu'à maintenant) : +; - **présentes** dans HAL +; - sans lien vers un document plein text +; - identifié par Unpaywall comme étant en open access +; +; fichier généré au format json +; +; + diff --git a/corhal-dumps/01-query/corhal-potentials-hal-json.txt b/corhal-dumps/01-query/corhal-potentials-hal-json.txt new file mode 100644 index 0000000..1672ae0 --- /dev/null +++ b/corhal-dumps/01-query/corhal-potentials-hal-json.txt @@ -0,0 +1 @@ +business.sources:hal AND business.hasFulltext:false AND enrichments.openAccess.unpaywall.isOa:true diff --git "a/corhal-dumps/01-query/corhal-potentials-nonhal-json \050readme\051.md" "b/corhal-dumps/01-query/corhal-potentials-nonhal-json \050readme\051.md" new file mode 100644 index 0000000..3c72a6b --- /dev/null +++ "b/corhal-dumps/01-query/corhal-potentials-nonhal-json \050readme\051.md" @@ -0,0 +1,10 @@ +; +; +; Notices de 2014-2022 (jusqu'à maintenant) : +; - non présentes dans HAL (selon les critères paramétrés dans le module de dédoublonnage) +; - identifiées par Unpaywall comme étant en open access (et dont le document n'est pas un lien vers HAL) +; +; fichier généré au format json +; +; + diff --git a/corhal-dumps/01-query/corhal-potentials-nonhal-json.txt b/corhal-dumps/01-query/corhal-potentials-nonhal-json.txt new file mode 100644 index 0000000..75e08b9 --- /dev/null +++ b/corhal-dumps/01-query/corhal-potentials-nonhal-json.txt @@ -0,0 +1,2 @@ +-business.sources:hal AND enrichments.openAccess.unpaywall.isOa:true AND -fulltextUrl:(*//hal.* OR *//www.hal.* *//hal-* OR *archives-ouvertes.fr*) + diff --git a/corhal-dumps/01-query/corhal-test.txt b/corhal-dumps/01-query/corhal-test.txt new file mode 100644 index 0000000..bce25a0 --- /dev/null +++ b/corhal-dumps/01-query/corhal-test.txt @@ -0,0 +1 @@ +(halId:hal-02068169) diff --git a/corhal-dumps/02-download.ini b/corhal-dumps/02-download.ini new file mode 100644 index 0000000..9ce494e --- /dev/null +++ b/corhal-dumps/02-download.ini @@ -0,0 +1,31 @@ +append = dump?indent=true + +[use] +plugin = basics +plugin = conditor + +[TXTConcat] + +[replace] +path = q +value = self() + +[CORHALFetch] +url = https://corhal-api.inist.fr +retries = 5 +timeout = 30000 + +[replace] +path = url +value = get('business.sourceUidChain').prepend('https://corhal-api.inist.fr/mergedDocuments/') + +[URLFetch] +url = get('url') +json = true +target = result +retries = 5 +timeout = 30000 +noerror = false + +[exchange] +value = get('result') diff --git a/corhal-dumps/Makefile b/corhal-dumps/Makefile new file mode 100644 index 0000000..ddef67f --- /dev/null +++ b/corhal-dumps/Makefile @@ -0,0 +1,66 @@ +# Aliases +corhal: corhal-candidats-hal-json corhal-candidats-nonhal-json corhal-potentials-hal-json corhal-potentials-nonhal-json + +# To set specific directory for each version +ifeq ($(strip $(Startup)),) +# use the the day of the week +#VERSION_DIR := $(shell date +%A) +# use the month +VERSION_DIR := $(shell date +%B) +else +# use no version +VERSION_DIR := . +endif + +# To set ezs parameters +EZSFLAGS := --param VERSION_DIR="$(VERSION_DIR)" +# To set global parameters +ROOT_DIR := $(shell pwd) +# To set the location and the extension of sources files (queries) +INPUT_DIR := 01-query +INPUT_EXT := txt + +# To set the location and the extension of results files +OUTPUT_DIR := 02-download/$(VERSION_DIR) +OUTPUT_EXT := json + +# To generate all files from source directory to target directory +SOURCE_FILES := $(wildcard $(INPUT_DIR)/*.$(INPUT_EXT)) +TARGET_FILES := $(patsubst $(INPUT_DIR)/%.$(INPUT_EXT), $(OUTPUT_DIR)/%.$(OUTPUT_EXT), $(SOURCE_FILES)) + +# Phony Rules +help: + @grep -P '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' + +list: ## list all target files + @ls -1 $(TARGET_FILES) + +view: ## To view current generated files + find $(OUTPUT_DIR) + +clean-cache: ## To delete enrichment cache + @rm -v -f $(TMPDIR)/memory + +clean: ## To delete current generated files + @rm -v -f $(TARGET_FILES) + +drain: ## To delete all directories + @rm -v -Rf 02-download + +# Rules +all: $(TARGET_FILES) ## Build all files + +%: $(OUTPUT_DIR)/%.$(OUTPUT_EXT) + [ -f $< ] && rm $< + $(MAKE) $< + +02-download/$(VERSION_DIR)/%.json: 01-query/%.txt + mkdir -p $(@D) + find $(dir $@) -type f -name "$(notdir $@)" -exec mv {} {}.previous \; + time ezs $(EZSFLAGS) 02-download.ini < $< > $@ + +# To prevent deleting intermediate files (for controls) +.PRECIOUS: 02-download/$(VERSION_DIR)/%.json + +.DEFAULT_GOAL := help +.PHONY: clean drain view help list all clean-cache diff --git a/corhal-dumps/corhal-candidats-hal-json.ini b/corhal-dumps/corhal-candidats-hal-json.ini deleted file mode 100644 index 068b6d8..0000000 --- a/corhal-dumps/corhal-candidats-hal-json.ini +++ /dev/null @@ -1,63 +0,0 @@ -[use] -plugin = basics -plugin = conditor -plugin = lodex - -[env] -path = currentDate -value = thru(() => new Date()).thru(d => d.getDay()).thru(i => ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'][i]).thru(m => env('Startup') ? 'Startup' : m) - - -; -; -; Notices de 2014-2022 (jusqu'à maintenant) : -; - **présentes** dans HAL -; - sans lien vers un document plein text -; - identifié par Unpaywall comme étant en open access -; - respectant les contraintes CCSD d'import (possédant un code RNSR et une catégorie scientifique) -; -; fichier généré au format json -; -; - -[replace] -path = q -value = fix('\ -business.sources:hal \ -AND business.hasFulltext:false \ -AND enrichments.openAccess.unpaywall.isOa:true \ -AND business.authorsRnsr:* \ -AND classifications.enrichments.hal.code:* \ -') - -[CORHALFetch] -url = https://corhal-api.inist.fr -retries = 3 -timeout = 60000 - -[replace] -path = url -value = get('business.sourceUidChain').prepend('https://corhal-api.inist.fr/mergedDocuments/') - -[URLFetch] -url = get('url') -json = true -target = result -timeout = 60000 - -[exchange] -value = get('result') - -[dump] -indent = true - -[FILESave] -location = fix(`${env('PWD')}/public/${env('FileName')}`) -identifier = fix(`${env('FileName')}-${env('currentDate')}.json`) -compress = true - -[exchange] -value = get('filename').append(' generated.') - -[dump] -indent = true diff --git a/corhal-dumps/corhal-candidats-nonhal-json.ini b/corhal-dumps/corhal-candidats-nonhal-json.ini deleted file mode 100644 index 9e6e07b..0000000 --- a/corhal-dumps/corhal-candidats-nonhal-json.ini +++ /dev/null @@ -1,61 +0,0 @@ -[use] -plugin = basics -plugin = conditor -plugin = lodex - -[env] -path = currentDate -value = thru(() => new Date()).thru(d => d.getDay()).thru(i => ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'][i]).thru(m => env('Startup') ? 'Startup' : m) - -; -; -; Notices de 2014-2022 (jusqu'à maintenant) : -; - non présentes dans HAL (selon les critères paramétrés dans le module de dédoublonnage) -; - identifiées par Unpaywall comme étant en open access (et dont le document n'est pas un lien vers HAL) -; - respectant les contraintes CCSD d'import (possédant un code RNSR et une catégorie scientifique) -; -; fichier généré au format json -; -; -[replace] -path = q -value = fix('\ --business.sources:hal \ -AND business.authorsRnsr:* \ -AND classifications.enrichments.hal.code:* \ -AND enrichments.openAccess.unpaywall.isOa:true \ -AND -fulltextUrl:(*\\/\\/hal\\.* OR *\\/\\/www.hal\\.* *\\/\\/hal\\-* OR *archives-ouvertes\\.fr*) \ -') - -[CORHALFetch] -url = https://corhal-api.inist.fr -retries = 3 -timeout = 60000 - -[replace] -path = url -value = get('business.sourceUidChain').prepend('https://corhal-api.inist.fr/mergedDocuments/') - -[URLFetch] -url = get('url') -json = true -target = result -timeout = 60000 -noerror = true - -[exchange] -value = get('result') - -[dump] -indent = true - -[FILESave] -location = fix(`${env('PWD')}/public/${env('FileName')}`) -identifier = fix(`${env('FileName')}-${env('currentDate')}.json`) -compress = true - -[exchange] -value = get('filename').append(' generated.') - -[dump] -indent = true diff --git a/corhal-dumps/corhal-potentials-hal-json.ini b/corhal-dumps/corhal-potentials-hal-json.ini deleted file mode 100644 index 34e0eda..0000000 --- a/corhal-dumps/corhal-potentials-hal-json.ini +++ /dev/null @@ -1,61 +0,0 @@ -[use] -plugin = basics -plugin = conditor -plugin = lodex - -[env] -path = currentDate -value = thru(() => new Date()).thru(d => d.getDay()).thru(i => ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'][i]).thru(m => env('Startup') ? 'Startup' : m) - - -; -; -; Notices de 2014-2022 (jusqu'à maintenant) : -; - **présentes** dans HAL -; - sans lien vers un document plein text -; - identifié par Unpaywall comme étant en open access -; -; fichier généré au format json -; -; - -[replace] -path = q -value = fix('\ -business.sources:hal \ -AND business.hasFulltext:false \ -AND enrichments.openAccess.unpaywall.isOa:true \ -') - -[CORHALFetch] -url = https://corhal-api.inist.fr -retries = 3 -timeout = 60000 - -[replace] -path = url -value = get('business.sourceUidChain').prepend('https://corhal-api.inist.fr/mergedDocuments/') - -[URLFetch] -url = get('url') -json = true -target = result -timeout = 60000 -noerror = true - -[exchange] -value = get('result') - -[dump] -indent = true - -[FILESave] -location = fix(`${env('PWD')}/public/${env('FileName')}`) -identifier = fix(`${env('FileName')}-${env('currentDate')}.json`) -compress = true - -[exchange] -value = get('filename').append(' generated.') - -[dump] -indent = true diff --git a/corhal-dumps/corhal-potentials-nonhal-json.ini b/corhal-dumps/corhal-potentials-nonhal-json.ini deleted file mode 100644 index 7a4db5a..0000000 --- a/corhal-dumps/corhal-potentials-nonhal-json.ini +++ /dev/null @@ -1,58 +0,0 @@ -[use] -plugin = basics -plugin = conditor -plugin = lodex - -[env] -path = currentDate -value = thru(() => new Date()).thru(d => d.getDay()).thru(i => ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'][i]).thru(m => env('Startup') ? 'Startup' : m) - -; -; -; Notices de 2014-2022 (jusqu'à maintenant) : -; - non présentes dans HAL (selon les critères paramétrés dans le module de dédoublonnage) -; - identifiées par Unpaywall comme étant en open access (et dont le document n'est pas un lien vers HAL) -; -; fichier généré au format json -; -; -[replace] -path = q -value = fix('\ --business.sources:hal \ -AND enrichments.openAccess.unpaywall.isOa:true \ -AND -fulltextUrl:(*\\/\\/hal\\.* OR *\\/\\/www.hal\\.* *\\/\\/hal\\-* OR *archives-ouvertes\\.fr*) \ -') - -[CORHALFetch] -url = https://corhal-api.inist.fr -retries = 3 -timeout = 60000 - -[replace] -path = url -value = get('business.sourceUidChain').prepend('https://corhal-api.inist.fr/mergedDocuments/') - -[URLFetch] -url = get('url') -json = true -target = result -timeout = 60000 -noerror = true - -[exchange] -value = get('result') - -[dump] -indent = true - -[FILESave] -location = fix(`${env('PWD')}/public/${env('FileName')}`) -identifier = fix(`${env('FileName')}-${env('currentDate')}.json`) -compress = true - -[exchange] -value = get('filename').append(' generated.') - -[dump] -indent = true diff --git a/wos-dumps/Makefile b/wos-dumps/Makefile index 1ef86d3..5fb1e2a 100644 --- a/wos-dumps/Makefile +++ b/wos-dumps/Makefile @@ -50,7 +50,7 @@ # Rules all: $(TARGET_FILES) ## Build all files -%: 06-result/$(VERSION_DIR)/%.txt +%: $(OUTPUT_DIR)/%.$(OUTPUT_EXT) [ -f $< ] && rm $< $(MAKE) $<