stew 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +18 -0
- data/.rspec +2 -0
- data/Gemfile +4 -0
- data/Guardfile +6 -0
- data/LICENSE.txt +22 -0
- data/README.md +97 -0
- data/Rakefile +9 -0
- data/lib/stew.rb +58 -0
- data/lib/stew/community/profile.rb +23 -0
- data/lib/stew/community/profile_friends.rb +18 -0
- data/lib/stew/community/profile_game.rb +28 -0
- data/lib/stew/community/profile_games.rb +17 -0
- data/lib/stew/community/steam_id.rb +52 -0
- data/lib/stew/community_client.rb +42 -0
- data/lib/stew/store/app.rb +76 -0
- data/lib/stew/store/app_offer.rb +38 -0
- data/lib/stew/store/app_offer_sale.rb +23 -0
- data/lib/stew/store/app_offers.rb +25 -0
- data/lib/stew/store_client.rb +39 -0
- data/lib/stew/version.rb +3 -0
- data/lib/stew/web_client.rb +30 -0
- data/lib/stew/xml_client.rb +49 -0
- data/spec/fixtures/profiles/4d.txt +16 -0
- data/spec/fixtures/profiles/76561197992917668.txt +122 -0
- data/spec/fixtures/profiles/76561197992917668.yml +94 -0
- data/spec/fixtures/profiles/friends/76561197992917668.yml +36 -0
- data/spec/fixtures/profiles/games/76561197992917668.yml +616 -0
- data/spec/fixtures/store/apps/16870.txt +1078 -0
- data/spec/fixtures/store/apps/211400_offers_sale.txt +46 -0
- data/spec/fixtures/store/apps/211400_sale.txt +1327 -0
- data/spec/fixtures/store/apps/211420.txt +1320 -0
- data/spec/fixtures/store/apps/211420_us.txt +1306 -0
- data/spec/fixtures/store/apps/219150.txt +1134 -0
- data/spec/fixtures/store/apps/2290.txt +1059 -0
- data/spec/fixtures/store/apps/49520.txt +1471 -0
- data/spec/fixtures/store/apps/49520_offers.txt +111 -0
- data/spec/fixtures/store/apps/no_app.txt +5 -0
- data/spec/integration/community_integration_spec.rb +50 -0
- data/spec/integration/store_integration_spec.rb +129 -0
- data/spec/lib/stew/community/profile_friends_spec.rb +38 -0
- data/spec/lib/stew/community/profile_game_spec.rb +37 -0
- data/spec/lib/stew/community/profile_games_spec.rb +36 -0
- data/spec/lib/stew/community/profile_spec.rb +18 -0
- data/spec/lib/stew/community/steam_id_spec.rb +116 -0
- data/spec/lib/stew/community_client_spec.rb +88 -0
- data/spec/lib/stew/store/app_offer_sale_spec.rb +36 -0
- data/spec/lib/stew/store/app_offer_spec.rb +47 -0
- data/spec/lib/stew/store/app_offers_spec.rb +64 -0
- data/spec/lib/stew/store/app_spec.rb +142 -0
- data/spec/lib/stew/store_client_spec.rb +58 -0
- data/spec/lib/stew/web_client_spec.rb +25 -0
- data/spec/lib/stew/xml_client_spec.rb +36 -0
- data/spec/lib/stew_spec.rb +4 -0
- data/spec/spec_helper.rb +23 -0
- data/stew.gemspec +38 -0
- metadata +412 -0
@@ -0,0 +1,38 @@
|
|
1
|
+
module Stew
|
2
|
+
module Store
|
3
|
+
|
4
|
+
# Represents a price of an application in the steam store
|
5
|
+
class AppOffer
|
6
|
+
def self.create(node)
|
7
|
+
return AppOfferSale.new(node) unless node.at_css('div.discount_final_price').nil?
|
8
|
+
return AppOffer.new(node)
|
9
|
+
end
|
10
|
+
|
11
|
+
def initialize(node)
|
12
|
+
@node = node
|
13
|
+
end
|
14
|
+
|
15
|
+
def price
|
16
|
+
Stew.money @node.at_css('div.game_purchase_price').content.gsub(/[\n\t\r\s]/, '')
|
17
|
+
end
|
18
|
+
|
19
|
+
def sale?
|
20
|
+
false
|
21
|
+
end
|
22
|
+
|
23
|
+
def description
|
24
|
+
description_empty? ? nil : @node.at_css('p').content
|
25
|
+
end
|
26
|
+
|
27
|
+
def name
|
28
|
+
@node.at_css('h1').content.strip.gsub('Buy ','')
|
29
|
+
end
|
30
|
+
|
31
|
+
private
|
32
|
+
|
33
|
+
def description_empty?
|
34
|
+
@node.css('p').empty?
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Stew
|
2
|
+
module Store
|
3
|
+
|
4
|
+
#An app offer that is a sale
|
5
|
+
class AppOfferSale < AppOffer
|
6
|
+
def price
|
7
|
+
Stew.money @node.at_css('div.discount_final_price').content.gsub(/[\n\t\r\s]/, '')
|
8
|
+
end
|
9
|
+
|
10
|
+
def regular_price
|
11
|
+
Stew.money @node.at_css('div.discount_original_price').content.gsub(/[\n\t\r\s]/, '')
|
12
|
+
end
|
13
|
+
|
14
|
+
def sale?
|
15
|
+
true
|
16
|
+
end
|
17
|
+
|
18
|
+
def description
|
19
|
+
nil
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Stew
|
2
|
+
module Store
|
3
|
+
|
4
|
+
#The offers of an application
|
5
|
+
class AppOffers
|
6
|
+
include Enumerable
|
7
|
+
|
8
|
+
def initialize(node)
|
9
|
+
@app_offers = node.css("div.game_area_purchase_game").map {|item| AppOffer.create(item)}
|
10
|
+
end
|
11
|
+
|
12
|
+
def each(&block)
|
13
|
+
@app_offers.each {|item| yield item}
|
14
|
+
end
|
15
|
+
|
16
|
+
def sale?
|
17
|
+
sales.count != 0
|
18
|
+
end
|
19
|
+
|
20
|
+
def sales
|
21
|
+
@app_offers.select {|item| item.sale?}
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module Stew
|
2
|
+
# Creation of app objects from URLs or app_ids
|
3
|
+
#
|
4
|
+
# Can create apps for any steam region. When no region is given, it defaults to the default region in the configuration
|
5
|
+
#
|
6
|
+
# @example Creation of a Stew::Store::App from a URL
|
7
|
+
# Stew::StoreClient.new.create_app('http://store.steampowered.com/app/211420') #=> Stew::StoreClient::App
|
8
|
+
#
|
9
|
+
# @example Creation of a Stew::Store::App from an id
|
10
|
+
# Stew::StoreClient.new.create_app(211420) #=> Stew::StoreClient::App
|
11
|
+
#
|
12
|
+
# @example Creation of a Stew::Store::App from a URL with a different region
|
13
|
+
# Stew::StoreClient.new.create_app('http://store.steampowered.com/app/211420?cc=uk') #=> Stew::StoreClient::App
|
14
|
+
#
|
15
|
+
# @example Creation of a Stew::Store::App from an id and a region
|
16
|
+
# Stew::StoreClient.new.app(211420, :uk) #=> Stew::StoreClient::App
|
17
|
+
#
|
18
|
+
class StoreClient
|
19
|
+
STORE_URL = 'http://store.steampowered.com'
|
20
|
+
|
21
|
+
def initialize(opts = {})
|
22
|
+
@client = opts[:client] || Stew.config[:default_web_client].new(STORE_URL)
|
23
|
+
end
|
24
|
+
|
25
|
+
def create_app(data)
|
26
|
+
return app(data) if data.class == Fixnum
|
27
|
+
return app($1,$2) if data =~ /store.steampowered.com\/app\/([0-9]+)\/?\?cc=([a-zA-Z]{2})/
|
28
|
+
return app($1) if data =~ /store.steampowered.com\/app\/([0-9]+)/
|
29
|
+
raise AppIdNotFoundError
|
30
|
+
end
|
31
|
+
|
32
|
+
def app(app_id,region = Stew.config[:default_region])
|
33
|
+
Store::App.new(@client.get("/app/#{app_id}",:cc => region.to_sym))
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
# Error used when an app cannot be found
|
38
|
+
class AppIdNotFoundError < StandardError; end
|
39
|
+
end
|
data/lib/stew/version.rb
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
module Stew
|
2
|
+
|
3
|
+
# Client wrapper for performing requests to the Steam Store
|
4
|
+
class WebClient
|
5
|
+
def initialize(uri)
|
6
|
+
@connection = WebClient.connection(uri)
|
7
|
+
end
|
8
|
+
|
9
|
+
def get(path, options={})
|
10
|
+
request(path, options).body
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def request(path,options={})
|
16
|
+
@connection.get(path) do |request|
|
17
|
+
request.params = options
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.connection(uri)
|
22
|
+
Faraday.new uri do |conn|
|
23
|
+
conn.headers[:cookie] = "birthtime=365842801"
|
24
|
+
conn.request :retry
|
25
|
+
conn.use FaradayMiddleware::FollowRedirects
|
26
|
+
conn.adapter Faraday.default_adapter
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
module Stew
|
2
|
+
|
3
|
+
# Client for accessing the steam community XML api
|
4
|
+
class XmlClient
|
5
|
+
def initialize(uri)
|
6
|
+
@connection = XmlClient.connection(uri)
|
7
|
+
end
|
8
|
+
|
9
|
+
# The Steam community is notorious for responding with error 503
|
10
|
+
# Retries up to 10 times for the same request to compensate for this
|
11
|
+
def get(path)
|
12
|
+
10.times do
|
13
|
+
response = request(path)
|
14
|
+
return XmlClient.parse_response(response.body) unless response.status == 503
|
15
|
+
sleep 0.5
|
16
|
+
end
|
17
|
+
raise ServiceUnavailableError
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def request(path)
|
23
|
+
@connection.get path do |req|
|
24
|
+
req.params['xml'] = 1
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.connection(uri)
|
29
|
+
Faraday.new uri do |conn|
|
30
|
+
conn.response :xml, :content_type => /\bxml$/
|
31
|
+
conn.request :retry
|
32
|
+
conn.use FaradayMiddleware::FollowRedirects
|
33
|
+
conn.adapter Faraday.default_adapter
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def self.parse_response(response)
|
38
|
+
raise(ObjectNotFoundError) if response.is_a?(String)
|
39
|
+
raise(ObjectNotFoundError, response['response']['error']) if response.has_key?('response')
|
40
|
+
response
|
41
|
+
end
|
42
|
+
|
43
|
+
# Raised when the Steam community API fails to respond after 10 tries
|
44
|
+
class ServiceUnavailableError < StandardError; end
|
45
|
+
|
46
|
+
# Raised when the reply is malformatted or if nothing is found
|
47
|
+
class ObjectNotFoundError < StandardError; end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
HTTP/1.1 200 OK
|
2
|
+
Server: Apache
|
3
|
+
Set-Cookie: sessionid=MTMzODU4NTQ1Ng%3D%3D; path=/
|
4
|
+
Expires: Mon, 26 Jul 1997 05:00:00 GMT
|
5
|
+
Cache-Control: no-cache
|
6
|
+
Pragma: no-cache
|
7
|
+
Set-Cookie: steamLogin=deleted; expires=Tue, 10-Jan-2012 19:17:08 GMT; path=/
|
8
|
+
Content-Type: text/xml
|
9
|
+
Content-Length: 144
|
10
|
+
Date: Wed, 09 Jan 2013 19:17:10 GMT
|
11
|
+
X-Varnish: 3352457828
|
12
|
+
Age: 0
|
13
|
+
Via: 1.1 varnish
|
14
|
+
Connection: keep-alive
|
15
|
+
|
16
|
+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><response><error><![CDATA[The specified profile could not be found.]]></error></response>
|
@@ -0,0 +1,122 @@
|
|
1
|
+
HTTP/1.1 200 OK
|
2
|
+
Server: Apache
|
3
|
+
Set-Cookie: sessionid=NjI4NjkwOTQy; path=/
|
4
|
+
Set-Cookie: Steam_Language=english; expires=Mon, 08-Jan-2018 19:19:26 GMT; path=/
|
5
|
+
Expires: Wed, 09 Jan 2013 20:19:26 GMT
|
6
|
+
Content-Type: text/xml; charset=utf-8
|
7
|
+
Content-Length: 7251
|
8
|
+
Date: Wed, 09 Jan 2013 19:19:28 GMT
|
9
|
+
X-Varnish: 3352739601
|
10
|
+
Age: 0
|
11
|
+
Via: 1.1 varnish
|
12
|
+
Connection: keep-alive
|
13
|
+
|
14
|
+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><profile>
|
15
|
+
<steamID64>76561197992917668</steamID64>
|
16
|
+
<steamID><![CDATA[MrCheese]]></steamID>
|
17
|
+
<onlineState>online</onlineState>
|
18
|
+
<stateMessage><![CDATA[Online]]></stateMessage>
|
19
|
+
<privacyState>public</privacyState>
|
20
|
+
<visibilityState>3</visibilityState>
|
21
|
+
<avatarIcon><![CDATA[http://media.steampowered.com/steamcommunity/public/images/avatars/3f/3fa6fcddcca7825ee0a77f4f4b8f4e10543a13cd.jpg]]></avatarIcon>
|
22
|
+
<avatarMedium><![CDATA[http://media.steampowered.com/steamcommunity/public/images/avatars/3f/3fa6fcddcca7825ee0a77f4f4b8f4e10543a13cd_medium.jpg]]></avatarMedium>
|
23
|
+
<avatarFull><![CDATA[http://media.steampowered.com/steamcommunity/public/images/avatars/3f/3fa6fcddcca7825ee0a77f4f4b8f4e10543a13cd_full.jpg]]></avatarFull>
|
24
|
+
<vacBanned>0</vacBanned>
|
25
|
+
<tradeBanState>None</tradeBanState>
|
26
|
+
<isLimitedAccount>0</isLimitedAccount>
|
27
|
+
<customURL><![CDATA[]]></customURL>
|
28
|
+
<memberSince>September 26, 2007</memberSince>
|
29
|
+
<steamRating>10</steamRating>
|
30
|
+
<hoursPlayed2Wk>45.1</hoursPlayed2Wk>
|
31
|
+
<headline><![CDATA[]]></headline>
|
32
|
+
<location><![CDATA[Malmo, Skane Lan, Sweden]]></location>
|
33
|
+
<realname><![CDATA[]]></realname>
|
34
|
+
<summary><![CDATA[No information given.]]></summary>
|
35
|
+
<mostPlayedGames>
|
36
|
+
<mostPlayedGame>
|
37
|
+
<gameName><![CDATA[Dark Souls: Prepare to Die Edition]]></gameName>
|
38
|
+
<gameLink><![CDATA[http://steamcommunity.com/app/211420]]></gameLink>
|
39
|
+
<gameIcon><![CDATA[http://media.steampowered.com/steamcommunity/public/images/apps/211420/a24804c6c8412c8cd9d50efd06bf03fa58ff80a9.jpg]]></gameIcon>
|
40
|
+
<gameLogo><![CDATA[http://media.steampowered.com/steamcommunity/public/images/apps/211420/d293c8e38f56de2c7097b2c7a975caca49029a8b.jpg]]></gameLogo>
|
41
|
+
<gameLogoSmall><![CDATA[http://media.steampowered.com/steamcommunity/public/images/apps/211420/d293c8e38f56de2c7097b2c7a975caca49029a8b_thumb.jpg]]></gameLogoSmall>
|
42
|
+
<hoursPlayed>16.9</hoursPlayed>
|
43
|
+
<hoursOnRecord>16.9</hoursOnRecord>
|
44
|
+
</mostPlayedGame>
|
45
|
+
<mostPlayedGame>
|
46
|
+
<gameName><![CDATA[The Walking Dead]]></gameName>
|
47
|
+
<gameLink><![CDATA[http://steamcommunity.com/app/207610]]></gameLink>
|
48
|
+
<gameIcon><![CDATA[http://media.steampowered.com/steamcommunity/public/images/apps/207610/87a13ae0a2a76488792924aa8bb0dd8a7760f931.jpg]]></gameIcon>
|
49
|
+
<gameLogo><![CDATA[http://media.steampowered.com/steamcommunity/public/images/apps/207610/6d756726214dd97c54966814d58508b86d5eabcf.jpg]]></gameLogo>
|
50
|
+
<gameLogoSmall><![CDATA[http://media.steampowered.com/steamcommunity/public/images/apps/207610/6d756726214dd97c54966814d58508b86d5eabcf_thumb.jpg]]></gameLogoSmall>
|
51
|
+
<hoursPlayed>9.3</hoursPlayed>
|
52
|
+
<hoursOnRecord>9.3</hoursOnRecord>
|
53
|
+
<statsName><![CDATA[TheWalkingDead]]></statsName>
|
54
|
+
</mostPlayedGame>
|
55
|
+
<mostPlayedGame>
|
56
|
+
<gameName><![CDATA[Anno 2070]]></gameName>
|
57
|
+
<gameLink><![CDATA[http://steamcommunity.com/app/48240]]></gameLink>
|
58
|
+
<gameIcon><![CDATA[http://media.steampowered.com/steamcommunity/public/images/apps/48240/f2ea66880f8b78ef85afa7c6c256dcb41b2df845.jpg]]></gameIcon>
|
59
|
+
<gameLogo><![CDATA[http://media.steampowered.com/steamcommunity/public/images/apps/48240/96fa0d0f7d3a2cfbd46cfbb3ec266e4fbc9c9953.jpg]]></gameLogo>
|
60
|
+
<gameLogoSmall><![CDATA[http://media.steampowered.com/steamcommunity/public/images/apps/48240/96fa0d0f7d3a2cfbd46cfbb3ec266e4fbc9c9953_thumb.jpg]]></gameLogoSmall>
|
61
|
+
<hoursPlayed>3.4</hoursPlayed>
|
62
|
+
<hoursOnRecord>3.4</hoursOnRecord>
|
63
|
+
</mostPlayedGame>
|
64
|
+
<mostPlayedGame>
|
65
|
+
<gameName><![CDATA[Shank 2]]></gameName>
|
66
|
+
<gameLink><![CDATA[http://steamcommunity.com/app/102840]]></gameLink>
|
67
|
+
<gameIcon><![CDATA[http://media.steampowered.com/steamcommunity/public/images/apps/102840/6f916b594b1056789013a3e210cdc89a5245cd6d.jpg]]></gameIcon>
|
68
|
+
<gameLogo><![CDATA[http://media.steampowered.com/steamcommunity/public/images/apps/102840/eec11d103112f36876bd746854d6e8f130ea6078.jpg]]></gameLogo>
|
69
|
+
<gameLogoSmall><![CDATA[http://media.steampowered.com/steamcommunity/public/images/apps/102840/eec11d103112f36876bd746854d6e8f130ea6078_thumb.jpg]]></gameLogoSmall>
|
70
|
+
<hoursPlayed>3.3</hoursPlayed>
|
71
|
+
<hoursOnRecord>3.3</hoursOnRecord>
|
72
|
+
<statsName><![CDATA[102840]]></statsName>
|
73
|
+
</mostPlayedGame>
|
74
|
+
<mostPlayedGame>
|
75
|
+
<gameName><![CDATA[Shank]]></gameName>
|
76
|
+
<gameLink><![CDATA[http://steamcommunity.com/app/6120]]></gameLink>
|
77
|
+
<gameIcon><![CDATA[http://media.steampowered.com/steamcommunity/public/images/apps/6120/936571702a9ed84a6c267003b3f5b26df9ae830d.jpg]]></gameIcon>
|
78
|
+
<gameLogo><![CDATA[http://media.steampowered.com/steamcommunity/public/images/apps/6120/b5938715bdb8479a24b3fc6b5c74936d160a5878.jpg]]></gameLogo>
|
79
|
+
<gameLogoSmall><![CDATA[http://media.steampowered.com/steamcommunity/public/images/apps/6120/b5938715bdb8479a24b3fc6b5c74936d160a5878_thumb.jpg]]></gameLogoSmall>
|
80
|
+
<hoursPlayed>3.3</hoursPlayed>
|
81
|
+
<hoursOnRecord>3.3</hoursOnRecord>
|
82
|
+
<statsName><![CDATA[Shank]]></statsName>
|
83
|
+
</mostPlayedGame>
|
84
|
+
<mostPlayedGame>
|
85
|
+
<gameName><![CDATA[Spec Ops: The Line]]></gameName>
|
86
|
+
<gameLink><![CDATA[http://steamcommunity.com/app/50300]]></gameLink>
|
87
|
+
<gameIcon><![CDATA[http://media.steampowered.com/steamcommunity/public/images/apps/50300/55ae859a90d61c08f18ed3aa0ee2579169d2c2bf.jpg]]></gameIcon>
|
88
|
+
<gameLogo><![CDATA[http://media.steampowered.com/steamcommunity/public/images/apps/50300/e449c7dc5a9861cf94476de1b394640f3866ddda.jpg]]></gameLogo>
|
89
|
+
<gameLogoSmall><![CDATA[http://media.steampowered.com/steamcommunity/public/images/apps/50300/e449c7dc5a9861cf94476de1b394640f3866ddda_thumb.jpg]]></gameLogoSmall>
|
90
|
+
<hoursPlayed>3.1</hoursPlayed>
|
91
|
+
<hoursOnRecord>5.4</hoursOnRecord>
|
92
|
+
<statsName><![CDATA[SpecOpsTheLine]]></statsName>
|
93
|
+
</mostPlayedGame>
|
94
|
+
</mostPlayedGames>
|
95
|
+
|
96
|
+
|
97
|
+
<weblinks>
|
98
|
+
</weblinks>
|
99
|
+
|
100
|
+
<groups>
|
101
|
+
<group isPrimary="1">
|
102
|
+
<groupID64>103582791429591238</groupID64>
|
103
|
+
<groupName><![CDATA[SnakeEyes]]></groupName>
|
104
|
+
<groupURL><![CDATA[snakeeyes]]></groupURL>
|
105
|
+
<headline><![CDATA[The best of the worst of the fun.]]></headline>
|
106
|
+
<summary><![CDATA[SnakeEyes is a widespanning gaming community not solely related to WoW anymore. We now also trade in Battlecruisers (operational, pref.) and various other 'hurt them before they hurt us' games. We pride ourselves with twisted humor and gaming for the fun of it, rather than winning. Winning is just part of the fun.]]></summary>
|
107
|
+
<avatarIcon><![CDATA[http://media.steampowered.com/steamcommunity/public/images/avatars/3c/3ccb08451a455aa069daf72adc4d5f83fb908327.jpg]]></avatarIcon>
|
108
|
+
<avatarMedium><![CDATA[http://media.steampowered.com/steamcommunity/public/images/avatars/3c/3ccb08451a455aa069daf72adc4d5f83fb908327_medium.jpg]]></avatarMedium>
|
109
|
+
<avatarFull><![CDATA[http://media.steampowered.com/steamcommunity/public/images/avatars/3c/3ccb08451a455aa069daf72adc4d5f83fb908327_full.jpg]]></avatarFull>
|
110
|
+
<memberCount>51</memberCount>
|
111
|
+
<membersInChat>0</membersInChat>
|
112
|
+
<membersInGame>0</membersInGame>
|
113
|
+
<membersOnline>0</membersOnline>
|
114
|
+
</group>
|
115
|
+
<group isPrimary="0">
|
116
|
+
<groupID64>103582791432188903</groupID64>
|
117
|
+
</group>
|
118
|
+
<group isPrimary="0">
|
119
|
+
<groupID64>103582791432706584</groupID64>
|
120
|
+
</group>
|
121
|
+
</groups>
|
122
|
+
</profile>
|
@@ -0,0 +1,94 @@
|
|
1
|
+
---
|
2
|
+
profile:
|
3
|
+
steamID64: '76561197992917668'
|
4
|
+
steamID: MrCheese
|
5
|
+
onlineState: online
|
6
|
+
stateMessage: Online
|
7
|
+
privacyState: public
|
8
|
+
visibilityState: '3'
|
9
|
+
avatarIcon: http://media.steampowered.com/steamcommunity/public/images/avatars/3f/3fa6fcddcca7825ee0a77f4f4b8f4e10543a13cd.jpg
|
10
|
+
avatarMedium: http://media.steampowered.com/steamcommunity/public/images/avatars/3f/3fa6fcddcca7825ee0a77f4f4b8f4e10543a13cd_medium.jpg
|
11
|
+
avatarFull: http://media.steampowered.com/steamcommunity/public/images/avatars/3f/3fa6fcddcca7825ee0a77f4f4b8f4e10543a13cd_full.jpg
|
12
|
+
vacBanned: '0'
|
13
|
+
tradeBanState: None
|
14
|
+
isLimitedAccount: '0'
|
15
|
+
customURL:
|
16
|
+
memberSince: September 26, 2007
|
17
|
+
steamRating: '10'
|
18
|
+
hoursPlayed2Wk: '45.1'
|
19
|
+
headline:
|
20
|
+
location: Malmo, Skane Lan, Sweden
|
21
|
+
realname:
|
22
|
+
summary: No information given.
|
23
|
+
mostPlayedGames:
|
24
|
+
mostPlayedGame:
|
25
|
+
- gameName: ! 'Dark Souls: Prepare to Die Edition'
|
26
|
+
gameLink: http://steamcommunity.com/app/211420
|
27
|
+
gameIcon: http://media.steampowered.com/steamcommunity/public/images/apps/211420/a24804c6c8412c8cd9d50efd06bf03fa58ff80a9.jpg
|
28
|
+
gameLogo: http://media.steampowered.com/steamcommunity/public/images/apps/211420/d293c8e38f56de2c7097b2c7a975caca49029a8b.jpg
|
29
|
+
gameLogoSmall: http://media.steampowered.com/steamcommunity/public/images/apps/211420/d293c8e38f56de2c7097b2c7a975caca49029a8b_thumb.jpg
|
30
|
+
hoursPlayed: '16.9'
|
31
|
+
hoursOnRecord: '16.9'
|
32
|
+
- gameName: The Walking Dead
|
33
|
+
gameLink: http://steamcommunity.com/app/207610
|
34
|
+
gameIcon: http://media.steampowered.com/steamcommunity/public/images/apps/207610/87a13ae0a2a76488792924aa8bb0dd8a7760f931.jpg
|
35
|
+
gameLogo: http://media.steampowered.com/steamcommunity/public/images/apps/207610/6d756726214dd97c54966814d58508b86d5eabcf.jpg
|
36
|
+
gameLogoSmall: http://media.steampowered.com/steamcommunity/public/images/apps/207610/6d756726214dd97c54966814d58508b86d5eabcf_thumb.jpg
|
37
|
+
hoursPlayed: '9.3'
|
38
|
+
hoursOnRecord: '9.3'
|
39
|
+
statsName: TheWalkingDead
|
40
|
+
- gameName: Anno 2070
|
41
|
+
gameLink: http://steamcommunity.com/app/48240
|
42
|
+
gameIcon: http://media.steampowered.com/steamcommunity/public/images/apps/48240/f2ea66880f8b78ef85afa7c6c256dcb41b2df845.jpg
|
43
|
+
gameLogo: http://media.steampowered.com/steamcommunity/public/images/apps/48240/96fa0d0f7d3a2cfbd46cfbb3ec266e4fbc9c9953.jpg
|
44
|
+
gameLogoSmall: http://media.steampowered.com/steamcommunity/public/images/apps/48240/96fa0d0f7d3a2cfbd46cfbb3ec266e4fbc9c9953_thumb.jpg
|
45
|
+
hoursPlayed: '3.4'
|
46
|
+
hoursOnRecord: '3.4'
|
47
|
+
- gameName: Shank 2
|
48
|
+
gameLink: http://steamcommunity.com/app/102840
|
49
|
+
gameIcon: http://media.steampowered.com/steamcommunity/public/images/apps/102840/6f916b594b1056789013a3e210cdc89a5245cd6d.jpg
|
50
|
+
gameLogo: http://media.steampowered.com/steamcommunity/public/images/apps/102840/eec11d103112f36876bd746854d6e8f130ea6078.jpg
|
51
|
+
gameLogoSmall: http://media.steampowered.com/steamcommunity/public/images/apps/102840/eec11d103112f36876bd746854d6e8f130ea6078_thumb.jpg
|
52
|
+
hoursPlayed: '3.3'
|
53
|
+
hoursOnRecord: '3.3'
|
54
|
+
statsName: '102840'
|
55
|
+
- gameName: Shank
|
56
|
+
gameLink: http://steamcommunity.com/app/6120
|
57
|
+
gameIcon: http://media.steampowered.com/steamcommunity/public/images/apps/6120/936571702a9ed84a6c267003b3f5b26df9ae830d.jpg
|
58
|
+
gameLogo: http://media.steampowered.com/steamcommunity/public/images/apps/6120/b5938715bdb8479a24b3fc6b5c74936d160a5878.jpg
|
59
|
+
gameLogoSmall: http://media.steampowered.com/steamcommunity/public/images/apps/6120/b5938715bdb8479a24b3fc6b5c74936d160a5878_thumb.jpg
|
60
|
+
hoursPlayed: '3.3'
|
61
|
+
hoursOnRecord: '3.3'
|
62
|
+
statsName: Shank
|
63
|
+
- gameName: ! 'Spec Ops: The Line'
|
64
|
+
gameLink: http://steamcommunity.com/app/50300
|
65
|
+
gameIcon: http://media.steampowered.com/steamcommunity/public/images/apps/50300/55ae859a90d61c08f18ed3aa0ee2579169d2c2bf.jpg
|
66
|
+
gameLogo: http://media.steampowered.com/steamcommunity/public/images/apps/50300/e449c7dc5a9861cf94476de1b394640f3866ddda.jpg
|
67
|
+
gameLogoSmall: http://media.steampowered.com/steamcommunity/public/images/apps/50300/e449c7dc5a9861cf94476de1b394640f3866ddda_thumb.jpg
|
68
|
+
hoursPlayed: '3.1'
|
69
|
+
hoursOnRecord: '5.4'
|
70
|
+
statsName: SpecOpsTheLine
|
71
|
+
weblinks:
|
72
|
+
groups:
|
73
|
+
group:
|
74
|
+
- groupID64: '103582791429591238'
|
75
|
+
groupName: SnakeEyes
|
76
|
+
groupURL: snakeeyes
|
77
|
+
headline: The best of the worst of the fun.
|
78
|
+
summary: SnakeEyes is a widespanning gaming community not solely related to
|
79
|
+
WoW anymore. We now also trade in Battlecruisers (operational, pref.) and
|
80
|
+
various other 'hurt them before they hurt us' games. We pride ourselves with
|
81
|
+
twisted humor and gaming for the fun of it, rather than winning. Winning is
|
82
|
+
just part of the fun.
|
83
|
+
avatarIcon: http://media.steampowered.com/steamcommunity/public/images/avatars/3c/3ccb08451a455aa069daf72adc4d5f83fb908327.jpg
|
84
|
+
avatarMedium: http://media.steampowered.com/steamcommunity/public/images/avatars/3c/3ccb08451a455aa069daf72adc4d5f83fb908327_medium.jpg
|
85
|
+
avatarFull: http://media.steampowered.com/steamcommunity/public/images/avatars/3c/3ccb08451a455aa069daf72adc4d5f83fb908327_full.jpg
|
86
|
+
memberCount: '51'
|
87
|
+
membersInChat: '0'
|
88
|
+
membersInGame: '0'
|
89
|
+
membersOnline: '0'
|
90
|
+
isPrimary: '1'
|
91
|
+
- groupID64: '103582791432188903'
|
92
|
+
isPrimary: '0'
|
93
|
+
- groupID64: '103582791432706584'
|
94
|
+
isPrimary: '0'
|