sfcsfs 0.1.1 → 0.1.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.
- data/lib/sfcsfs.rb +2 -1
- data/lib/sfcsfs/agent.rb +9 -1
- data/lib/sfcsfs/constants.rb +37 -0
- data/lib/sfcsfs/lecture.rb +19 -0
- data/lib/sfcsfs/util.rb +8 -0
- metadata +13 -12
data/lib/sfcsfs.rb
CHANGED
@@ -4,6 +4,7 @@ $:.unshift(File.dirname(__FILE__)) unless
|
|
4
4
|
|
5
5
|
directory = File.expand_path(File.dirname(__FILE__))
|
6
6
|
|
7
|
+
require directory+'/sfcsfs/constants.rb'
|
7
8
|
require directory+'/sfcsfs/lecture.rb'
|
8
9
|
require directory+'/sfcsfs/homework.rb'
|
9
10
|
require directory+'/sfcsfs/util.rb'
|
@@ -12,5 +13,5 @@ require directory+'/sfcsfs/agent/navigations.rb'
|
|
12
13
|
|
13
14
|
|
14
15
|
module SFCSFS
|
15
|
-
VERSION = '0.1.
|
16
|
+
VERSION = '0.1.2'
|
16
17
|
end
|
data/lib/sfcsfs/agent.rb
CHANGED
@@ -27,7 +27,12 @@ module SFCSFS
|
|
27
27
|
else
|
28
28
|
req = Net::HTTP::Get.new(path)
|
29
29
|
end
|
30
|
-
|
30
|
+
if data.length > 0
|
31
|
+
data.each_pair do |k,v|
|
32
|
+
data[k] = SFCSFS.convert_encoding_for_send(v)
|
33
|
+
end
|
34
|
+
req.set_form_data(data)
|
35
|
+
end
|
31
36
|
http = Net::HTTP.new(uri.host,uri.port)
|
32
37
|
http.use_ssl = true if uri.scheme == 'https'
|
33
38
|
http.start{|http| ret = http.request(req)}
|
@@ -62,6 +67,9 @@ module SFCSFS
|
|
62
67
|
@type = nil
|
63
68
|
return self
|
64
69
|
end
|
70
|
+
def logout
|
71
|
+
request @base_uri + "/sfc-sfs/logout.cgi?id=#{@id}&type=#{@type}&lang=ja"
|
72
|
+
end
|
65
73
|
|
66
74
|
def Agent.login(account,passwd,options={})
|
67
75
|
a = Agent.new
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module SFCSFS
|
2
|
+
module Buildings
|
3
|
+
Kappa = "1"
|
4
|
+
Epsilon = "2"
|
5
|
+
Iota = "3"
|
6
|
+
Omicron = "4"
|
7
|
+
Lambda = "5"
|
8
|
+
Delta = "6"
|
9
|
+
Tau = "7"
|
10
|
+
Zeta = "8"
|
11
|
+
Nu = "9"
|
12
|
+
Omega = "10"
|
13
|
+
Others = "11"
|
14
|
+
K = Kappa
|
15
|
+
E = Epsilon
|
16
|
+
I = Iota
|
17
|
+
O = Omicron
|
18
|
+
L = Lambda
|
19
|
+
D = Delta
|
20
|
+
T = Tau
|
21
|
+
Z = Zeta
|
22
|
+
N = Nu
|
23
|
+
W = Omega
|
24
|
+
end
|
25
|
+
module Floors
|
26
|
+
N1 = "n1"
|
27
|
+
N2 = "n2"
|
28
|
+
S1 = "s1"
|
29
|
+
S2 = "s2"
|
30
|
+
IIJHouse = "1"
|
31
|
+
DocomoHouse = "2"
|
32
|
+
DNPHouse = "3"
|
33
|
+
TateuchiHouse = "4"
|
34
|
+
MoriAtelier = "5"
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
data/lib/sfcsfs/lecture.rb
CHANGED
@@ -38,6 +38,25 @@ module SFCSFS
|
|
38
38
|
end
|
39
39
|
"/sfc-sfs/sfs_class/stay/stay_input.cgi?yc=#{@yc}&ks=#{@ks}&enc_id=#{@agent.id}"
|
40
40
|
end
|
41
|
+
|
42
|
+
def send_stay_form opt
|
43
|
+
get_stay_input_page
|
44
|
+
data = {}
|
45
|
+
@agent.doc.search('form[name=formRoom]').search('input').each do |e|
|
46
|
+
if (n = e.attr('name')) && n.length > 0
|
47
|
+
data[n] = e.attr('value').to_s
|
48
|
+
end
|
49
|
+
end
|
50
|
+
data['stay_phone'] = opt[:phone]
|
51
|
+
data['stay_p_phone'] = opt[:p_phone]
|
52
|
+
data['stay_time'] = opt[:time]
|
53
|
+
data['selectRoom'] = opt[:building]
|
54
|
+
data['selectFloor'] = opt[:floor]
|
55
|
+
data['stay_room_other'] = opt[:room]
|
56
|
+
data['stay_reason'] = opt[:reason]
|
57
|
+
@agent.request @agent.uri + @agent.doc.search('form[name=formRoom]').attr('action').to_s, :post, data
|
58
|
+
end
|
59
|
+
|
41
60
|
def student_selection_path
|
42
61
|
unless @yc && @agent.id
|
43
62
|
raise NotEnoughParamsException
|
data/lib/sfcsfs/util.rb
CHANGED
@@ -11,5 +11,13 @@ module SFCSFS
|
|
11
11
|
return Kconv.kconv(str,Kconv::UTF8,Kconv::EUC)
|
12
12
|
end
|
13
13
|
end
|
14
|
+
def SFCSFS.convert_encoding_for_send str
|
15
|
+
if RUBY_VERSION >= "1.9"
|
16
|
+
return str.encode(Encoding::EUC_JP,:invalid=>:replace,:undef=>:replace)
|
17
|
+
else
|
18
|
+
require 'kconv'
|
19
|
+
return Kconv.kconv(str,Kconv::EUC,Kconv::UTF8)
|
20
|
+
end
|
21
|
+
end
|
14
22
|
end
|
15
23
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sfcsfs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-10-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|
16
|
-
requirement: &
|
16
|
+
requirement: &70182276045220 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 1.5.5
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70182276045220
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: addressable
|
27
|
-
requirement: &
|
27
|
+
requirement: &70182275994040 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 2.2.8
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70182275994040
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rspec
|
38
|
-
requirement: &
|
38
|
+
requirement: &70182275993580 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 2.10.0
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70182275993580
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rake
|
49
|
-
requirement: &
|
49
|
+
requirement: &70182275993200 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70182275993200
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: pit
|
60
|
-
requirement: &
|
60
|
+
requirement: &70182275992740 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70182275992740
|
69
69
|
description: SFC-SFS Scraping Library
|
70
70
|
email:
|
71
71
|
- ymrl@ymrl.net
|
@@ -81,6 +81,7 @@ files:
|
|
81
81
|
- lib/sfcsfs.rb
|
82
82
|
- lib/sfcsfs/agent.rb
|
83
83
|
- lib/sfcsfs/agent/navigations.rb
|
84
|
+
- lib/sfcsfs/constants.rb
|
84
85
|
- lib/sfcsfs/homework.rb
|
85
86
|
- lib/sfcsfs/lecture.rb
|
86
87
|
- lib/sfcsfs/util.rb
|