Home | Installation Photos | Care & Feeding

Endnode (AKA Printer Tree)

Care And Feeding

Introduction | Daily Maintenance | Applescript | Variable Media Info

Applescript

We've included the custom applescripts from Endnode. Feel free to take them and use them if you find anything useful.

1. startup script

        (*this is the simple start up script,
        it starts the whole system *)
        
        tell application "Mailsmith 1.5" to run
        tell application "printEm"
            activate
        end tell
        tell application "CLOSEPrintEmOpenPrintEmNoCon"
            activate
        end tell
	

2. CLOSEprintEmOpenPrintEmNoCon

        (* disclaimer: i'm no applescript guru.
        this little script simply quits "printEm" 
        (which checks for a connection and starts 
        up another script that doesn't check after
        10 minutes. this lets the system download a 
        bulk of email when it first starts (like in the
        morning). but after it gets going it's only 
        downloading a few messages at a time and can
        print at the same time  hence, no connection check! *)
		 
        delay 600
        tell application "printEm" to quit
        tell application "printEmNoConnectionCheck"
            activate
        end tell
	

3. Save as text

        (*this script was slightly modified from
        René Brouwer's save as text script*)
        
        on filtermessage(mymessage)
            say "we have new mail" --this may be cut, haven't decided
            tell application "Mailsmith 1.5"
                set the_subject to subject of mymessage
                set new_subject to ""
                set a to contents of mymessage

                (*This is needed to make sure
                there are no ":" in the subject*)
                
                repeat with i from 1 to length of the_subject
                    if character i of the_subject is ":" then
                        set new_subject to new_subject & "-"
                    else
                        set new_subject to new_subject¬
                        & character i of the_subject
                    end if
                end repeat

                (*change this next line to suit your 
                naming scheme but don't use ":"*)
                
                set the_name to new_subject as text

                if length of the_name > 31 then
                    set the_name to text 1 thru 30 of the_name
                end if
 
                make new text document
                set contents of window 1 to a
                close window 1 saving yes saving¬
                in "disk:messages:" & the_name
            end tell
        end filtermessage
	

4. printEm

    on idle
        (* create a random number equal to number of printers 
        in system , 8 in this case *)
        
        set ranNum to (random number from 1 to 8)
        
        (* ranFolder  is the name of a folder on the desktop
        that holds the "Stylus C40" pref file *)
        
        set ranFolder to "printer" & " " & ranNum
        tell application "Finder"
            try
                set the_file to some file of folder "messages"¬
                of startup disk as string
				
                (*this is the epson pref/chooser hack, grabs the pref file 
                saves it to the epson sys pref folder *)
				
                duplicate file "Stylus C40" of folder ranFolder to folder¬
                "Epson Preferences" of folder "Preferences" of folder¬
                "System Folder" of startup disk with replacing
            end try
            tell application "Mailsmith 1.5"
                activate
                try
                    (*do nothing if there is a conncection in progress ;
                    this is included so that mailsmith has 
                    time to download a large amount of messages 
                    if it needs to ie added stability *)
                    
                    if connection in progress then
                        --sets a variable that does nothing
                        set did_print to false 
                    else
                        --if no connection, print da bee-atch
                        print the_file without print dialog 
                    end if
                end try
            end tell
            try
                activate
                --tidely store the printed file away
                move file the_file to folder "done" of¬
                startup disk with replacing
            end try
        end tell
        --repeat every minute
        return 60
    end idle
	

5. printEmNoConnectionCheck

    (*see the comments in printEm; this script is exactly 
    the same except that (strangely enough) it doesn't check 
    for an active mailsmith connection *)
	
    on idle
        set ranNum to (random number from 1 to 8)
        set ranFolder to "printer" & " " & ranNum
        tell application "Finder"
            try
                set the_file to some file of folder "messages"¬
                of startup disk as string
                duplicate file "Stylus C40" of folder ranFolder to folder¬
                "Epson Preferences" of folder "Preferences" of folder¬
                "System Folder" of startup disk with replacing
            end try
            tell application "Mailsmith 1.5"
                activate
                try
                    print the_file without print dialog
                end try
            end tell
            try
                activate
                move file the_file to folder "done" of¬
                startup disk with replacing
            end try
        end tell
        return 60
    end idle

Variable Media Info…

MTAA 2002 | MT Enterprises WorldWide