65 lines
1.6 KiB
Ruby
65 lines
1.6 KiB
Ruby
![]() |
#!/usr/local/bin/ruby -w
|
||
|
|
||
|
# Norbert Wigbels
|
||
|
#
|
||
|
#######################################################################
|
||
|
# A little script that copies imagefiles from your
|
||
|
# Sony Ericsson K700i mobilephone to <destination>
|
||
|
#######################################################################
|
||
|
#
|
||
|
#
|
||
|
|
||
|
def usage
|
||
|
puts "usage: m2a.rb <destination>"
|
||
|
exit(-1)
|
||
|
end
|
||
|
|
||
|
usage if ARGV.length != 1
|
||
|
$destination = ARGV[0]
|
||
|
|
||
|
# SE K700i organizes the camera pictures in Bilder/camera_semc
|
||
|
BD_ADDR = "trebroN"
|
||
|
OBEX_DIR1 = "Bilder"
|
||
|
OBEX_DIR2 = "camera_semc"
|
||
|
|
||
|
|
||
|
def doCrudeObexAppComm
|
||
|
begin
|
||
|
cam = getObexIOObject
|
||
|
cam.puts "ls"
|
||
|
cam.close_write
|
||
|
lines = cam.readlines
|
||
|
cam = getObexIOObject
|
||
|
lines.each do |line|
|
||
|
line =~ /Bild\(\d+\).jpg/
|
||
|
#black-magic-ruby $& holds the match
|
||
|
if !$&.nil?
|
||
|
cam.puts "get"
|
||
|
cam.puts $&
|
||
|
cam.puts $destination+'/'+$&
|
||
|
puts "copy picture "+$&+" to to "+$destination
|
||
|
#delete picturea after copying? uncomment...
|
||
|
#doesn't work on my phone:(
|
||
|
#cam.puts "delete"
|
||
|
#cam.puts $&
|
||
|
end
|
||
|
end
|
||
|
rescue Exception => ex
|
||
|
puts(ex.to_s)
|
||
|
ensure
|
||
|
# TODO: ensure connection is closed
|
||
|
cam.puts "disconnect"
|
||
|
cam.close
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def getObexIOObject
|
||
|
cam = IO.popen("obexapp -a #{BD_ADDR} -C OPUSH", "w+")
|
||
|
cam.puts "cd #{OBEX_DIR1}"
|
||
|
cam.puts "cd #{OBEX_DIR2}"
|
||
|
return cam
|
||
|
end
|
||
|
|
||
|
# start here
|
||
|
doCrudeObexAppComm
|