sfcsfs 0.1.3 → 0.1.4

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 (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