Обновить 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 = '' nf = ''
da = '' da = ''
audiofilepath = "audio.opus" audiofilepath = "audio.opus"
waittime = 7200 waittimestr = "2h"
configfilepath = "config.txt" configfilepath = "config.txt"
i=0;while i<ARGV.size i=0;while i<ARGV.size
if ARGV[i] == "-a" if ARGV[i] == "-a"
if za[0] == false if za[0] == false
@ -16,17 +17,17 @@ i=0;while i<ARGV.size
audiofilepath = ARGV[i] audiofilepath = ARGV[i]
else else
#da.push ARGV[i] + (i += 1;" " + ARGV[i]) #da.push ARGV[i] + (i += 1;" " + ARGV[i])
da += " " + ARGV[i] da += " " + "-a"
#raise "duplicate arguments" #raise "duplicate arguments"
end end
elsif ARGV[i] == "-t" elsif ARGV[i] == "-t"
if za[1] == false if za[1] == false
i += 1 i += 1
za[1] = true za[1] = true
waittime = ARGV[i].to_i waittimestr = ARGV[i]
else else
#da.push ARGV[i] + (i += 1;" " + ARGV[i]) #da.push ARGV[i] + (i += 1;" " + ARGV[i])
da += " " + ARGV[i] da += " " + "-t"
#raise "duplicate arguments" #raise "duplicate arguments"
end end
elsif ARGV[i] == "-c" elsif ARGV[i] == "-c"
@ -36,7 +37,7 @@ i=0;while i<ARGV.size
configfilepath = ARGV[i] configfilepath = ARGV[i]
else else
#da.push ARGV[i] + (i += 1;" " + ARGV[i]) #da.push ARGV[i] + (i += 1;" " + ARGV[i])
da += " " + ARGV[i] da += " " + "-c"
#raise "duplicate arguments" #raise "duplicate arguments"
end end
else else
@ -59,10 +60,11 @@ if za[0] == false || za[1] == false
File.readlines(configfilepath).each { |l| File.readlines(configfilepath).each { |l|
lspl = l.split(' ') lspl = l.split(' ')
if za[0] == false && ('audiofilepath'.start_with? lspl[0]) 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] #split('"')[0].split('"')[0]
elsif za[1] == false && ('waittime'.start_with? lspl[0]) elsif za[1] == false && ('waittime'.start_with? lspl[0])
waittime = lspl[1].to_i #waittime = lspl[1].to_i
waittimestr = lspl[1]
end end
} }
else else
@ -72,12 +74,46 @@ if za[0] == false || za[1] == false
end end
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) 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 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 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 =begin
STDIN.echo = false STDIN.echo = false
STDIN.raw! STDIN.raw!
@ -124,7 +160,7 @@ while true
sleep(0.6) #НУЖНО УБАВИТЬ С ВЭЙТТАЙМА sleep(0.6) #НУЖНО УБАВИТЬ С ВЭЙТТАЙМА
a2.call(175) a2.call(175)
} }
puts "audioplay" puts "turn on audio"
system(audiofilepath) system(audiofilepath)
end end
sleep(3.4) sleep(3.4)