cpsn 0.3.0 → 0.4.0

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