home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / internet / readnews / a083scr next >
Internet Message Format  |  1999-04-27  |  10KB

  1. From: jwil1@cs.aukuni.ac.nz (TMOTA)
  2. Date: 17 Dec 92 01:40:08 GMT
  3.  
  4. This file contains a set of extra scripts for use with the
  5. ReadNews newsreader application.
  6.  
  7. In order to get to grips with the script language ReadNews
  8. provides, I present some scripts I use regularly with it. Their
  9. function is quite varied, and sometimes not specifically related
  10. to reading news... it's just that I have found the script
  11. interpretor provides a reasonably functional WIMP front-end to
  12. a number of command line utilities in my library directory.
  13.  
  14. Each script is separated by a "..== CUT HERE ==.." line. Scripts
  15. should be saved as RNScript or Text files and *must* be
  16. trimmed so that the #Script command is the first line of each
  17. file. It is by this line that ReadNews can tell that the file
  18. is a script and not a posting.
  19.  
  20.  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  21. * These scripts are Copyright Julian Wright 1992, and FREEWARE.     *
  22. * You may distribute them by whatever means you like, so long as    *
  23. * you do not charge for them. They may not be used, in whole or in  *
  24. * part, in or with any commercial product without my express        *
  25. * written consent. Under no circumstances will I accept any         *
  26. * responsibility for any damage these scripts do. This copyright    *
  27. * message must be distributed with the scripts. If you modify       *
  28. * them in any way and wish to distribute the modified scripts,      *
  29. * you must include a comment or note to the effect that they have   *
  30. * been modified. So there!                                          *
  31.  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  32.  
  33. ======================= CUT HERE =======================
  34. #Script Newsgroup Cleanup
  35. #
  36. # ----------------------------------------------------------
  37. # I run this script regularly, after new news/mail has been
  38. # incorped. It goes through various newsgroups, weeding out
  39. # regular postings and saving them to various directories
  40. # under the $.Docs directory on my hard drive.
  41. #
  42. # The code demonstrated here could be used to produce a
  43. # KILL file, simply by not Loading/Saving recognised
  44. #  articles but instead simply deleting them.
  45. #
  46. # Although throughout this script I have referred to subject
  47. # lines in full, there is no reason not to have used
  48. # something like:
  49. # #if "%hdr_subject%" RIGHT 11 = "ARM3 vs 486"
  50. # to refer to a whole group of articles which I may feel
  51. # need 'attention'... :-) Type 'help eval' at the
  52. # supervisor prompt for fuller details.
  53. #
  54. # This script Squashes many of the articles it has saved. If
  55. # you do not have RISC OS 3 (and therefore the Squash
  56. # application), you can comment out the offending lines, or
  57. # replace them with your favourite compression utility.
  58. # eg. compress
  59. # ----------------------------------------------------------
  60. #
  61. # The following line causes ReadNews to quit as soon as it
  62. # has processed this script *IF* it wasn't already running
  63. # when the script was *Filer_Run or double-clicked on.
  64. #AutoQuit
  65. #
  66. #os Set Docs$Dir adfs::IDEDisc4.$.Docs
  67. #
  68. #setgroup Email.julian
  69. #if %art_count%>0
  70. #setart first
  71. #endif
  72. #
  73. #while (%art_pos%>-1) AND (%art_count%>0)
  74. #os seteval delete 0
  75. #
  76. #if "%hdr_subject%"="Damned File Listing"
  77. #loadart
  78. #art_save <Docs$Dir>.NZArchive.FullIndex
  79. #task Squash "<Docs$Dir>.NZArchive.FullIndex"
  80. #os seteval delete 1
  81. #endif
  82. #
  83. #if "%hdr_subject%"="Changes effected this upload."
  84. #loadart
  85. #art_save <Docs$Dir>.NZArchive.Changes
  86. # #task Squash "<Docs$Dir>.NZArchive.Changes"
  87. #os seteval delete 1
  88. #endif
  89. #
  90. #if delete
  91. #art_delete
  92. #else
  93. #setart next
  94. #endif
  95. #
  96. #endwhile
  97. #
  98. #setgroup comp.sys.acorn
  99. #if %art_count%>0
  100. #setart first
  101. #endif
  102. #
  103. #while (%art_pos%>-1) AND (%art_count%>0)
  104. #os seteval delete 0
  105. #
  106. #if "%hdr_subject%"="Acorn ftp and mail-server archives (fortnightly posting)"
  107. #loadart
  108. #art_save <Docs$Dir>.Services.FTPList
  109. #task Squash "<Docs$Dir>.Services.FTPList"
  110. #os seteval delete 1
  111. #endif
  112. #
  113. #if "%hdr_subject%"="Comp.Sys.Acorn FAQ List Posting (Automatic)"
  114. #loadart
  115. #art_save <Docs$Dir>.faqs.csafaq
  116. #task Squash "<Docs$Dir>.faqs.csafaq"
  117. #os seteval delete 1
  118. #endif
  119. #
  120. #if delete
  121. #art_delete
  122. #else
  123. #setart next
  124. #endif
  125. #
  126. #endwhile
  127. #
  128. #setgroup comp.sys.acorn.announce
  129. #if %art_count%>0
  130. #setart first
  131. #endif
  132. #
  133. #while (%art_pos%>-1) AND (%art_count%>0)
  134. #os seteval delete 0
  135. #
  136. #if "%hdr_subject%"="Additions and/or replacements on the Newcastle Info Server"
  137. #loadart
  138. #art_save <Docs$Dir>.Services.NCupdate
  139. # #task Squash "<Docs$Dir>.Services.NCupdate"
  140. #os seteval delete 1
  141. #endif
  142. #
  143. #if delete
  144. #art_delete
  145. #else
  146. #setart next
  147. #endif
  148. #
  149. #endwhile
  150. #
  151. #setgroup nz.archives
  152. #if %art_count%>0
  153. #setart first
  154. #endif
  155. #
  156. #while (%art_pos%>-1) AND (%art_count%>0)
  157. #os seteval delete 0
  158. #
  159. #if "%hdr_subject%"="VUW Computer Science Archive Info"
  160. #loadart
  161. #art_save <Docs$Dir>.Services.VUWInfo
  162. #task Squash "<Docs$Dir>.Services.VUWInfo"
  163. #os seteval delete 1
  164. #endif
  165. #
  166. #if "%hdr_subject%"="VUW Computer Science Archive Sample"
  167. #loadart
  168. #art_save <Docs$Dir>.Services.VUWSample
  169. #task Squash "<Docs$Dir>.Services.VUWSample"
  170. #os seteval delete 1
  171. #endif
  172. #
  173. #if "%hdr_subject%"="Recent additions to VUW Computer Science Archive"
  174. #loadart
  175. #art_save <Docs$Dir>.Services.VUWRecent
  176. # #task Squash "<Docs$Dir>.Services.VUWRecent"
  177. #os seteval delete 1
  178. #endif
  179. #
  180. #if delete
  181. #art_delete
  182. #else
  183. #setart next
  184. #endif
  185. #
  186. #endwhile
  187. #
  188. #setgroup none
  189. ======================= CUT HERE =======================
  190. #Script Squash/Unsquash file(s)
  191. #
  192. # This script provides a front end to the squash utility
  193. # provided with RISC OS 3. Unsquashed files will be
  194. # squashed, and vice versa.
  195. #
  196. #Arg Filenames:
  197. #Args
  198. #
  199. #if "%0%"=""
  200. #error You must specify at least one file to squash/unsquash!
  201. #endif
  202. #
  203. #repeat
  204. #task Squash %0%
  205. #Shift
  206. #until "%0%"=""
  207. ======================= CUT HERE =======================
  208. #Script List New Modules from ftphost
  209. #
  210. # This script must be run when you are currently viewing
  211. # a list of files recently uploaded to one of my local
  212. # FTP sites. It searches through the listing for mention
  213. # of uploads to the NoiseTracker module directory and
  214. # sends what it finds to the currently loaded text editor.
  215. #
  216. # BTW Each entry in the list is expected to occupy three
  217. # lines - filename, original pathname, and comments.
  218. #
  219. #Width 16
  220. #Menu List type:Verbose\3,Without comments\2,Just names\1
  221. #
  222. #Output Edit
  223. #os seteval lines %0%
  224. #os seteval startline 1
  225. #
  226. #if "%article%"=""
  227. #error You must have a current article loaded!
  228. #endif
  229. #
  230. #repeat
  231. #art_search /Music/NoiseTracker -start <startline> -c
  232. #if "%found%"<>""
  233. #include %art_file% -start %found% -lines <lines>
  234. #os seteval startline %found%+2
  235. #endif
  236. #until "%found%"=""
  237. ======================= CUT HERE =======================
  238. #Script Archive files (v0.03)
  239. #
  240. # This script provides an easy to use frontend for three popular
  241. # CLI archiving utilities (ARC, LHarc, and Tar) which you must have
  242. # installed in your current Library directory. In all cases it will
  243. # cause a new archive to be created and the specified files to be
  244. # added to it.
  245. #
  246. #Menu Archiver:arc,lharc,tar|compress\tar
  247. #Arg Send to:
  248. #Width 10
  249. #Arg Archive name:
  250. #Width 40,80
  251. #Arg Filenames:
  252. #Args
  253. #
  254. # First, some range checking...
  255. #
  256. #if "%2%"=""
  257. #error You must specify an archive name to create!
  258. #endif
  259. #if "%3%"=""
  260. #error You must specify at least one file to archive!
  261. #endif
  262. #
  263. # Now initialise variables
  264. #
  265. #os Dir <ReadNews$TempDir>
  266. #os set Alias$Archiving %0% m %2%
  267. #if "<tar$scrap>"=""
  268. #os set tar$scrap <ReadNews$TempDir>.TarScrap
  269. #endif
  270. #
  271. # If we are tarring, create a blank tarchive now...
  272. #
  273. #if "%0%"="tar"
  274. #task tar cf %2% null:
  275. #endif
  276. #
  277. # Copy all files into temp directory
  278. #   - If tarring, archive them and delete them as well
  279. #     as Tar has no MOVE option.
  280. #
  281. #repeat
  282. #os set leaf ""
  283. #os set branch "%3%"
  284. #while (branch RIGHT 1 <> ".") AND LEN branch > 0
  285. #os seteval leaf (branch RIGHT 1)+leaf
  286. #os seteval branch (branch LEFT (LEN branch - 1))
  287. #endwhile
  288. #task copy %3% <leaf> ~cq~v
  289. #if "%0%"="tar"
  290. #os set Alias$Archiving tar rf %2% <leaf>
  291. #task Archiving
  292. #os remove <leaf>
  293. #else
  294. #os set Alias$Archiving <Alias$Archiving> <leaf>
  295. #endif
  296. #Shift 3
  297. #until "%3%"=""
  298. #
  299. # Archive them all if we are not tarring
  300. #
  301. #if "%0%"<>"tar"
  302. #task Archiving
  303. #endif
  304. #os unset Alias$Archiving
  305. #
  306. # Process archive name to make it uniform
  307. #  - ARC leaves filename unchanged
  308. #  - LHarc adds "_lzh" to end and truncates to 10 chars
  309. #  - Tar needs compressing, which truncates name to 8 chars and
  310. #    appends "-Z"
  311. #
  312. #os set leaf "%2%"
  313. #
  314. # LHarc code
  315. #
  316. #if "%0%"="lharc"
  317. #os seteval leaf (leaf + "_lzh") LEFT 10
  318. #endif
  319. #
  320. # Set the type of the file to Archive (strange!)
  321. #
  322. #os SetType <leaf> DDC
  323. #
  324. # Tar code
  325. #
  326. #if "%0%"="tar"
  327. #os seteval newleaf leaf LEFT 8
  328. #os rename <leaf> <newleaf>
  329. #os set leaf <newleaf>
  330. #os set Alias$Compressing compress <newleaf>
  331. #task Compressing
  332. #os unset Alias$Compressing
  333. #os seteval leaf (newleaf + "-Z") LEFT 10
  334. #os SetType <leaf> FFD
  335. #endif
  336. #
  337. # If an email address was not given, open the temp directory.
  338. # Otherwise UUencode and email the file, deleting it afterwards.
  339. #
  340. #if "%1%"=""
  341. #os Filer_OpenDir <ReadNews$TempDir>
  342. #else
  343. #Output post
  344. To: %1%
  345. Subject: uuencoded %0% archive within
  346.  
  347. The following is a uuencoded archive, created with %0%.
  348. Trim out everything before the first 'cut here' line and feed
  349. to a uudecoder/archive utility (eg Spark).
  350.  
  351. Original archive name: %2%
  352.  
  353. BEGIN---------- Cut Here ----------
  354. #os set Alias$UUencoding uue <leaf>
  355. #task UUencoding
  356. #os Unset Alias$UUencoding
  357. #os remove <leaf>
  358. #os seteval leaf leaf LEFT 6
  359. #include <leaf>_uue
  360. #os remove <leaf>_uue
  361. END------------ Cut Here ----------
  362. #endif
  363. #
  364. # Leave everything the way we found it!
  365. #
  366. #os unset leaf
  367. #os Unset newleaf
  368. #os unset branch
  369. #os Back
  370. ======================= CUT HERE =======================
  371.