How to deal with unplug from the LAN
Web Admin Himalayan Academy
katir at hindu.org
Wed May 26 13:16:02 EDT 2010
With a tip from Andre, we solved this problem... it's really pretty
neat. Perhaps someone else may need this.
Mac Only
This queries the hardware-network interface and give you and instant
response... if the users just unplugs from the network or turns of her
airport, with a remote volume mounted... you want to be sure you don't
try to interact with the server...otherwise you will get a 2 minute time
out waiting before the system gives back the CPU to RunRev....
Do this first: (disclaimer, any code I offer probably could be highly
optimized)
function connectionStatus
put shell("ifconfig") into tStatus
# Parse for ethernet status
put lineOffset ("en0:",tStatus) into tTarget
put line ((lineOffset ("Status:",tStatus,tTarget))+tTarget) of
tStatus into tEN0status
set the itemdel to ":"
if (item -1 of tEN0status) = " active" then
return "true"
else
return "false"
end if
# Check Airport-Wireless status
put lineOffset ("en1:",tStatus) into tTarget
put line ((lineOffset ("Status",tStatus,tTarget))+tTarget) of
tStatus into tEN1status
set the itemdel to ":"
if item -1of tEN1status = " active" then
return "true"
end if
end connectionstatus
Then all other places you need to interact with the server:
command CheckVarunaIsMounted
if connectionStatus() <> "True" then
answer "You appear to be offline line. Connect to the network by
ethernet or airport. Then try again." with "OK"
exit to top
else
put URL
"file:/Volumes/Varuna/WWW/*Sites/varuna.hindu.org/ping.txt" into
gControlFile
if gControlFile = "true" then
set the icon of btn "Connected" to 1097
put "true" into gVarunaMounted
set the uVarunaMounted of this stack to "true"
else
put "false" into gVarunaMounted
set the uVarunaMounted of this stack to "False"
set the icon of btn "Connected" to 1098
answer "Varuna is not mounted. Shall I mount it for you?" with
"OK"
mountVaruna
exit to top
end if
end if
end CheckVarunaIsMounted
command Checkin pFileName
CheckVarunaIsMounted
if the uVarunaMounted of this stack <> "true" then
answer "Sorry, Varuna is not mounted, you cannot check in
files." with "OK"
exit to top
end if
# increment revision number; change co to CI; retain user initials;
rename local file
put pFileName into tNewFileName
etc...
end checkIn
Then I always run this every time I set the default folder to the
server, when done getting the file listing:
command unTetherStackFromServer
set the defaultFolder to ($Home&"/Documents/")
end unTetherStackFromServer
and then the user gets no msg saying he can't unmount the volume because
it is in use by RunRev.
HTH somebody...
Sivakatirswami
More information about the use-livecode
mailing list