sfcsfs 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/bin/zanryu +72 -0
  2. data/lib/sfcsfs.rb +1 -1
  3. data/sfcsfs.gemspec +3 -1
  4. metadata +43 -19
@@ -0,0 +1,72 @@
1
+ # encoding:UTF-8
2
+ require 'sfcsfs'
3
+ require 'pit'
4
+ require 'sfc-room'
5
+ require 'args_parser'
6
+
7
+ SFS_CONFIG = Pit.get("sfcsfs", :require => {
8
+ :account => "your CNS account",
9
+ :password => "your CNS password" })
10
+
11
+
12
+ args = ArgsParser.parse ARGV do
13
+ arg :help, 'Help'
14
+ arg :lecture, 'Lecture Name'
15
+ arg :phone, 'Phone Number'
16
+ arg :p_phone, "Parents' Phone Number"
17
+ arg :time, "Time"
18
+ arg :place, "Place"
19
+ arg :building, "Building"
20
+ arg :floor, "Floor"
21
+ arg :room, "Room"
22
+ arg :reason, "Reason"
23
+ arg :save, "Save options to default"
24
+ end
25
+
26
+ if args.has_option? :help
27
+ puts args.help
28
+ end
29
+
30
+
31
+ if args[:place]
32
+ room = SFCRoom.parse(args[:place])
33
+ args[:building] = args[:building] || room.building_number_for_sfs
34
+ args[:floor] = args[:floor] || room.floor
35
+ args[:room] = args[:room] || room.room
36
+ end
37
+
38
+ if defaults = Pit.get('zanryu')
39
+ args[:phone ] = args[:phone ] || defaults[:phone ]
40
+ args[:p_phone ] = args[:p_phone ] || defaults[:p_phone ]
41
+ args[:time ] = args[:time ] || defaults[:time ]
42
+ args[:building] = args[:building] || defaults[:building]
43
+ args[:floor ] = args[:floor ] || defaults[:floor ]
44
+ args[:room ] = args[:room ] || defaults[:room ]
45
+ args[:reason ] = args[:reason ] || defaults[:reason ]
46
+ end
47
+
48
+ required = [ :phone, :p_phone, :time, :building, :floor, :room, :reason]
49
+ required.each{|e| if !args[e] then puts "#{e} is required";exit 1;end}
50
+
51
+ args[:phone] = "0#{args[:phone]}" if Fixnum === args[:phone]
52
+ args[:p_phone] = "0#{args[:p_phone]}" if Fixnum === args[:p_phone]
53
+
54
+ options = {:phone => args[:phone ],
55
+ :p_phone => args[:p_phone ],
56
+ :time => args[:time ],
57
+ :building => args[:building],
58
+ :floor => args[:floor ],
59
+ :room => args[:room ],
60
+ :reason => args[:reason ],}
61
+
62
+ if args.has_option?(:save)
63
+ Pit.set('zanryu',{:data => options})
64
+ end
65
+
66
+ agent = SFCSFS::Agent.login(SFS_CONFIG[:account],SFS_CONFIG[:password])
67
+ agent.my_schedule.each do |lec|
68
+ if lec.title.match(/#{args[:lecture]}/)
69
+ lec.send_stay_form(options)
70
+ break
71
+ end
72
+ end
@@ -13,5 +13,5 @@ require directory+'/sfcsfs/agent/navigations.rb'
13
13
 
14
14
 
15
15
  module SFCSFS
16
- VERSION = '0.1.3'
16
+ VERSION = '0.1.4'
17
17
  end
@@ -16,7 +16,9 @@ Gem::Specification.new do |gem|
16
16
  gem.version = SFCSFS::VERSION
17
17
  gem.add_dependency('nokogiri','~> 1.5.5')
18
18
  gem.add_dependency('addressable','~> 2.2.8')
19
+ gem.add_dependency('pit')
20
+ gem.add_dependency('sfc-room')
21
+ gem.add_dependency('args_parser')
19
22
  gem.add_development_dependency('rspec', '~> 2.10.0')
20
23
  gem.add_development_dependency('rake')
21
- gem.add_development_dependency('pit')
22
24
  end
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.3
4
+ version: 0.1.4
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-10-15 00:00:00.000000000 Z
12
+ date: 2012-10-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
16
- requirement: &70204700117680 !ruby/object:Gem::Requirement
16
+ requirement: &70327303834260 !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: *70204700117680
24
+ version_requirements: *70327303834260
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: addressable
27
- requirement: &70204700117200 !ruby/object:Gem::Requirement
27
+ requirement: &70327303833780 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,32 +32,54 @@ dependencies:
32
32
  version: 2.2.8
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70204700117200
35
+ version_requirements: *70327303833780
36
36
  - !ruby/object:Gem::Dependency
37
- name: rspec
38
- requirement: &70204700116740 !ruby/object:Gem::Requirement
37
+ name: pit
38
+ requirement: &70327303833400 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
- - - ~>
41
+ - - ! '>='
42
42
  - !ruby/object:Gem::Version
43
- version: 2.10.0
44
- type: :development
43
+ version: '0'
44
+ type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70204700116740
46
+ version_requirements: *70327303833400
47
47
  - !ruby/object:Gem::Dependency
48
- name: rake
49
- requirement: &70204700116360 !ruby/object:Gem::Requirement
48
+ name: sfc-room
49
+ requirement: &70327303832940 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: *70327303832940
58
+ - !ruby/object:Gem::Dependency
59
+ name: args_parser
60
+ requirement: &70327303832520 !ruby/object:Gem::Requirement
50
61
  none: false
51
62
  requirements:
52
63
  - - ! '>='
53
64
  - !ruby/object:Gem::Version
54
65
  version: '0'
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: *70327303832520
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec
71
+ requirement: &70327303832020 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ~>
75
+ - !ruby/object:Gem::Version
76
+ version: 2.10.0
55
77
  type: :development
56
78
  prerelease: false
57
- version_requirements: *70204700116360
79
+ version_requirements: *70327303832020
58
80
  - !ruby/object:Gem::Dependency
59
- name: pit
60
- requirement: &70204700115900 !ruby/object:Gem::Requirement
81
+ name: rake
82
+ requirement: &70327303831600 !ruby/object:Gem::Requirement
61
83
  none: false
62
84
  requirements:
63
85
  - - ! '>='
@@ -65,11 +87,12 @@ dependencies:
65
87
  version: '0'
66
88
  type: :development
67
89
  prerelease: false
68
- version_requirements: *70204700115900
90
+ version_requirements: *70327303831600
69
91
  description: SFC-SFS Scraping Library
70
92
  email:
71
93
  - ymrl@ymrl.net
72
- executables: []
94
+ executables:
95
+ - zanryu
73
96
  extensions: []
74
97
  extra_rdoc_files: []
75
98
  files:
@@ -78,6 +101,7 @@ files:
78
101
  - LICENSE
79
102
  - README.md
80
103
  - Rakefile
104
+ - bin/zanryu
81
105
  - examples/zanryu.rb
82
106
  - lib/sfcsfs.rb
83
107
  - lib/sfcsfs/agent.rb