diyanet 0.0.0 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. data/lib/diyanet.rb +118 -116
  2. metadata +1 -1
data/lib/diyanet.rb CHANGED
@@ -3,151 +3,153 @@ require 'date'
3
3
  require 'net/http'
4
4
  require 'nokogiri'
5
5
 
6
- module Namaz < Array
7
- def initialize *args
8
- if args.length == 1
9
- fname = args[0]
10
- if (File.size? fname).nil?
11
- "File not found or empty!"
12
- else
13
- oku(fname)
6
+ module Diyanet
7
+ class Namaz < Array
8
+ def initialize *args
9
+ if args.length == 1
10
+ fname = args[0]
11
+ if (File.size? fname).nil?
12
+ "File not found or empty!"
13
+ else
14
+ oku(fname)
15
+ end
16
+ elsif args.length == 2
17
+ ulke = args[0]
18
+ sehir = args[1]
19
+ @fname = File.dirname(__FILE__) + "/" + ulke + "-" + sehir + ".dat"
20
+ baglan(ulke, sehir)
14
21
  end
15
- elsif args.length == 2
16
- ulke = args[0]
17
- sehir = args[1]
18
- @fname = File.dirname(__FILE__) + "/" + ulke + "-" + sehir + ".dat"
19
- baglan(ulke, sehir)
20
22
  end
21
- end
22
23
 
23
- def self.oku(fname)
24
- return self.new.oku(fname)
25
- end
24
+ def self.oku(fname)
25
+ return self.new.oku(fname)
26
+ end
26
27
 
27
- def oku(fname=@fname)
28
- @fname=fname
29
- raise "File not found" unless File.exists? fname
30
- File.open(fname).each_line do |line|
31
- vakit = line.split
32
- if current_time < vakit[5].to_i # + 86400
33
- self << vakit.map{|v| DateTime.strptime(v, '%s').to_time.utc}
28
+ def oku(fname=@fname)
29
+ @fname=fname
30
+ raise "File not found" unless File.exists? fname
31
+ File.open(fname).each_line do |line|
32
+ vakit = line.split
33
+ if current_time < vakit[5].to_i # + 86400
34
+ self << vakit.map{|v| DateTime.strptime(v, '%s').to_time.utc}
35
+ end
34
36
  end
37
+ return finalize
35
38
  end
36
- return finalize
37
- end
38
39
 
39
- def yaz(fname=@fname)
40
- begin
41
- File.open(fname, 'w') do |f|
42
- self.each do |vakitler|
43
- f.puts vakitler.map{|v| v.strftime('%s')}.join(" ")
44
- end
45
- end
46
- return true
47
- rescue
48
- return false
40
+ def yaz(fname=@fname)
41
+ begin
42
+ File.open(fname, 'w') do |f|
43
+ self.each do |vakitler|
44
+ f.puts vakitler.map{|v| v.strftime('%s')}.join(" ")
45
+ end
46
+ end
47
+ return true
48
+ rescue
49
+ return false
50
+ end
49
51
  end
50
- end
51
52
 
52
- def baglan(ulke, sehir)
53
+ def baglan(ulke, sehir)
53
54
  ulke.upcase!
54
55
  sehir.upcase!
55
- uri = URI.parse('http://www.diyanet.gov.tr/turkish/namazvakti/vakithes_namazsonuc.asp')
56
- req = Net::HTTP::Post.new(uri.path)
57
- req.body = "sehirler=#{sehir}&R1=AYLIK&buton=Hesapla&ulk=#{ulke}"
56
+ uri = URI.parse('http://www.diyanet.gov.tr/turkish/namazvakti/vakithes_namazsonuc.asp')
57
+ req = Net::HTTP::Post.new(uri.path)
58
+ req.body = "sehirler=#{sehir}&R1=AYLIK&buton=Hesapla&ulk=#{ulke}"
58
59
 
59
- res = Net::HTTP.new(uri.host, uri.port).start do |http|
60
- http.request(req)
61
- end
62
- date = DateTime.now
63
- rows = Nokogiri::HTML(res.body).xpath('//table[@border="1"]/tr')
64
- rows.each do |row|
65
- vakit = []
66
- i = true
67
- row.xpath('./td').each do |cell|
68
- if i
69
- date = DateTime.parse(cell.text)
70
- i = false
71
- else
72
- time = cell.text.split
73
- vakit.push((date + time[0].to_i/24.0 + time[1].to_i/1440.0).to_time.utc)
60
+ res = Net::HTTP.new(uri.host, uri.port).start do |http|
61
+ http.request(req)
62
+ end
63
+ date = DateTime.now
64
+ rows = Nokogiri::HTML(res.body).xpath('//table[@border="1"]/tr')
65
+ rows.each do |row|
66
+ vakit = []
67
+ i = true
68
+ row.xpath('./td').each do |cell|
69
+ if i
70
+ date = DateTime.parse(cell.text)
71
+ i = false
72
+ else
73
+ time = cell.text.split
74
+ vakit.push((date + time[0].to_i/24.0 + time[1].to_i/1440.0).to_time.utc)
75
+ end
74
76
  end
77
+ self << vakit unless vakit.empty? #and vakit[5] > @current_time
75
78
  end
76
- self << vakit unless vakit.empty? #and vakit[5] > @current_time
79
+ # return self
80
+ return finalize
77
81
  end
78
- # return self
79
- return finalize
80
- end
81
82
 
82
- def vakit
83
- isim = %w(Yatsi Sabah Kusluk Ogle Ikindi Aksam)
84
- i, j = index
85
- return isim[j]
86
- end
83
+ def vakit
84
+ isim = %w(Yatsi Sabah Kusluk Ogle Ikindi Aksam)
85
+ i, j = index
86
+ return isim[j]
87
+ end
87
88
 
88
- def kalan(fmt=true)
89
- j, i = index
90
- ret = self[j][i].strftime('%s').to_i-current_time
91
- if fmt
92
- sa = ret/3600
93
- dk = (ret%3600)/60
94
- sa > 0 ? txt = "#{sa}sa" : txt=""
95
- txt += "#{dk}dk"if dk > 0
96
- return txt
97
- else
98
- return ret
89
+ def kalan(fmt=true)
90
+ j, i = index
91
+ ret = self[j][i].strftime('%s').to_i-current_time
92
+ if fmt
93
+ sa = ret/3600
94
+ dk = (ret%3600)/60
95
+ sa > 0 ? txt = "#{sa}sa" : txt=""
96
+ txt += "#{dk}dk"if dk > 0
97
+ return txt
98
+ else
99
+ return ret
100
+ end
99
101
  end
100
- end
101
102
 
102
- def to_hash
103
- isim = [:imsak, :gunes, :ogle, :ikindi, :aksam, :yatsi]
104
- hash = {}
105
- self.each do |s|
106
- hash[s[0].strftime('%Y%m%d').to_i] = Hash[isim.zip(s)]
103
+ def to_hash
104
+ isim = [:imsak, :gunes, :ogle, :ikindi, :aksam, :yatsi]
105
+ hash = {}
106
+ self.each do |s|
107
+ hash[s[0].strftime('%Y%m%d').to_i] = Hash[isim.zip(s)]
108
+ end
109
+ return hash
107
110
  end
108
- return hash
109
- end
110
111
 
111
- def to_s(n=self.length)
112
- puts " Tarih Sabah Imsak Ogle Ikindi Aksam Yatsi Kible"
113
- # 08-12-2012 05:36 07:09 12:03 14:22 16:44 18:11 10:01
114
- n.to_i.times do |i|
115
- print self[i][0].strftime('%d-%m-%Y') + " "
116
- puts self[i].map{|v| v.strftime('%H:%M')}.join(' ')
112
+ def to_s(n=self.length)
113
+ puts " Tarih Sabah Imsak Ogle Ikindi Aksam Yatsi Kible"
114
+ # 08-12-2012 05:36 07:09 12:03 14:22 16:44 18:11 10:01
115
+ n.to_i.times do |i|
116
+ print self[i][0].strftime('%d-%m-%Y') + " "
117
+ puts self[i].map{|v| v.strftime('%H:%M')}.join(' ')
118
+ end
119
+ return true
117
120
  end
118
- return true
119
- end
120
121
 
121
- def index
122
- j = 0
123
- self.each do |gun|
124
- i = 0
125
- gun.each do |vakit|
126
- next if i == 6
127
- return j, i if current_time < vakit.strftime('%s').to_i
128
- i+=1
122
+ def index
123
+ j = 0
124
+ self.each do |gun|
125
+ i = 0
126
+ gun.each do |vakit|
127
+ next if i == 6
128
+ return j, i if current_time < vakit.strftime('%s').to_i
129
+ i+=1
130
+ end
131
+ j+=1
129
132
  end
130
- j+=1
133
+ return false, false
131
134
  end
132
- return false, false
133
- end
134
135
 
135
136
 
136
- private
137
+ private
137
138
 
138
- def finalize
139
- if self.empty?
140
- return false
141
- else
142
- return true
139
+ def finalize
140
+ if self.empty?
141
+ return false
142
+ else
143
+ return true
144
+ end
145
+ end
146
+ def current_time
147
+ return Time.utc(*(Time.now.to_a)).strftime('%s').to_i
143
148
  end
144
- end
145
- def current_time
146
- return Time.utc(*(Time.now.to_a)).strftime('%s').to_i
147
- end
148
149
 
149
- end
150
+ end
150
151
 
151
- def Namaz *args
152
- return Namaz.new(*args)
152
+ def self.Namaz *args
153
+ return Namaz.new(*args)
154
+ end
153
155
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: diyanet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: