cpsn 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/TODO +1 -1
  2. data/VERSION +1 -1
  3. data/bin/cpsn +30 -1
  4. metadata +1 -1
data/TODO CHANGED
@@ -1 +1 @@
1
- be able to define groups of users in the config file, and query them
1
+ Add a configurable default group
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.0
1
+ 0.4.0
data/bin/cpsn CHANGED
@@ -6,6 +6,7 @@ require 'json'
6
6
  require 'yaml'
7
7
  require 'optparse'
8
8
  require 'logger'
9
+ require 'set'
9
10
 
10
11
  $login_url = "https://store.playstation.com/external/index.vm?returnURL=https%3a%2f%2fsecureus.playstation.com%2fRegistration%2fPSNL%2fSignInFrame.aspx"
11
12
  $friend_url = "http://profiles.us.playstation.com/playstation/psn/profile/friends"
@@ -21,6 +22,25 @@ def load_settings()
21
22
  return settings
22
23
  end
23
24
 
25
+ def load_groups(settings)
26
+ $log.debug("Loading groups")
27
+ groups = {}
28
+ for group in settings[:groups].value
29
+ name = group.value.keys[0].value
30
+ vals = group.value[group.value.keys[0]]
31
+ members = []
32
+ mem_str = ""
33
+ for user in vals.value do
34
+ members << user.value
35
+ mem_str += user.value
36
+ mem_str += " "
37
+ end
38
+ $log.debug("Found group #{name} [ #{mem_str}]")
39
+ groups[name] = members
40
+ end
41
+ return groups
42
+ end
43
+
24
44
  def get_cookie(agent, username, password)
25
45
  $log.debug("Signing in for new cookie")
26
46
  page = agent.get($login_url)
@@ -125,10 +145,19 @@ end
125
145
  optparse.parse!
126
146
 
127
147
  settings = load_settings()
148
+ groups = load_groups(settings)
128
149
  agent = get_agent(settings[:username].value, settings[:password].value)
129
150
 
130
151
  if ARGV.length >= 1
131
- friend_names = ARGV[0..-1]
152
+ friend_names = Set.new []
153
+ args = ARGV[0..-1]
154
+ for arg in args
155
+ if groups.has_key? arg
156
+ friend_names.merge(groups[arg])
157
+ else
158
+ friend_names.add(arg)
159
+ end
160
+ end
132
161
  else
133
162
  begin
134
163
  friend_names = get_friends(agent)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cpsn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Bowes