From 4ae7a5d9af59d076b5e32903d9a31ab0fc6fcde0 Mon Sep 17 00:00:00 2001 From: Frank Halasz Date: Sun, 2 Nov 2025 12:21:06 -0800 Subject: [PATCH] Add function (ShellWget URL OUTFILE) that calls the shell to execute 'wget URL -O OUTFILE'. No checking is done on the URL. --- library/UNIXUTILS | 32 ++++++++++++++++++++++++-------- library/UNIXUTILS.DFASL | Bin 7297 -> 7588 bytes 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/library/UNIXUTILS b/library/UNIXUTILS index 28ffedcfe..16b1efaef 100644 --- a/library/UNIXUTILS +++ b/library/UNIXUTILS @@ -1,12 +1,13 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "22-Oct-2025 13:05:51" {WMEDLEY}UNIXUTILS.;33 17919 +(FILECREATED " 2-Nov-2025 12:18:12" {DSK}frank>il>medley>library>UNIXUTILS.;2 18685 - :EDIT-BY rmk + :EDIT-BY "FGH" - :CHANGES-TO (FNS SLASHIT) + :CHANGES-TO (VARS UNIXUTILSCOMS) + (FUNCTIONS ShellWget) - :PREVIOUS-DATE "27-Sep-2025 16:25:07" {WMEDLEY}UNIXUTILS.;32) + :PREVIOUS-DATE "22-Oct-2025 13:05:51" {DSK}frank>il>medley>library>UNIXUTILS.;1) (PRETTYCOMPRINT UNIXUTILSCOMS) @@ -18,7 +19,7 @@ (GLOBALVARS ShellBrowser ShellOpener) (INITVARS (ShellBrowser) (ShellOpener)) - (FUNCTIONS ShellCommand ShellWhich) + (FUNCTIONS ShellCommand ShellWget ShellWhich) (ADDVARS (MEDLEY-INIT-VARS (ShellBrowser) (ShellOpener))) (FNS ShellBrowser ShellBrowse ShellOpener ShellOpen PROCESS-COMMAND SLASHIT UNIX-FILE-NAME) @@ -46,6 +47,20 @@ OUT)) NIL) +(CL:DEFUN ShellWget (URL OUTFILENAME) (* ; "Edited 1-Nov-2025 23:42 by FGH") + (LET* ((WGET (ShellWhich "wget")) + (OUTNAME (OUTFILEP OUTFILENAME)) + (UNIXNAME (LET [(UN (UNIX-FILE-NAME OUTNAME 'OUTPUT] + (if (STREQUAL (SUBSTRING UN (NCHARS UN)) + ".") + then (SUBSTRING UN 1 -2) + else UN))) + (CMD (CONCAT WGET " " URL " -O " UNIXNAME))) + (if (NULL WGET) + then (ERROR "ShellWget - wget not available")) + (ShellCommand CMD) + OUTNAME)) + (CL:DEFUN ShellWhich (Cmd) (* ; "Edited 18-Jan-2023 13:19 by FGH") [CL:WITH-OPEN-STREAM (S (OPENSTREAM '{NODIRCORE} 'BOTH)) (ShellCommand (CONCAT "command -v " Cmd) @@ -326,7 +341,8 @@ (PUTPROPS UNIXUTILS FILETYPE CL:COMPILE-FILE) (DECLARE%: DONTCOPY - (FILEMAP (NIL (1110 1483 (ShellCommand 1110 . 1483)) (1485 1882 (ShellWhich 1485 . 1882)) (1972 17841 -(ShellBrowser 1982 . 3754) (ShellBrowse 3756 . 4441) (ShellOpener 4443 . 6131) (ShellOpen 6133 . 11612 -) (PROCESS-COMMAND 11614 . 12227) (SLASHIT 12229 . 14566) (UNIX-FILE-NAME 14568 . 17839))))) + (FILEMAP (NIL (1201 1574 (ShellCommand 1201 . 1574)) (1576 2249 (ShellWget 1576 . 2249)) (2251 2648 ( +ShellWhich 2251 . 2648)) (2738 18607 (ShellBrowser 2748 . 4520) (ShellBrowse 4522 . 5207) (ShellOpener + 5209 . 6897) (ShellOpen 6899 . 12378) (PROCESS-COMMAND 12380 . 12993) (SLASHIT 12995 . 15332) ( +UNIX-FILE-NAME 15334 . 18605))))) STOP diff --git a/library/UNIXUTILS.DFASL b/library/UNIXUTILS.DFASL index 8dd2444392edea8b78d57bf23c6f5d9ca6fef75a..2bf83f03e03b9f697196bb034bd659146df80588 100644 GIT binary patch delta 2178 zcmaJ?Z%k8H6o2=CIyNxK$3zQV-~asqx+ebq4BXq+h8(&Y@}^?v~4UgFq$~kc0q9;QJu#4@nnBO z9vmJ`$oL4i{53r~j8NQ5V~79Yl?!Uryy$ z#q{2w?)OHbVKd+}t60P)2qb+zW%q@`Ml2dgQ-c4L)UmsPE@%0OLB(vX+`R866T}Wc zxq4XlhQdBAQI3JSuTzT}#jGt4XEUIYY^D%5PKVoLW+Y~29Z09j9@I|u$|s?O^0Dzr zIesEOJR0vCO?0GFHrX4NwRDQeJ7CxaU)_dr!W>iRPuY8kLU-6NxD5goVh;)cg=wTW z?Oh^EQrS^eItbGOpPnYUY>3#{Fr;6>`UxAMgAO05qgNcCnZ})^8|Jrh&q5&=^ZAxVsdM%*#?}LZ zz!9c1>ui49OQ~c^5hSC#G}63y-Zd^tirPrUHA`ffUSIP>;}UCjlZQ6{Gy_rvOvHmM ziK2n~W>Bq$%-h#ikXAafwsPt#aFN$}5SimaU!dm&sD?eLW62|EKWjxKSu0vYYy!no zY!ZcGSytv8Zy&A>1r4kvM$~cOo2XX6l+72897LmlktD6iZ<<1m!Z#dF_=pF8jGp(| zdK7Q78Wi)KgK&-`bZUq!oMp)|mW;DWgKe+~%m?`Th231t@3O2?%PO+094;=4NHePG zevc6_^8rp&_{14d$&XxJp?~H#cvsMIojblob&;#zp?aCCw^41eRC=Vqvzf2R=8iis zC;Y)xTrB)xdFgDywfd`)#H~*x8<$H`7MC9|L$s|rwtMWS`P}pL%(^Dm-Evk_!ji<# zPSRWJb`)NP6?hc>buDi!XmS9YtS0G~~a7y?Sk*W+g`uxeEYz*5Y0b_Nuk_80E0B*e;<2*6Za z#Z(c!ncQv^D%&8GGlI}ZFoL~Y3<$L@mTssdy{&dZkTUIOv)YgFE+gv^lDIQO@{rH6 zb%d_*6Dz!7S+7{ui#%`v!=7Uk^v$B3<(@qp!czvBx^%M>FE3x%AF%V#dHPFHF=<4DxNIAFhd1`cnPcxpt>lyM6)h_tGVb&}QTU-BG< zyAHr`9_|R3_zY-060eAGc5V7xDhr;_4&8!O>AM@Zlnny&`!_LxH_{aiKwDZ5E|ox>`#ef;GpAf>l)W}Waaj5D|Yvm-dhI|ANHp@%*MzB zloB&$3~^Ed?l{-8EHM(@VxpoJBO;I`%6vl-qfaJ27$0~=U(^Tu&Uc48Sxj#3_vd`y z@B5uU-#PDgPIp||H8s$$#*^ydm!o4xhb9LnPw&fUi9;DPku;h++uB^l#L3CwY~b0W zW7)v)WOndGb|lc+8q|kR1Y70S_CQNpL~f6?x43#@Msj`FKz8I<_Jxtb(|aHz02vcQ z*~tLU+JkA~NGRm`UCb9=G)pzh0Qldzv!ZKthWLQ)%5)6|;%y^p4#xiM=iKo?Rhn8g#^nK_?uwM5h-V zW~))4S#84g9)l$c3Rl{VF6Axgj~D8!y4HZ}^-4FJuar#DI!(l+Z_ ztnV?<>*_U1`?%TdK#y$gNwX_0b~)A zu5r%{Otd7S^(2yNircSR5tA&+tx>-AMrJ>(L_+K3o@X%iJXZ}=Z*cVhs#sz_2TUdm zGnFyU%k9p=Uspf|WBGQ}wicQJ~?3O7;xl&e=6PZK_1d%0LfYQjYX z>5Fl6;dPc9XSqQu+h7$Ik$Dvzg*FuP&6ZVTS$@kZMZrYs^?KdM0gL>Co+~uu4NqO+ zj_c_7imOFbzvk-usNUvk^dGgEPx~n~Z9r@Bp=umL7ze7W;1&Krl_Ls2TizET&u;Xo z$z%n1MWc}S^c)?d_q>~oM9*FN_nLGPCeUO#d0JL zxDGwTcY)e{kNcJ&iJzW-^-4Qcd`;yWGzUHFi`t+$hUtp0u69WxYh|;7_;(*Up^rp1 zTKv=3No+%ltdmA6cDKvnuqZ%fF=Yr`N=kp6bwbvEd*(NUoS6oUe!5W6yED u%F?Q#n$`mZ?~bolCPQ$)hv@0rE!Eus;a2qi6x?({z9zx~Oq}d{@Zc|SeK#fm