From 9c9ebe63d10ed3be827d903bc5b3f5781502fdd9 Mon Sep 17 00:00:00 2001 From: Bart Jablonski Date: Tue, 14 Nov 2023 14:36:50 +0100 Subject: [PATCH] The BasePlus package [ver. 1.35.0] The BasePlus package [ver. 1.35.0] New `%downloadFilesTo()` macro added. Macro allows conveniently download data from internet or local locations to a directory pointed by user. Documentation updated. --- SHA256 digest for BasePlus: `F*62344EAA8C0DD95CCB164B5C7A91B33865B3D19CD5A2A3EDAC4C31E0541D04C9` --- packages/README.md | 4 +- packages/SHA256_for_packages.txt | 3 + packages/baseplus.md | 168 +++++++++++++++++++++++++++---- packages/baseplus.zip | Bin 295726 -> 298574 bytes 4 files changed, 155 insertions(+), 20 deletions(-) diff --git a/packages/README.md b/packages/README.md index 943a8e4..553f7b9 100644 --- a/packages/README.md +++ b/packages/README.md @@ -86,7 +86,7 @@ SHA256 digest for macroArray: F*2A108D121D4DACAA8752E681301371F80F0500B2EE28A9E3 --- -- **BasePlus**\[1.34.0\] adds a bunch of functionalities I am missing in BASE SAS, such as: +- **BasePlus**\[1.35.0\] adds a bunch of functionalities I am missing in BASE SAS, such as: ```sas call arrMissToRight(myArray); call arrFillMiss(17, myArray); @@ -114,7 +114,7 @@ format x bool.; %put %monthShift(2023,1,-5); ``` -SHA256 digest for BasePlus: F*D84CE41A550DC2D5C092C70C04A796E8329F34087A603BEF0CD366910C162E80 +SHA256 digest for BasePlus: F*62344EAA8C0DD95CCB164B5C7A91B33865B3D19CD5A2A3EDAC4C31E0541D04C9 [Documentation for BasePlus](https://github.com/yabwon/SAS_PACKAGES/blob/main/packages/baseplus.md "Documentation for BasePlus") diff --git a/packages/SHA256_for_packages.txt b/packages/SHA256_for_packages.txt index 5802292..8d43de3 100644 --- a/packages/SHA256_for_packages.txt +++ b/packages/SHA256_for_packages.txt @@ -1,3 +1,6 @@ +/* 20231114 */ +BasePlus: F*62344EAA8C0DD95CCB164B5C7A91B33865B3D19CD5A2A3EDAC4C31E0541D04C9 + /* 20231111 */ BasePlus: F*D84CE41A550DC2D5C092C70C04A796E8329F34087A603BEF0CD366910C162E80 DFA: F*012375D87F66EB3A7BF5DDD0CC5AEE28851733EE33CC63231DF9045BEB958168 diff --git a/packages/baseplus.md b/packages/baseplus.md index 66d02fe..fab46b2 100644 --- a/packages/baseplus.md +++ b/packages/baseplus.md @@ -47,6 +47,7 @@ * [`%unzipLibrary()` macro](#unziplibrary-macro) * [`%zipArch()` macro](#ziparch-macro) * [`%unzipArch()` macro](#unziparch-macro) + * [`%findDSwithVarVal()` macro](#finddswithvarval-macro) * [`%LDSN()` macro](#ldsn-macro) * [`%LDsNm()` macro](#ldsnm-macro) * [`%LVarNm()` macro](#lvarnm-macro) @@ -80,7 +81,7 @@ --- -# The BasePlus package [ver. 1.34.0] ############################################### +# The BasePlus package [ver. 1.35.0] ############################################### The **BasePlus** package implements useful functions and functionalities I miss in the BASE SAS. @@ -102,7 +103,8 @@ Kudos to all who inspired me to generate this package: *Michal Ludwicki*, *Quentin McMullen*, *Kurt Bremser*, -*Leonid Batkhan*. +*Leonid Batkhan*, +*Louise Hadden*. --- @@ -400,6 +402,16 @@ run; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +**EXAMPLE 26** Downloading data from the internet to a local dirrectory: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%downloadFilesTo(~/directoryA) +datalines4; +https://www.lexjansen.com/wuss/2023/WUSS-2023-Paper-189.pdf +https://www.lexjansen.com/wuss/2023/WUSS-2023-Paper-189.zip +;;;; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + --- @@ -463,21 +475,22 @@ Package contains: 57. functions quicksortlight 58. macro date 59. macro datetime -60. macro filepath -61. macro finddswithvarval -62. macro fmt -63. macro gettitle -64. macro infmt -65. macro letters -66. macro libpath -67. macro minclude -68. macro monthshift -69. macro replist -70. macro time -71. macro today -72. macro translate -73. macro tranwrd -74. macro workpath +60. macro downloadfilesto +61. macro filepath +62. macro finddswithvarval +63. macro fmt +64. macro gettitle +65. macro infmt +66. macro letters +67. macro libpath +68. macro minclude +69. macro monthshift +70. macro replist +71. macro time +72. macro today +73. macro translate +74. macro tranwrd +75. macro workpath @@ -488,7 +501,7 @@ localization (only if additional content was deployed during the installation pr * SAS package generated by generatePackage, version 20231107 * The SHA256 hash digest for package BasePlus: -`F*D84CE41A550DC2D5C092C70C04A796E8329F34087A603BEF0CD366910C162E80` +`F*62344EAA8C0DD95CCB164B5C7A91B33865B3D19CD5A2A3EDAC4C31E0541D04C9` --- # Content description ############################################################################################ @@ -4051,6 +4064,125 @@ filename pR "%workPath()"; --- +## >>> `%downloadFilesTo()` macro: <<< ####################### + +The downloadFilesTo() macro copy files (in binary mode +using `filename()` function with options `lrecl=1 recfm=n`) +from list provided by user to a directory indicated +in the macro call. + +Macro can be executed in two possible ways: +1) by providing list of files to download in a `datalines4`(`cards4`) list + directly after macro call: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %downloadFilesTo() + datalines4; + + + ... + + ;;;; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +2) by create a dataset with a list of links and use of `DS=` and `DSvar=` parameters. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %downloadFilesTo( + , DS= + , DSvar= + ) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +See examples below for the details. + +The `%downloadFilesTo()` macro **does not** execute as a pure macro code. + +Temporary dataset `work.______locationInfoData` is generated during processing. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%downloadFilesTo( + target + <,DS=> + <,DSvar=link> + <,inDev=URL> + <,outDev=DISK> + <,inOptions=> + <,outOptions=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `target ` - *Required*, a path to target directory. + If empty the `WORK` location is used. + +*. `DS= ` - *Optional*, name of data set with list + of files to download. + +*. `DSvar= ` - *Optional*, name of variable in data set + with list of files to download. + + +*. `inDev=` - *Optional*, type of device used by the + `filename()` function to access incoming files. + Default value is `URL`. + +*. `outDev=` - *Optional*, type of device used by the + `filename()` function to access outgoing files. + Default value is `DISK`. + +*. `inOptions=` - *Optional*, list of additional options for the + `filename()` function to access incoming files. + Default value is empty. + +*. `outOptions=` - *Optional*, list of additional options for the + `filename()` function to access outgoing files. + Default value is empty. + + +--- + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Download data from web with diect list and then copy between directories: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +resetline; +%downloadFilesTo(~/directoryA) +datalines4; +https://www.lexjansen.com/wuss/2023/WUSS-2023-Paper-189.pdf +https://www.lexjansen.com/wuss/2023/WUSS-2023-Paper-189.zip +;;;; +run; + +%downloadFilesTo(~/directoryB,inDev=DISK) +datalines4; +~/directoryA/WUSS-2023-Paper-189.pdf +~/directoryA/WUSS-2023-Paper-189.zip +;;;; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Download data from web using data set with list: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +resetline; +data listOfFiles; +infile cards; +input files :$1024.; +cards4; +https://www.lexjansen.com/wuss/2023/WUSS-2023-Paper-201.pdf +https://www.lexjansen.com/wuss/2023/WUSS-2023-Paper-109.pdf +;;;; +run; + +%downloadFilesTo(R:\directoryC, DS=listOfFiles, DSvar=files) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + ## >>> `%LDSN()` macro: <<< ####################### The LDSN (Long DataSet Names) macro function diff --git a/packages/baseplus.zip b/packages/baseplus.zip index 700e6c8be1cf6b41bd33bd7f2c81bef725bbf0ef..70b42201d90f1b10d8421fc9f48ebcd14318b3bd 100644 GIT binary patch delta 26760 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 delta 23696 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