Обновить autobudilnik.rb

This commit is contained in:
anon47 2024-02-01 10:45:18 -07:00
parent 68ab4abb32
commit f96e966dc6

View File

@ -6,8 +6,9 @@ za = [false,false,false]
nf = ''
da = ''
audiofilepath = "audio.opus"
waittime = 7200
waittimestr = "2h"
configfilepath = "config.txt"
i=0;while i<ARGV.size
if ARGV[i] == "-a"
if za[0] == false
@ -16,17 +17,17 @@ i=0;while i<ARGV.size
audiofilepath = ARGV[i]
else
#da.push ARGV[i] + (i += 1;" " + ARGV[i])
da += " " + ARGV[i]
da += " " + "-a"
#raise "duplicate arguments"
end
elsif ARGV[i] == "-t"
if za[1] == false
i += 1
za[1] = true
waittime = ARGV[i].to_i
waittimestr = ARGV[i]
else
#da.push ARGV[i] + (i += 1;" " + ARGV[i])
da += " " + ARGV[i]
da += " " + "-t"
#raise "duplicate arguments"
end
elsif ARGV[i] == "-c"
@ -36,7 +37,7 @@ i=0;while i<ARGV.size
configfilepath = ARGV[i]
else
#da.push ARGV[i] + (i += 1;" " + ARGV[i])
da += " " + ARGV[i]
da += " " + "-c"
#raise "duplicate arguments"
end
else
@ -59,10 +60,11 @@ if za[0] == false || za[1] == false
File.readlines(configfilepath).each { |l|
lspl = l.split(' ')
if za[0] == false && ('audiofilepath'.start_with? lspl[0])
audiofilepath = l.delete_prefix(lspl[0] + ' ').delete_prefix('"').delete_prefix("'").delete_suffix('"').delete_suffix("'")
audiofilepath = l.delete_prefix(lspl[0] + ' ')
#split('"')[0].split('"')[0]
elsif za[1] == false && ('waittime'.start_with? lspl[0])
waittime = lspl[1].to_i
#waittime = lspl[1].to_i
waittimestr = lspl[1]
end
}
else
@ -72,12 +74,46 @@ if za[0] == false || za[1] == false
end
end
puts 'waittime:' + waittime.to_s
if audiofilepath[0] == '"'
audiofilepath = audiofilepath.split.pop[0]
audiofilepath = audiofilepath.join
end
#audiofilepath.delete_prefix!('"')
audiofilepath = File.absolute_path(audiofilepath)
raise audiofilepath + ' doesnt exist' unless File.file? audiofilepath.delete_suffix('"')
if audiofilepath[-1] != '"'
audiofilepath += '"'
end
audiofilepath = '"' + audiofilepath
puts 'audiofilepath:' + audiofilepath
raise audiofilepath + ' doesnt exist' unless File.file? audiofilepath
nexttime = Time.new + waittime
suffix = waittimestr.delete('0-9')
case suffix
when ''
waittime = waittimestr.to_i
when 'd'
waittime = waittimestr.to_i * 86400
when 'm'
waittime = waittimestr.to_i * 60
when 'h'
waittime = waittimestr.to_i * 3600
when 's'
waittime = waittimestr.to_i
else
raise "'#{suffix}' suffix is not found"
end
if waittime > 17
puts 'waittime:' + waittimestr
waittime = waittime - 18 # 30 x 0.6 = 18
else
puts "18 seconds is the minimum\nwaittime:18"
waittime = 0
end
nexttime = Time.new + waittime
=begin
STDIN.echo = false
STDIN.raw!
@ -124,7 +160,7 @@ while true
sleep(0.6) #НУЖНО УБАВИТЬ С ВЭЙТТАЙМА
a2.call(175)
}
puts "audioplay"
puts "turn on audio"
system(audiofilepath)
end
sleep(3.4)