PA Created by Meg Rheingold to list new reads for readers' advisory project * ************************************************************************ * DESCRIPTION: Generates new-reads lists for readers' advisory project * ACCOUNT(S): ACC.CIRC45 (Info Services) * VOC NAME: BOOK.ALERTS * REPORT CODE: * PARAMETER USAGE: none * AUTHOR & DATE: Meg Rheingold ?? ??? 2003 * MAINTENANCE LOG: * |-??/??/03 mr - created * |-09/18/03 lbm - edited, rearranged, expanded, & documented * |-09/23/03 lbm - edited to email results, added PARANORMAL category * |-09/25/03 lbm - changed funds & INSPIR criteria * |-09/30/03 lbm - deleted DELETE-LIST commands since Perl script does that * |-10/02/03 lbm - new funds codes * |-10/06/03 lbm - children's now by call #, added YAUDIO & EBOOK, deleted LITERARY * |-10/13/03 lbm - changed output I-descriptor to L-BOOK.ALERTS.OUTPUT * |-10/28/03 lbm - deleted unix2dos command because corrupting diacritics * |-10/30/03 lbm - conflated BOOK.ALERTS and BOOK.ALERTS.FORMAT * |-11/17/03 lbm - revised collection-code and fund criteria * |-12/15/03 lbm - corrected use of NE with truncation operators * ***************************** * * See documentation for full editing instructions. Short version here. * * To add a category saved-list: * Example: new pornographic novels, let's call the code XXX. * This would be fiction, so go to the fiction section * and duplicate (copy and paste) another list's 6 lines (from * HUSH OFF to SAVE-LIST). * Change the category code in the DISPLAY line. * Change the select criteria (IF blah blah blah) but don't delete the ends: * SSELECT BIB BY SORT.TITLE IF blah blah blah REQUIRE.SELECT * Also change the name of the save-list to [code].BAO, in our case: * SAVE-LIST XXX.BAO * * ***************************** CS DISPLAY DISPLAY Welcome to Book Alerts. This program finds items that were recently DISPLAY added to KCLS. It will take several minutes to run, although the first DISPLAY Recall statement will take the longest. DISPLAY DISPLAY This is no ordinary VOC! It generates save-lists for each category DISPLAY of item and then calls a Perl script on the Dynix server to slightly DISPLAY reformat the lists, concatenate them into one huge file, and email DISPLAY the file to the specified email address. DISPLAY DISPLAY Enter Q to quit or press return to continue. DISPLAY <> IF <> = "Q" THEN GO END IF <> = "q" THEN GO END DISPLAY LOOP DISPLAY Enter the start date in the form MMM DD YYYY, e.g., SEP 16 2002 DISPLAY <> DISPLAY Enter the end date in the form MMM DD YYYY, e.g., SEP 30 2002 DISPLAY <> DISPLAY DISPLAY Enter the email address you want the file sent to. This can be your DISPLAY own email address, if you want to check the file before sending it on, DISPLAY or that of the person who will take over the next step in the process DISPLAY (as of September 2003, Lisa Hill ). DISPLAY <> DISPLAY DISPLAY Is this correct? Enter Y for Yes, Q for Quit, anything else for No. DISPLAY <> IF <> = "Y" THEN GO FINDING IF <> = "y" THEN GO FINDING IF <> = "Q" THEN GO END IF <> = "q" THEN GO END REPEAT FINDING: DISPLAY DISPLAY Finding new reads. This will take several minutes ... DISPLAY Start time: TIME DISPLAY * ***************************** * Cleanup first -- don't want to send old output file in case something fails! SH -c "rm -f /tmp/bookalerts.txt" * ***************************** * Get base list * ***************************** DISPLAY Selecting bibs between <> and <> (inclusive) HUSH ON SELECT BIB IF L-DATE.RECEIVED >= "<>" AND L-DATE.RECEIVED <= "<>" AND CALL SAVE-LIST BOOKALERTS-TEMP GET-LIST BOOKALERTS-TEMP SELECT BIB SAVING EVAL "@SELECTED" SAMPLE 1 REQUIRE.SELECT SAVE-LIST &TEMP& NUMBER.RECS HUSH OFF DISPLAY ... <> records selected. DISPLAY Selecting only bibs that have a full MARC record HUSH ON GET-LIST BOOKALERTS-TEMP SELECT MARC.BIB REQUIRE.SELECT SAVE-LIST BOOKALERTS-TEMP GET-LIST BOOKALERTS-TEMP SELECT MARC.BIB SAVING EVAL "@SELECTED" SAMPLE 1 REQUIRE.SELECT SAVE-LIST &TEMP& NUMBER.RECS HUSH OFF DISPLAY ... <> records selected. DISPLAY Selecting bibs that are not on order, have holdings, are published since DISPLAY 2001, and are English editions HUSH ON GET-LIST BOOKALERTS-TEMP SELECT BIB IF BARCOUNT >= "1" AND D-PUB.DATE GE "2003" REQUIRE.SELECT SAVE-LIST BOOKALERTS-BASE1 GET-LIST BOOKALERTS-BASE1 SELECT BIB IF CALL = "[ON ORDER]" OR SUBJECTS = "[Arabic language]" OR SUBJECTS = "[Armenian language]" OR SUBJECTS = "[Chinese language]" OR SUBJECTS = "[French language]" OR SUBJECTS = "[German language]" OR SUBJECTS = "[Hindi language]" OR SUBJECTS = "[Italian language]" OR SUBJECTS = "[Japanese language]" OR SUBJECTS = "[Khmer language]" OR SUBJECTS = "[Korean language]" OR SUBJECTS = "[Panjabi language]" OR SUBJECTS = "[Persian language]" OR SUBJECTS = "[Polish language]" OR SUBJECTS = "[Russian language]" OR SUBJECTS = "[Somali language]" OR SUBJECTS = "[Serbian language]" OR SUBJECTS = "[Croatian language]" OR SUBJECTS = "[Spanish language]" OR SUBJECTS = "[Tagalog language]" OR SUBJECTS = "[Tamil language]" OR SUBJECTS = "[Thai language]" OR SUBJECTS = "[Ukranian language]" OR SUBJECTS = "[Vietnamese language]" REQUIRE.SELECT SAVE-LIST BOOKALERTS-BASE2 LIST.DIFF BOOKALERTS-BASE1 DATA BOOKALERTS-BASE2 DATA BOOKALERTS-BASE GET-LIST BOOKALERTS-BASE SELECT BIB SAVING EVAL "@SELECTED" SAMPLE 1 REQUIRE.SELECT SAVE-LIST &TEMP& NUMBER.RECS HUSH OFF DISPLAY ... <> records selected. * ***************************** * Eliminate vendor records * ***************************** HUSH OFF DISPLAY Selecting vendor MARC records HUSH ON SELECT MARC.BIB IF F2 = "[263]" AND F2 = "[510]" SAVE-LIST VENDOR GET-LIST VENDOR SELECT BIB SAVING EVAL "@SELECTED" SAMPLE 1 REQUIRE.SELECT SAVE-LIST &TEMP& NUMBER.RECS HUSH OFF DISPLAY ... <> records selected. DISPLAY Selecting bibs that are not vendors HUSH ON LIST.DIFF BOOKALERTS-BASE DATA VENDOR DATA BOOKALERTS-BASE1 DELETE-LIST BOOKALERTS-BASE HUSH OFF DISPLAY Saving base list HUSH ON COPY-LIST BOOKALERTS-BASE1 DATA BOOKALERTS-BASE DELETE-LIST VENDOR DELETE-LIST BOOKALERTS-BASE1 GET-LIST BOOKALERTS-BASE SELECT BIB SAVING EVAL "@SELECTED" SAMPLE 1 REQUIRE.SELECT SAVE-LIST &TEMP& NUMBER.RECS HUSH OFF DISPLAY ... <> records selected. HUSH ON * ***************************** * Limit records to certain funds and eliminate vendor records * ***************************** HUSH OFF DISPLAY Selecting bibs with certain fund codes HUSH ON GET-LIST BOOKALERTS-BASE * ************** * This is the line to edit when fund-codes change * ************** SELECT BIB IF L-FUND.NAME = "[CSA]" "[CSN]" "[CBN]" "[TRAVN]" "[CPA]" "[PCA]" "[CSB]" "[CPBCD]" "[CSAUD]" "[CSV]" "[CSW]" "[DVDA]" "[TLCS]" "[SELY]" "[CSY]" "[CSJ]" "[CSI]" "[CSE]" "[CSEB]" "[CSJB]" "[CSJM]" "[CSK]" "[CSL]" "[DVDJ]" "[CSP]" "[CSBB]" REQUIRE.SELECT SAVE-LIST BOOKALERTS-FUNDS1 GET-LIST BOOKALERTS-FUNDS1 SELECT BIB IF L-FUND.NAME = "[HOLD]" SAVE-LIST BOOKALERTS-FUNDS2 LIST.DIFF BOOKALERTS-FUNDS1 DATA BOOKALERTS-FUNDS2 DATA BOOKALERTS-FUNDS DELETE-LIST BOOKALERTS-FUNDS1 DELETE-LIST BOOKALERTS-FUNDS2 GET-LIST BOOKALERTS-FUNDS SELECT BIB SAVING EVAL "@SELECTED" SAMPLE 1 REQUIRE.SELECT SAVE-LIST &TEMP& NUMBER.RECS HUSH OFF DISPLAY ... <> records selected. * ***************************** * Kids' books * ***************************** DISPLAY Selecting children's bibs HUSH ON GET-LIST BOOKALERTS-FUNDS SELECT BIB IF CALL="J]" SAVE-LIST BOOKALERTS-J GET-LIST BOOKALERTS-J SELECT BIB SAVING EVAL "@SELECTED" SAMPLE 1 REQUIRE.SELECT SAVE-LIST &TEMP& NUMBER.RECS HUSH OFF DISPLAY ... <> records selected. DISPLAY Selecting/saving JFIC list HUSH ON GET-LIST BOOKALERTS-J SELECT BIB IF L-FUND.NAME = "[CSJ]" SSELECT BIB BY SORT.TITLE IF T-COLL = "CFIC" "CKTFIC" "CPOETRY" "CS" "FOLK" "KD" OR (T-COLL="LP" AND CALL="J ]") OR (T-COLL="NF" AND CALL="J398.6]" "J 398.6]") SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST JFIC.BAO GET-LIST JFIC.BAO SELECT BIB SAVING EVAL "@SELECTED" SAMPLE 1 REQUIRE.SELECT SAVE-LIST &TEMP& NUMBER.RECS HUSH OFF DISPLAY ... <> records saved. DISPLAY Selecting/saving JNONFIC list HUSH ON GET-LIST BOOKALERTS-J SELECT BIB IF L-FUND.NAME = "[CSI]" SELECT BIB IF CALL = "J ]" "JCT]" "JCD]" "JR]" "JU]" "JB]" "JPB]" "JKT]" "JX]" "JLP]" "JNC]" "JTG]" "JFIC]" "Jfic]" "JFic]" "JOBS]" "J" REQUIRE.SELECT SAVE-LIST BOOKALERTS-JNONFIC1 LIST.DIFF BOOKALERTS-J DATA BOOKALERTS-JNONFIC1 DATA BOOKALERTS-JNONFIC GET-LIST BOOKALERTS-JNONFIC SSELECT BIB BY SORT.TITLE SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST JNONFIC.BAO DELETE-LIST BOOKALERTS-JNONFIC DELETE-LIST BOOKALERTS-JNONFIC1 HUSH OFF DISPLAY Selecting/saving JAUDIO list HUSH ON GET-LIST BOOKALERTS-J SSELECT BIB BY SORT.TITLE IF T-COLL="CAUB" AND SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST JAUDIO.BAO HUSH OFF DISPLAY Selecting/saving JMUSIC list HUSH ON GET-LIST BOOKALERTS-J SSELECT BIB BY SORT.TITLE IF T-COLL="CMUS" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST JMUSIC.BAO HUSH OFF DISPLAY Selecting/saving JVIDEO list HUSH ON GET-LIST BOOKALERTS-J SSELECT BIB BY SORT.TITLE IF SUBJECTS = "[Children's films]" OR T-COLL = "CDVD" "CVIDEO" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST JVIDEO.BAO DELETE-LIST BOOKALERTS-J HUSH OFF DISPLAY Selecting/saving EFIC list HUSH ON GET-LIST BOOKALERTS-FUNDS SSELECT BIB BY SORT.TITLE IF T-COLL = "CBB" "CEF" "CEREADER" "CLITTLE" "STORY" OR (T-COLL="AFIC" AND CALL="KT]") OR (T-COLL="CAUB" AND CALL="E ]") SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST EFIC.BAO HUSH OFF DISPLAY Selecting/saving ENONFIC list HUSH ON GET-LIST BOOKALERTS-FUNDS SELECT BIB IF L-FUND.NAME = "[CSP]" SELECT BIB IF T-COLL = "CENF" OR (T-COLL="NF" AND CALL="KT]") OR (T-COLL="CAUB" AND CALL="E]") REQUIRE.SELECT SAVE-LIST BOOKALERTS-ENONFIC1 GET-LIST BOOKALERTS-ENONFIC1 SELECT BIB IF CALL T-COLL="CAUB" AND CALL="E ]" SAVE-LIST BOOKALERTS-ENONFIC2 LIST.DIFF BOOKALERTS-ENONFIC1 DATA BOOKALERTS-ENONFIC2 DATA BOOKALERTS-ENONFIC GET-LIST BOOKALERTS-ENONFIC SSELECT BIB BY SORT.TITLE SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST ENONFIC.BAO * ***************************** * Teens' books * ***************************** HUSH OFF DISPLAY Selecting teen bibs HUSH ON GET-LIST BOOKALERTS-FUNDS SELECT BIB IF CALL="Y]" SAVE-LIST BOOKALERTS-Y HUSH OFF DISPLAY Selecting/saving YFIC list HUSH ON GET-LIST BOOKALERTS-Y SSELECT BIB BY SORT.TITLE IF T-COLL = "TCLAS" "TD" "TFIC" OR (T-COLL="LP" AND CALL="Y ]") SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST YFIC.BAO HUSH OFF DISPLAY Selecting/saving YNONFIC list HUSH ON GET-LIST BOOKALERTS-Y SSELECT BIB BY SORT.TITLE IF T-COLL = "B" "NF" "YNF" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST YNONFIC.BAO HUSH OFF DISPLAY Selecting/saving YAUDIO list HUSH ON GET-LIST BOOKALERTS-Y SSELECT BIB BY SORT.TITLE IF T-COLL = "YAUB" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST YAUDIO.BAO DELETE-LIST BOOKALERTS-Y * ***************************** * Video, DVD * ***************************** HUSH OFF DISPLAY Selecting/saving VIDEOF list HUSH ON GET-LIST BOOKALERTS-FUNDS SELECT BIB IF T-COLL = "VIDEO" AND CALL="VT F]" REQUIRE.SELECT SAVE-LIST BOOKALERTS-VIDEOF GET-LIST BOOKALERTS-VIDEOF SSELECT BIB BY SORT.TITLE SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST VIDEOF.BAO HUSH OFF DISPLAY Selecting/saving VIDEONF list HUSH ON GET-LIST BOOKALERTS-FUNDS SSELECT BIB BY SORT.TITLE IF T-COLL = "VIDEO" REQUIRE.SELECT SAVE-LIST BOOKALERTS-VIDEONF LIST.DIFF BOOKALERTS-VIDEONF DATA BOOKALERTS-VIDEOF DATA BOOKALERTS-VIDEONF2 GET-LIST BOOKALERTS-VIDEONF2 SSELECT BIB BY SORT.TITLE SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST VIDEONF.BAO DELETE-LIST BOOKALERTS-VIDEOF DELETE-LIST BOOKALERTS-VIDEONF DELETE-LIST BOOKALERTS-VIDEONF2 HUSH OFF DISPLAY Selecting/saving DVDF list HUSH ON GET-LIST BOOKALERTS-FUNDS SELECT BIB IF T-COLL = "DVD" AND CALL="DVD F]" REQUIRE.SELECT SAVE-LIST BOOKALERTS-DVDF GET-LIST BOOKALERTS-DVDF SSELECT BIB BY SORT.TITLE SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST DVDF.BAO HUSH OFF DISPLAY Selecting/saving DVDNF list HUSH ON GET-LIST BOOKALERTS-FUNDS SSELECT BIB BY SORT.TITLE IF T-COLL = "DVD" REQUIRE.SELECT SAVE-LIST BOOKALERTS-DVDNF LIST.DIFF BOOKALERTS-DVDNF DATA BOOKALERTS-DVDF DATA BOOKALERTS-DVDNF2 GET-LIST BOOKALERTS-DVDNF2 SSELECT BIB BY SORT.TITLE SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST DVDNF.BAO DELETE-LIST BOOKALERTS-DVDF DELETE-LIST BOOKALERTS-DVDNF DELETE-LIST BOOKALERTS-DVDNF2 * ***************************** *Do separate eaudio pull because the CSAUD fund excludes eaudio but includes all other spoken words * ***************************** GET-LIST BOOKALERTS-BASE SELECT BIB IF CALL = "Eaudio]" AND CALL = "eAUDIO" SAVE-LIST BOOKALERTS-EAUDIO GET-LIST BOOKALERTS-FUNDS SELECT BIB IF SUBJECTS = "[Audiobooks collection]" AND SUBJECTS = "[BOOKALERTS-NONFICTION]" REQUIRE.SELECT SAVE-LIST BOOKALERTS-AUDIONF1 GET-LIST BOOKALERTS-AUDIONF1 SELECT BIB IF CALL = "J]" "Y]" "E]" "[[E]]" REQUIRE.SELECT SAVE-LIST BOOKALERTS-AUDIONF2 LIST.DIFF BOOKALERTS-AUDIONF1 DATA BOOKALERTS-AUDIONF2 DATA BOOKALERTS-AUDIONF3 DELETE.LIST BOOKALERTS-AUDIONF1 DELETE.LIST BOOKALERTS-AUDIONF2 GET-LIST BOOKALERTS-FUNDS SELECT BIB IF SUBJECTS = "[Audiobooks collection]" AND SUBJECTS = "[Fiction]" REQUIRE.SELECT SAVE-LIST BOOKALERTS-AUDIOF1 GET-LIST BOOKALERTS-AUDIOF1 SELECT BIB IF CALL = "J]" "Y]" "E]" "[[E]]" REQUIRE.SELECT SAVE-LIST BOOKALERTS-AUDIOF2 LIST.DIFF BOOKALERTS-AUDIOF1 DATA BOOKALERTS-AUDIOF2 DATA BOOKALERTS-AUDIOF3 DELETE.LIST BOOKALERTS-AUDIOF1 DELETE.LIST BOOKALERTS-AUDIOF2 * ************** * Combine Audiobooks list with EAUDIO list * ************** HUSH OFF DISPLAY Selecting/saving AUDIONF list HUSH ON LIST.UNION BOOKALERTS-AUDIONF3 DATA BOOKALERTS-EAUDIO DATA BOOKALERTS-AUDIONF GET-LIST BOOKALERTS-AUDIONF SSELECT BIB BY SORT.TITLE SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST AUDIONF.BAO DELETE-LIST BOOKALERTS-AUDIONF DELETE-LIST BOOKALERTS-AUDIONF3 HUSH OFF DISPLAY Selecting/saving AUDIOF list HUSH ON LIST.UNION BOOKALERTS-AUDIOF1 DATA BOOKALERTS-EAUDIO DATA BOOKALERTS-AUDIOF GET-LIST AUDIOF SSELECT BIB BY SORT.TITLE SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST AUDIOF.BAO DELETE-LIST BOOKALERTS-AUDIOF DELETE-LIST BOOKALERTS-AUDIOF1 DELETE-LIST BOOKALERTS-EAUDIO * ***************************** * eBooks * ***************************** HUSH OFF DISPLAY Selecting/saving EBOOK list HUSH ON * eBooks don't have received dates like conventional books do *SSELECT BIB BY SORT.TITLE IF T-ITYPE = "[EBOOK]" AND (DATE.ADDED GE "<>" AND DATE.ADDED LE "<>") OR (DATE.MODIFIED GE "<>" AND DATE.MODIFIED LE "<>") SAVING L-TITLEOUTPUT SELECT BIB IF BARCOUNT >= "1" AND D-PUB.DATE > "2001" AND T-ITYPE = "[EBOOK]" AND DATE.ADDED GE "<>" AND DATE.ADDED LE "<>" REQUIRE.SELECT SAVE-LIST BOOKALERTS-EBOOK1 GET-LIST BOOKALERTS-EBOOK1 SELECT BIB IF CALL = "[ON ORDER]" OR SUBJECTS = "[Arabic language]" OR SUBJECTS = "[Armenian language]" OR SUBJECTS = "[Chinese language]" OR SUBJECTS = "[French language]" OR SUBJECTS = "[German language]" OR SUBJECTS = "[Hindi language]" OR SUBJECTS = "[Italian language]" OR SUBJECTS = "[Japanese language]" OR SUBJECTS = "[Khmer language]" OR SUBJECTS = "[Korean language]" OR SUBJECTS = "[Panjabi language]" OR SUBJECTS = "[Persian language]" OR SUBJECTS = "[Polish language]" OR SUBJECTS = "[Russian language]" OR SUBJECTS = "[Somali language]" OR SUBJECTS = "[Serbian language]" OR SUBJECTS = "[Croatian language]" OR SUBJECTS = "[Spanish language]" OR SUBJECTS = "[Tagalog language]" OR SUBJECTS = "[Tamil language]" OR SUBJECTS = "[Thai language]" OR SUBJECTS = "[Ukranian language]" OR SUBJECTS = "[Vietnamese language]" REQUIRE.SELECT SAVE-LIST BOOKALERTS-EBOOK2 LIST.DIFF BOOKALERTS-EBOOK1 DATA BOOKALERTS-EBOOK2 DATA BOOKALERTS-EBOOK DELETE-LIST BOOKALERTS-EBOOK1 DELETE-LIST BOOKALERTS-EBOOK2 GET-LIST BOOKALERTS-EBOOK SSELECT BIB BY SORT.TITLE SAVING L-TITLEOUTPUT REQUIRE.SELECT SAVE-LIST EBOOK.BAO DELETE-LIST BOOKALERTS-EBOOK * ***************************** * BOOKALERTS-NONFICTION * ***************************** HUSH OFF DISPLAY Generating general NONFICTION list (for NONFICTION categories) HUSH ON GET-LIST BOOKALERTS-FUNDS SELECT BIB IF CALL = "[DVD]" "J]" "Y]" "[VT]" "[KT]" "[CT]" "[CD]" "[FIC]" "[Fic]" "[fic]" "[-E-]" "E]" "IL]" "[PER]" "X" "Eaudio]" "eAUDIO" "LP]" "NONE" "PB]" "R]" "M]" "S]" "T]" "F]" "BK]" "BOOK]" SAVE-LIST BOOKALERTS-NONFICTION1 LIST.DIFF BOOKALERTS-FUNDS DATA BOOKALERTS-NONFICTION1 DATA BOOKALERTS-NONFICTION DELETE-LIST BOOKALERTS-NONFICTION1 HUSH OFF DISPLAY Selecting/saving AMERICAN list HUSH ON GET-LIST BOOKALERTS-NONFICTION SSELECT BIB BY SORT.TITLE IF CALL >= "973]" AND CALL <= "979]" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST AMERICAN.BAO HUSH OFF DISPLAY Selecting/saving ART list HUSH ON GET-LIST BOOKALERTS-NONFICTION SSELECT BIB BY SORT.TITLE IF CALL >= "700]" AND CALL <= "779]" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST ART.BAO HUSH OFF DISPLAY Selecting/saving BIO list HUSH ON GET-LIST BOOKALERTS-NONFICTION SSELECT BIB BY SORT.TITLE IF CALL = "B]" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST BIO.BAO HUSH OFF DISPLAY Selecting/saving BUSINESS list HUSH ON GET-LIST BOOKALERTS-NONFICTION SSELECT BIB BY SORT.TITLE IF CALL = "332]" OR CALL = "658]" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST BUSINESS.BAO HUSH OFF DISPLAY Selecting/saving COOKING list HUSH ON GET-LIST BOOKALERTS-NONFICTION SSELECT BIB BY SORT.TITLE IF CALL = "641]" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST COOKING.BAO HUSH OFF DISPLAY Selecting/saving CRIME list HUSH ON GET-LIST BOOKALERTS-NONFICTION SSELECT BIB BY SORT.TITLE IF CALL = "364]" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST CRIME.BAO HUSH OFF DISPLAY Selecting/saving EARTH list HUSH ON GET-LIST BOOKALERTS-NONFICTION SSELECT BIB BY SORT.TITLE IF CALL >= "550]" AND CALL <= "569]" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST EARTH.BAO HUSH OFF DISPLAY Selecting/saving GAMES list HUSH ON GET-LIST BOOKALERTS-NONFICTION SSELECT BIB BY SORT.TITLE IF CALL >= "793]" AND CALL <= "795]" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST GAMES.BAO HUSH OFF DISPLAY Selecting/saving HANDICRAFT list HUSH ON GET-LIST BOOKALERTS-NONFICTION SSELECT BIB BY SORT.TITLE IF CALL >= "745.5]" AND CALL <= "746]" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST HANDICRAFT.BAO HUSH OFF DISPLAY Selecting/saving HEALTH list HUSH ON GET-LIST BOOKALERTS-NONFICTION SSELECT BIB BY SORT.TITLE IF CALL >= "610]" AND CALL <= "619]" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST HEALTH.BAO HUSH OFF DISPLAY Selecting/saving HOME list HUSH ON GET-LIST BOOKALERTS-NONFICTION SSELECT BIB BY SORT.TITLE IF CALL = "635]" OR CALL = "712]" OR CALL = "645]" OR (CALL >= "747]" AND CALL <= "749]") SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST HOME.BAO HUSH OFF DISPLAY Selecting/saving LIFE list HUSH ON GET-LIST BOOKALERTS-NONFICTION SSELECT BIB BY SORT.TITLE IF CALL >= "570]" AND CALL <= "589]" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST LIFE.BAO HUSH OFF DISPLAY Selecting/saving MUSIC list HUSH ON GET-LIST BOOKALERTS-NONFICTION SSELECT BIB BY SORT.TITLE IF CALL >= "780]" AND CALL <= "789]" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST MUSIC.BAO HUSH OFF DISPLAY Selecting/saving NATURAL list HUSH ON GET-LIST BOOKALERTS-NONFICTION SSELECT BIB BY SORT.TITLE IF CALL >= "590]" AND CALL <= "599]" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST NATURAL.BAO HUSH OFF DISPLAY Selecting/saving PARANORMAL list HUSH ON GET-LIST BOOKALERTS-NONFICTION SSELECT BIB BY SORT.TITLE IF CALL >= "130]" AND CALL <= "139]" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST PARANORMAL.BAO HUSH OFF DISPLAY Selecting/saving PARENTING list HUSH ON GET-LIST BOOKALERTS-NONFICTION SSELECT BIB BY SORT.TITLE IF (CALL >= "155.4]" AND CALL <= "155.5]") OR (CALL >= "649.1]" AND CALL <= "649.7]") SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST PARENTING.BAO HUSH OFF DISPLAY Selecting/saving PHYSICAL list HUSH ON GET-LIST BOOKALERTS-NONFICTION SSELECT BIB BY SORT.TITLE IF CALL >= "520]" AND CALL <= "549]" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST PHYSICAL.BAO HUSH OFF DISPLAY Selecting/saving POLITICS list HUSH ON GET-LIST BOOKALERTS-NONFICTION SSELECT BIB BY SORT.TITLE IF CALL >= "320]" AND CALL <= "328]" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST POLITICS.BAO HUSH OFF DISPLAY Selecting/saving POPULAR list HUSH ON GET-LIST BOOKALERTS-NONFICTION SSELECT BIB BY SORT.TITLE IF CALL >= "790]" AND CALL <= "792]" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST POPULAR.BAO HUSH OFF DISPLAY Selecting/saving PSYCH list HUSH ON GET-LIST BOOKALERTS-NONFICTION SSELECT BIB BY SORT.TITLE IF (CALL >= "150]" AND CALL <= "155.3]") OR (CALL >= "156]" AND CALL <= "158]") SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST PSYCH.BAO HUSH OFF DISPLAY Selecting/saving RELIGION list HUSH ON GET-LIST BOOKALERTS-NONFICTION SSELECT BIB BY SORT.TITLE IF (CALL >= "100]" AND CALL <= "129]") OR (CALL >= "140]" AND CALL <= "149]") OR (CALL >= "160]" AND CALL <= "199]") OR (CALL >= "200]" AND CALL <= "299]") SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST RELIGION.BAO HUSH OFF DISPLAY Selecting/saving SPORTS list HUSH ON GET-LIST BOOKALERTS-NONFICTION SSELECT BIB BY SORT.TITLE IF CALL >= "796]" AND CALL <= "799]" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST SPORTS.BAO HUSH OFF DISPLAY Selecting/saving TRAVEL list HUSH ON GET-LIST BOOKALERTS-NONFICTION SSELECT BIB BY SORT.TITLE IF CALL >= "910]" AND CALL <= "919]" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST TRAVEL.BAO HUSH OFF DISPLAY Selecting/saving WORLD list HUSH ON GET-LIST BOOKALERTS-NONFICTION SSELECT BIB BY SORT.TITLE IF CALL = "909]" OR (CALL >= "930]" AND CALL <= "972]") OR (CALL >= "980]" AND CALL <= "999]") SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST WORLD.BAO HUSH OFF DISPLAY Selecting/saving LARGENF list HUSH ON GET-LIST BOOKALERTS-FUNDS SSELECT BIB BY SORT.TITLE IF T-COLL = "LPNF" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST LARGENF.BAO DELETE-LIST BOOKALERTS-NONFICTION * ***************************** * BOOKALERTS-FICTION * ***************************** HUSH OFF DISPLAY Generating general FICTION list (for FICTION categories) HUSH ON GET-LIST BOOKALERTS-FUNDS SELECT BIB IF CALL = "[DVD]" "J]" "Y]" "[VT]" "[KT]" "[CT]" "[CD]" "[-E-]" "E]" "IL]" "[PER]" "X" "Eaudio]" "eAUDIO]" "LP]" "NONE" "PB]" "R]" "T]" "BK]" "BOOK]" SAVE-LIST BOOKALERTS-FICTION1 LIST.DIFF BOOKALERTS-FUNDS DATA BOOKALERTS-FICTION1 DATA BOOKALERTS-FICTION DELETE-LIST BOOKALERTS-FICTION1 HUSH OFF DISPLAY Selecting/saving GENERAL list HUSH ON GET-LIST BOOKALERTS-FICTION SELECT MARC.BIB IF TAG.650 = "[Fiction]" "[fiction]" REQUIRE.SELECT SSELECT BIB BY SORT.TITLE SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST GENERAL.BAO HUSH OFF DISPLAY Selecting/saving ADVENTURE list HUSH ON GET-LIST BOOKALERTS-FICTION SSELECT BIB BY SORT.TITLE IF SUBJECTS = "[Adventure BOOKALERTS-FICTION]" "[Adventure stories]" "[adventure BOOKALERTS-FICTION]" "[adventure BOOKALERTS-FICTION]" OR GENRE = "[Adventure]" "[adventure]" OR MAINGENRE = "[Adventure]" "[adventure]" OR CHARACTER = "[Adventure]" "[adventure]" OR CHAR.OTHER = "[Adventure]" "[adventure]" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST ADVENTURE.BAO HUSH OFF DISPLAY Selecting/saving GAY list HUSH ON GET-LIST BOOKALERTS-FICTION SSELECT BIB BY SORT.TITLE IF MAINGENRE = "[Gay]" "[Gays BOOKALERTS-FICTION]" "[Lesbian]" "[Lesbians BOOKALERTS-FICTION]" OR SUBJECTVAR = "[Gay]" "[Gays BOOKALERTS-FICTION]" "[Lesbian]" "[Lesbians BOOKALERTS-FICTION]" OR CHARACTER = "[Gay]" "[Gays BOOKALERTS-FICTION]" "[Lesbian]" "[Lesbians BOOKALERTS-FICTION]" OR CHAR.OTHER = "[Gay]" "[Gays BOOKALERTS-FICTION]" "[Lesbian]" "[Lesbians BOOKALERTS-FICTION]" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST GAY.BAO HUSH OFF DISPLAY Selecting/saving HISTORICAL list HUSH ON GET-LIST BOOKALERTS-FICTION SSELECT BIB BY SORT.TITLE IF SUBJECTS = "[Historical BOOKALERTS-FICTION]" "[Biographical BOOKALERTS-FICTION]" "[Autobiographical BOOKALERTS-FICTION]" "[historical BOOKALERTS-FICTION]" "[biographical BOOKALERTS-FICTION]" "[autobiographical BOOKALERTS-FICTION]" OR GENRE = "[Historical]" "[Biographical]" "[Autobiographical]" "[historical]" "[biographical]" "[autobiographical]" OR CHARACTER = "[Historical]" "[Biographical]" "[Autobiographical]" "[historical]" "[biographical]" "[autobiographical]" OR CHAR.OTHER = "[Historical]" "[Biographical]" "[Autobiographical]" "[historical]" "[biographical]" "[autobiographical]" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST HISTORICAL.BAO HUSH OFF DISPLAY Selecting/saving HORROR list HUSH ON GET-LIST BOOKALERTS-FICTION SSELECT BIB BY SORT.TITLE IF SUBJECTS = "[Horror BOOKALERTS-FICTION]" "[Horror stories]" "[horror BOOKALERTS-FICTION]" "[horror stories]" OR GENRE = "[Horror]" "[horror]" OR MAINGENRE = "[Horror]" "[horror]" OR CHARACTER = "[Horror]" "[horror]" OR CHAR.OTHER = "[Horror]" "[horror]" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST HORROR.BAO HUSH OFF DISPLAY Selecting/saving INSPIR list HUSH ON GET-LIST BOOKALERTS-FICTION SSELECT BIB BY SORT.TITLE IF MAINGENRE = "[Inspirational]" "[Christian]" "[inspirational]" "[christian]" OR SUBJECTVAR = "[Inspirational]" "[Christian]" "[inspirational]" "[christian]" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST INSPIR.BAO HUSH OFF DISPLAY Selecting/saving MYSTERY list HUSH ON GET-LIST BOOKALERTS-FICTION SSELECT BIB BY SORT.TITLE IF SUBJECTS = "[Detective and mystery stories]" "[detective and mystery stories]" "[Mystery BOOKALERTS-FICTION]" "[mystery BOOKALERTS-FICTION]" OR GENRE = "[Detectives]" "[detectives]" "[Mystery]" "[mystery]" OR MAINGENRE = "[Detectives]" "[detectives]" "[Mystery]" "[mystery]" OR CHARACTER = "[Detectives]" "[detectives]" "[Mystery]" "[mystery]" OR CHAR.OTHER = "[Detectives]" "[detectives]" "[Mystery]" "[mystery]" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST MYSTERY.BAO HUSH OFF DISPLAY Selecting/saving ROMANCE list HUSH ON GET-LIST BOOKALERTS-FICTION SSELECT BIB BY SORT.TITLE IF SUBJECTS = "[Romance BOOKALERTS-FICTION]" "[romance BOOKALERTS-FICTION]" "[Love stories]" "[love stories]" OR GENRE = "[Romance]" "[romance]" "[Love]" "[love]" OR MAINGENRE = "[Romance]" "[romance]" "[Love]" "[love]" OR CHARACTER = "[Romance]" "[romance]" "[Love]" "[love]" OR CHAR.OTHER = "[Romance]" "[romance]" "[Love]" "[love]" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST ROMANCE.BAO HUSH OFF DISPLAY Selecting/saving SCIFI list HUSH ON GET-LIST BOOKALERTS-FICTION SSELECT BIB BY SORT.TITLE IF SUBJECTS = "[Fantasy BOOKALERTS-FICTION]" "[fantasy BOOKALERTS-FICTION]" "[Science BOOKALERTS-FICTION]" "[science BOOKALERTS-FICTION]" OR GENRE = "[Fantasy]" "[fantasy]" "[Science BOOKALERTS-FICTION]" "[science BOOKALERTS-FICTION]" OR MAINGENRE = "[Fantasy]" "[fantasy]" "[Science BOOKALERTS-FICTION]" "[science BOOKALERTS-FICTION]" OR CHARACTER = "[Fantasy]" "[fantasy]" "[Science BOOKALERTS-FICTION]" "[science BOOKALERTS-FICTION]" OR CHAR.OTHER = "[Fantasy]" "[fantasy]" "[Science BOOKALERTS-FICTION]" "[science BOOKALERTS-FICTION]" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST SCIFI.BAO HUSH OFF DISPLAY Selecting/saving SUSPENSE list HUSH ON GET-LIST BOOKALERTS-FICTION SSELECT BIB BY SORT.TITLE IF SUBJECTS = "[Suspense BOOKALERTS-FICTION]" "[Romantic suspense BOOKALERTS-FICTION]" "[Spy stories]" "[suspense BOOKALERTS-FICTION]" "[romantic suspense BOOKALERTS-FICTION]" "[spy stories]" OR GENRE = "[Suspense]" "[Romantic]" "[Spy]" "[suspense]" "[romantic]" "[spy]" OR MAINGENRE = "[Suspense]" "[Romantic]" "[Spy]" "[suspense]" "[romantic]" "[spy]" OR CHARACTER = "[Suspense]" "[Romantic]" "[Spy]" "[suspense]" "[romantic]" "[spy]" OR CHAR.OTHER = "[Suspense]" "[Romantic]" "[Spy]" "[suspense]" "[romantic]" "[spy]" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST SUSPENSE.BAO HUSH OFF DISPLAY Selecting/saving WESTERN list HUSH ON GET-LIST BOOKALERTS-FICTION SSELECT BIB BY SORT.TITLE IF SUBJECTS = "[Western stories]" "[western stories]" OR GENRE = "[Western stories]" "[western stories]" OR MAINGENRE = "[Western]" "[western]" OR CHARACTER = "[Western]" "[western]" OR CHAR.OTHER = "[Western]" "[western]" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST WESTERN.BAO HUSH OFF DISPLAY Selecting/saving LARGENF list HUSH ON GET-LIST BOOKALERTS-FUNDS SSELECT BIB BY SORT.TITLE IF T-COLL = "LPFIC" OR T-COLL = "LPM" SAVING L-BOOK.ALERTS.OUTPUT REQUIRE.SELECT SAVE-LIST LARGEF.BAO DELETE-LIST BOOKALERTS-FICTION * ***************************** * Reformat lists with list-name at beginning of each line & delete output-list files * Perl script - email Scott McDermott (scottm@kcls.org) to edit * Usage: /usr/local/bin/FormatReaderPulls.pl [-o ] [-e ] [-s ] * Flags are optional; use if you don't like defaults, or if VOC is redesigned. * Outputfile: /tmp/bookalerts.txt * Extension: .BAO * Savelistdir: ./&SAVEDLISTS& * ***************************** HUSH OFF DISPLAY DISPLAY Reformatting output file (yay Perl!) DISPLAY CAUTION: No matter what the VOC says, the Perl script failed if it DISPLAY doesn't output a list of files it has found and processed. This DISPLAY could be for any number of reasons; the precise error message will DISPLAY tell you why. DISPLAY * This is the Perl-script command. SH -c "/usr/local/bin/FormatReaderPulls.pl" * Just for testing new version... *SH -c "./FormatReaderPulls.pl" DISPLAY DISPLAY Now back to the VOC: HUSH ON * ***************************** * Cleanup old saved-lists (output-lists deleted by Perl script) * ***************************** HUSH OFF DISPLAY Deleting saved-lists HUSH ON DELETE-LIST BOOKALERTS-BASE DELETE-LIST BOOKALERTS-FUNDS * ***************************** * Email file to specified email address SH -c "/usr/local/bin/mutt -s 'Book Alert List <>-<>' -a /tmp/bookalerts.txt <> < /dev/null" HUSH OFF DISPLAY Output file has been emailed to <>. * ***************************** * Other option: download & upload via web to CF server *HUSH OFF *DISPLAY *DISPLAY The file is located at /tmp/bookalerts.txt *DISPLAY You may now download it to your local computer and upload it to the *DISPLAY ColdFusion server. *HUSH ON * ***************************** END: HUSH OFF DISPLAY DISPLAY End time: TIME DISPLAY DISPLAY Thank you for using this Book Alerts VOC. Goodbye.