dsander-reve 0.0.120 → 0.0.121
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.
- data/Rakefile +2 -15
- data/init.rb +2 -1
- data/lib/reve.rb +48 -8
- data/lib/reve/classes.rb +72 -13
- data/test/test_reve.rb +46 -8
- data/test/xml/starbase_fuel.xml +28 -18
- data/test/xml/starbases.xml +7 -7
- metadata +1 -1
data/Rakefile
CHANGED
|
@@ -58,11 +58,11 @@ elsif File.exists?('.git')
|
|
|
58
58
|
begin
|
|
59
59
|
require 'jeweler'
|
|
60
60
|
Jeweler::Tasks.new do |s|
|
|
61
|
-
s.name = "
|
|
61
|
+
s.name = "reve"
|
|
62
62
|
s.rubyforge_project = "reve"
|
|
63
63
|
s.author = "Lisa Seelye"
|
|
64
64
|
s.email = "lisa@thedoh.com"
|
|
65
|
-
s.homepage = "http://
|
|
65
|
+
s.homepage = "http://revetrac.crudvision.com"
|
|
66
66
|
s.platform = Gem::Platform::RUBY
|
|
67
67
|
s.summary = "Reve is a Ruby library to interface with the Eve Online API"
|
|
68
68
|
s.files = FileList["Rakefile","LICENSE", "lib/**/*.rb","reve.rb","tester.rb","init.rb"].to_a
|
|
@@ -72,21 +72,8 @@ elsif File.exists?('.git')
|
|
|
72
72
|
s.extra_rdoc_files = ["ChangeLog"]
|
|
73
73
|
s.add_dependency("hpricot",">= 0.6")
|
|
74
74
|
end
|
|
75
|
-
Jeweler::GemcutterTasks.new
|
|
76
75
|
rescue LoadError
|
|
77
76
|
puts "Jeweler, or one of its dependencies, is not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
|
|
78
77
|
end
|
|
79
78
|
end
|
|
80
79
|
|
|
81
|
-
begin
|
|
82
|
-
require 'rcov/rcovtask'
|
|
83
|
-
Rcov::RcovTask.new do |test|
|
|
84
|
-
test.libs << 'test'
|
|
85
|
-
test.pattern = 'test/**/test_*.rb'
|
|
86
|
-
test.verbose = true
|
|
87
|
-
end
|
|
88
|
-
rescue LoadError
|
|
89
|
-
task :rcov do
|
|
90
|
-
abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
|
|
91
|
-
end
|
|
92
|
-
end
|
data/init.rb
CHANGED
data/lib/reve.rb
CHANGED
|
@@ -87,6 +87,7 @@ module Reve
|
|
|
87
87
|
@@corporate_medals_url = 'http://api.eve-online.com/corp/Medals.xml.aspx'
|
|
88
88
|
@@corp_member_medals_url = 'http://api.eve-online.com/corp/MemberMedals.xml.aspx'
|
|
89
89
|
@@server_status_url = 'http://api.eve-online.com/Server/ServerStatus.xml.aspx'
|
|
90
|
+
@@research_url = 'http://api.eve-online.com/char/Research.xml.aspx'
|
|
90
91
|
@@personal_notification_url = 'http://api.eve-online.com/char/Notifications.xml.aspx'
|
|
91
92
|
@@personal_mailing_lists_url = 'http://api.eve-online.com/char/mailinglists.xml.aspx'
|
|
92
93
|
@@personal_mail_messages_url = 'http://api.eve-online.com/char/MailMessages.xml.aspx'
|
|
@@ -103,7 +104,8 @@ module Reve
|
|
|
103
104
|
:general_faction_war_stats_url, :top_faction_war_stats_url, :faction_war_occupancy_url,
|
|
104
105
|
:certificate_tree_url, :character_medals_url, :corporate_medals_url,
|
|
105
106
|
:corp_member_medals_url, :server_status_url, :skill_queue_url, :corporation_member_security_url,
|
|
106
|
-
:personal_notification_url, :personal_mailing_lists_url, :personal_mail_messages_url
|
|
107
|
+
:personal_notification_url, :personal_mailing_lists_url, :personal_mail_messages_url,
|
|
108
|
+
:research_url
|
|
107
109
|
|
|
108
110
|
|
|
109
111
|
attr_accessor :key, :userid, :charid
|
|
@@ -339,6 +341,19 @@ module Reve
|
|
|
339
341
|
return h if h
|
|
340
342
|
process_query(Reve::Classes::MemberTracking,opts[:url] || @@member_tracking_url,false,args)
|
|
341
343
|
end
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
# Gets one's research stats from agents
|
|
347
|
+
# http://api.eve-online/char/Research.xml.aspx
|
|
348
|
+
# Expects:
|
|
349
|
+
# * characterid ( Integer | String ) - Get stats for this Character
|
|
350
|
+
# See also: Reve::Classes::Research
|
|
351
|
+
def research(opts = { :characterid => nil })
|
|
352
|
+
args = postfields(opts)
|
|
353
|
+
h = compute_hash(args.merge(:url => @@research_url))
|
|
354
|
+
return h if h
|
|
355
|
+
process_query(Reve::Classes::Research,opts[:url] || @@research_url,false,args)
|
|
356
|
+
end
|
|
342
357
|
|
|
343
358
|
# Gets one's own personal WalletBalance from
|
|
344
359
|
# http://api.eve-online.com/char/AccountBalance.xml.aspx
|
|
@@ -647,21 +662,46 @@ module Reve
|
|
|
647
662
|
process_query(Reve::Classes::Starbase,opts[:url] || @@starbases_url,false,args)
|
|
648
663
|
end
|
|
649
664
|
|
|
650
|
-
# Returns the
|
|
665
|
+
# Returns the starbase details for the Starbase whose item id is starbase_id
|
|
651
666
|
# http://api.eve-online.com/corp/StarbaseDetail.xml.aspx
|
|
652
667
|
# Expects:
|
|
653
668
|
# * characterid ( Integer | String ) - Get the Starbase associated wih this character's Corporation
|
|
654
|
-
# *
|
|
655
|
-
# See also Reve::Classes::
|
|
656
|
-
def
|
|
669
|
+
# * starbaseid ( Integer ) - Get the fuel for this Starbase. This is the Starbase's itemid.
|
|
670
|
+
# See also Reve::Classes::StarbaseDetails
|
|
671
|
+
def starbase_details(opts = { :characterid => nil, :starbaseid => nil })
|
|
672
|
+
opts[:itemid] = opts.delete(:starbaseid)
|
|
657
673
|
args = postfields(opts)
|
|
658
674
|
h = compute_hash(args.merge(:url => @@starbasedetail_url))
|
|
659
675
|
return h if h
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
676
|
+
xml = process_query(Reve::Classes::StarbaseDetails,opts[:url] || @@starbasedetail_url, true, args)
|
|
677
|
+
|
|
678
|
+
state = xml.search("/eveapi/result/state").inner_text
|
|
679
|
+
state_timestamp = xml.search("/eveapi/result/stateTimestamp").inner_text
|
|
680
|
+
online_timestamp = xml.search("/eveapi/result/onlineTimestamp").inner_text
|
|
681
|
+
|
|
682
|
+
h = {'usageFlags' => 0, 'deployFlags' => 0, 'allowCorporationMembers' => 0, 'allowAllianceMembers' => 0, 'claimSovereignty' => 0}
|
|
683
|
+
h.keys.each {|k| h[k] = xml.search("/eveapi/result/generalSettings/#{k}").inner_text }
|
|
684
|
+
general_settings = Reve::Classes::StarbaseGeneralSettings.new(h)
|
|
685
|
+
|
|
686
|
+
h = {'onStandingDrop' => 0, 'onStatusDrop' => 0, 'onAggression' => 0, 'onCorporationWar' => 0}
|
|
687
|
+
h.keys.each {|k| h[k] = xml.search("/eveapi/result/combatSettings/#{k}") }
|
|
688
|
+
combat_settings = Reve::Classes::StarbaseCombatSettings.new(h)
|
|
689
|
+
|
|
690
|
+
fuel = []
|
|
691
|
+
xml.search("/eveapi/result/rowset[@name='fuel']/row").each do |entry|
|
|
692
|
+
fuel << Reve::Classes::StarbaseFuel.new(entry)
|
|
693
|
+
end
|
|
694
|
+
|
|
695
|
+
res = Hash.new
|
|
696
|
+
{ :state => :state, :stateTimestamp => :state_timestamp, :onlineTimestamp => :online_timestamp }.each do |k,v|
|
|
697
|
+
res[v] = xml.search("/eveapi/result/#{k.to_s}/").first.to_s.strip
|
|
698
|
+
end
|
|
699
|
+
|
|
700
|
+
Reve::Classes::StarbaseDetails.new res, general_settings, combat_settings, fuel
|
|
663
701
|
end
|
|
664
702
|
|
|
703
|
+
alias_method :starbase_fuel, :starbase_details
|
|
704
|
+
|
|
665
705
|
|
|
666
706
|
# Get the last kills for the characterid passed.
|
|
667
707
|
# Expects:
|
data/lib/reve/classes.rb
CHANGED
|
@@ -269,6 +269,25 @@ module Reve #:nodoc:
|
|
|
269
269
|
|
|
270
270
|
end
|
|
271
271
|
|
|
272
|
+
# A Research object holds information about Agents the Character is doing research with.
|
|
273
|
+
# Attributes
|
|
274
|
+
# * agent_id ( Fixnum ) - ID of the Agent
|
|
275
|
+
# * skill_type_id ( Fixnum ) - Skill used for research (not the ID of the core received)
|
|
276
|
+
# * research_started_at ( Time ) - Date the Character began research with the Agent
|
|
277
|
+
# * points_per_day ( Float ) - Number of points generated per day
|
|
278
|
+
# * remainder_points ( Float ) - Number of points remaining since last datacore purchase andor points_per_day update.
|
|
279
|
+
# See Also: Character, Skill, Reve::API#research_stats
|
|
280
|
+
class Research
|
|
281
|
+
attr_reader :agent_id, :skill_type_id, :research_started_at, :points_per_day, :remainder_points
|
|
282
|
+
def initialize(elem) #:nodoc:
|
|
283
|
+
@agent_id = elem['agentID'].to_i
|
|
284
|
+
@skill_type_id = elem['skillTypeID'].to_i
|
|
285
|
+
@research_started_at = elem['researchStartDate'].to_time
|
|
286
|
+
@points_per_day = elem['pointsPerDay'].to_f
|
|
287
|
+
@remainder_points = elem['remainderPoints'].to_f
|
|
288
|
+
end
|
|
289
|
+
end
|
|
290
|
+
|
|
272
291
|
# A Skill has a RequiredAttribute, either a PrimaryAttribute or SecondaryAttribute, which both derrive from this.
|
|
273
292
|
# Attributes
|
|
274
293
|
# * name ( String ) - Name of the required Attribute
|
|
@@ -1255,35 +1274,75 @@ module Reve #:nodoc:
|
|
|
1255
1274
|
# Used for a list of Starbases, Reve::API#starbases
|
|
1256
1275
|
# Attributes
|
|
1257
1276
|
# * type_id ( Fixnum ) - Type of Starbase (Refer to CCP database dump invtypes)
|
|
1258
|
-
# * type_name ( String ) - Name of the type of Starbase
|
|
1259
1277
|
# * id ( Fixnum ) - ID of the Starbase
|
|
1260
1278
|
# * system_id ( Fixnum ) - ID of the System where the Starbase is
|
|
1261
|
-
# *
|
|
1279
|
+
# * moon_id ( Fixnum ) - ID of the Moon where the Starbase is
|
|
1280
|
+
# * state ( Fixnum ) - Mode of the POS. See Known POS States, below, see: http://wiki.eve-id.net/APIv2_Corp_StarbaseList_XML
|
|
1281
|
+
# * state_timestamp ( Time ) - Depends on the state, for example cycle time or Reinforced until
|
|
1282
|
+
# * online_timestamp ( Time ) - Since when the starbase is online
|
|
1262
1283
|
# See Also: StarbaseFuel, Reve::API#starbases, Reve::API#starbase_fuel
|
|
1263
1284
|
class Starbase
|
|
1264
|
-
attr_reader :type_id, :type_name, :id, :system_id, :
|
|
1285
|
+
attr_reader :type_id, :type_name, :id, :system_id, :moon_id, :state, :state_timestamp, :online_timestamp
|
|
1265
1286
|
alias_method :item_id, :id
|
|
1266
1287
|
alias_method :location_id,:system_id
|
|
1267
|
-
alias_method :location_name, :system_name
|
|
1268
1288
|
def initialize(elem) #:nodoc:
|
|
1269
1289
|
@type_id = elem['typeID'].to_i
|
|
1270
|
-
@type_name = elem['typeName']
|
|
1271
1290
|
@id = elem['itemID'].to_i
|
|
1272
1291
|
@system_id = elem['locationID'].to_i
|
|
1273
|
-
@
|
|
1292
|
+
@moon_id = elem['moonID'].to_i
|
|
1293
|
+
@state = elem['state'].to_i
|
|
1294
|
+
@state_timestamp = elem['stateTimestamp'].to_time
|
|
1295
|
+
@online_timestamp = elem['onlineTimestamp'].to_time
|
|
1274
1296
|
end
|
|
1275
1297
|
end
|
|
1276
1298
|
|
|
1277
|
-
#
|
|
1278
|
-
# starbase_id is set in the Reve::API#starbase_fuel method and not here
|
|
1299
|
+
# Returns the starbase details for the Starbase whose item id is starbase_id
|
|
1279
1300
|
# Attributes
|
|
1280
|
-
# *
|
|
1281
|
-
# *
|
|
1282
|
-
# *
|
|
1283
|
-
#
|
|
1301
|
+
# * state ( Fixnum ) - State of the starbase (Refer to CCP database dump invtypes)
|
|
1302
|
+
# * state_timestamp ( Time ) - Depents on state
|
|
1303
|
+
# * online_timestamp ( Time ) - Since when this starbase is online
|
|
1304
|
+
# * general_settings ( StarbaseGeneralSettings ) - See StarbaseGeneralSettings
|
|
1305
|
+
# * combat_settings ( StarbaseCombatSettings ) - See StarbaseCombatSettings
|
|
1306
|
+
# * fuel ( [StarbaseFuel ] ) - See StarbaseFuel
|
|
1307
|
+
# See Also: Starbase, StarbaseGeneralSettings, StarbaseCombatSettings, StarbaseFuel, Reve::API#starbase_details, Reve::API#starbases
|
|
1308
|
+
class StarbaseDetails
|
|
1309
|
+
attr_reader :state, :state_timestamp, :online_timestamp
|
|
1310
|
+
attr_accessor :general_settings, :combat_settings, :fuel
|
|
1311
|
+
|
|
1312
|
+
def initialize(elem, general_settings, combat_settings, fuel) #:nodoc:
|
|
1313
|
+
@state = elem[:state].to_i
|
|
1314
|
+
@state_timestamp = elem[:state_timestamp].to_time
|
|
1315
|
+
@online_timestamp = elem[:online_timestamp].to_time
|
|
1316
|
+
@general_settings = general_settings
|
|
1317
|
+
@combat_settings = combat_settings
|
|
1318
|
+
@fuel = fuel
|
|
1319
|
+
end
|
|
1320
|
+
end
|
|
1321
|
+
|
|
1322
|
+
class StarbaseGeneralSettings
|
|
1323
|
+
attr_reader :usage_flags, :deploy_flags, :allow_corporation_members,
|
|
1324
|
+
:allow_alliance_members, :claim_sovereignty
|
|
1325
|
+
def initialize(elem) #:nodoc:
|
|
1326
|
+
@usage_flags = elem['usageFlags'].to_i
|
|
1327
|
+
@deploy_flags = elem['deployFlags'].to_i
|
|
1328
|
+
@allow_corporation_members = elem['allowCorporationMembers'] == '1'
|
|
1329
|
+
@allow_alliance_members = elem['allowAllianceMembers'] == '1'
|
|
1330
|
+
@claim_sovereignty = elem['claimSovereignty'] == '1'
|
|
1331
|
+
end
|
|
1332
|
+
end
|
|
1333
|
+
|
|
1334
|
+
class StarbaseCombatSettings
|
|
1335
|
+
attr_reader :on_standings_drop, :on_status_drop, :on_aggression, :on_corporation_war
|
|
1336
|
+
def initialize(elem) #:nodoc:
|
|
1337
|
+
@on_standings_drop = elem['onStandingDrop'].attr('standing').to_i
|
|
1338
|
+
@on_status_drop = (elem['onStatusDrop'].attr('enabled') == '1' ? elem['onStatusDrop'].attr('standing').to_i : false)
|
|
1339
|
+
@on_aggression = elem['onAggression'].attr('enabled') == '1'
|
|
1340
|
+
@on_corporation_war = elem['onCorporationWar'].attr('enabled') == '1'
|
|
1341
|
+
end
|
|
1342
|
+
end
|
|
1343
|
+
|
|
1284
1344
|
class StarbaseFuel
|
|
1285
1345
|
attr_reader :type_id, :quantity
|
|
1286
|
-
attr_accessor :starbase_id
|
|
1287
1346
|
def initialize(elem) #:nodoc:
|
|
1288
1347
|
@type_id = elem['typeID'].to_i
|
|
1289
1348
|
@quantity = elem['quantity'].to_i
|
data/test/test_reve.rb
CHANGED
|
@@ -82,6 +82,7 @@ class TestReve < Test::Unit::TestCase
|
|
|
82
82
|
File.open(File.join(SAVE_PATH,'alliances',@api.cached_until.to_i.to_s + '.xml')).read)
|
|
83
83
|
end
|
|
84
84
|
|
|
85
|
+
|
|
85
86
|
def test_saving_xml_when_save_path_is_nil
|
|
86
87
|
assert_nil @api.save_path
|
|
87
88
|
alliances = @api.alliances :url => File.join(XML_BASE,'alliances.xml')
|
|
@@ -134,6 +135,25 @@ class TestReve < Test::Unit::TestCase
|
|
|
134
135
|
end
|
|
135
136
|
end
|
|
136
137
|
|
|
138
|
+
def test_research_api_call
|
|
139
|
+
Reve::API.research_url = XML_BASE + 'research.xml'
|
|
140
|
+
research = nil
|
|
141
|
+
assert_nothing_raised do
|
|
142
|
+
research = @api.research :characterid => 123
|
|
143
|
+
end
|
|
144
|
+
assert_not_nil(research)
|
|
145
|
+
assert_not_nil(@api.last_hash)
|
|
146
|
+
assert_equal(4, research.size)
|
|
147
|
+
research.each do |ri|
|
|
148
|
+
assert_kind_of(Fixnum, ri.agent_id)
|
|
149
|
+
assert_kind_of(Fixnum, ri.skill_type_id)
|
|
150
|
+
assert_kind_of(Time, ri.research_started_at)
|
|
151
|
+
assert_kind_of(Float, ri.points_per_day)
|
|
152
|
+
assert_kind_of(Float, ri.remainder_points)
|
|
153
|
+
end
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
|
|
137
157
|
def test_corporation_sheet_clean
|
|
138
158
|
Reve::API.corporation_sheet_url = XML_BASE + 'corporation_sheet.xml'
|
|
139
159
|
corporation = nil
|
|
@@ -488,24 +508,42 @@ class TestReve < Test::Unit::TestCase
|
|
|
488
508
|
bases.each do |starbase|
|
|
489
509
|
assert_instance_of Reve::Classes::Starbase, starbase
|
|
490
510
|
assert_not_nil starbase.type_id
|
|
491
|
-
assert_not_nil starbase.type_name
|
|
492
511
|
assert_not_nil starbase.id
|
|
493
512
|
assert_not_nil starbase.system_id
|
|
494
|
-
assert_not_nil starbase.
|
|
513
|
+
assert_not_nil starbase.moon_id
|
|
514
|
+
assert_not_nil starbase.state
|
|
515
|
+
assert_not_nil starbase.state_timestamp
|
|
516
|
+
assert_not_nil starbase.online_timestamp
|
|
495
517
|
end
|
|
496
518
|
end
|
|
497
519
|
|
|
498
|
-
def
|
|
520
|
+
def test_starbase_details_clean
|
|
499
521
|
Reve::API.starbasedetail_url = XML_BASE + 'starbase_fuel.xml'
|
|
500
|
-
|
|
522
|
+
detail = nil
|
|
501
523
|
assert_nothing_raised do
|
|
502
|
-
|
|
524
|
+
detail = @api.starbase_details(:starbaseid => 1,:characterid => 2)
|
|
503
525
|
end
|
|
504
526
|
assert_not_nil @api.last_hash
|
|
505
527
|
assert_kind_of Time, @api.cached_until
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
528
|
+
|
|
529
|
+
assert_not_nil detail.state
|
|
530
|
+
assert_kind_of Time, detail.state_timestamp
|
|
531
|
+
assert_kind_of Time, detail.online_timestamp
|
|
532
|
+
assert_instance_of Reve::Classes::StarbaseGeneralSettings, detail.general_settings
|
|
533
|
+
assert_instance_of Reve::Classes::StarbaseCombatSettings, detail.combat_settings
|
|
534
|
+
assert_equal 9, detail.fuel.size
|
|
535
|
+
|
|
536
|
+
assert_not_nil detail.general_settings.usage_flags
|
|
537
|
+
assert [TrueClass, FalseClass].include?(detail.general_settings.allow_corporation_members.class)
|
|
538
|
+
assert [TrueClass, FalseClass].include?(detail.general_settings.allow_alliance_members.class)
|
|
539
|
+
assert [TrueClass, FalseClass].include?(detail.general_settings.claim_sovereignty.class)
|
|
540
|
+
|
|
541
|
+
assert_not_nil detail.combat_settings.on_standings_drop
|
|
542
|
+
assert_not_nil detail.combat_settings.on_status_drop
|
|
543
|
+
assert_not_nil detail.combat_settings.on_aggression
|
|
544
|
+
assert_not_nil detail.combat_settings.on_corporation_war
|
|
545
|
+
|
|
546
|
+
detail.fuel.each do |fuel|
|
|
509
547
|
assert_not_nil fuel.type_id
|
|
510
548
|
assert_not_nil fuel.quantity
|
|
511
549
|
end
|
data/test/xml/starbase_fuel.xml
CHANGED
|
@@ -1,23 +1,33 @@
|
|
|
1
|
-
<eveapi version="
|
|
2
|
-
<currentTime>
|
|
1
|
+
<eveapi version="2">
|
|
2
|
+
<currentTime>2009-11-03 18:52:44</currentTime>
|
|
3
3
|
<result>
|
|
4
|
-
<
|
|
4
|
+
<state>4</state>
|
|
5
|
+
<stateTimestamp>2009-11-03 19:27:23</stateTimestamp>
|
|
6
|
+
<onlineTimestamp>2009-08-03 14:22:44</onlineTimestamp>
|
|
7
|
+
<generalSettings>
|
|
8
|
+
<usageFlags>3</usageFlags>
|
|
9
|
+
<deployFlags>0</deployFlags>
|
|
10
|
+
<allowCorporationMembers>1</allowCorporationMembers>
|
|
11
|
+
<allowAllianceMembers>0</allowAllianceMembers>
|
|
12
|
+
<claimSovereignty>0</claimSovereignty>
|
|
13
|
+
</generalSettings>
|
|
14
|
+
<combatSettings>
|
|
15
|
+
<onStandingDrop standing="200" />
|
|
16
|
+
<onStatusDrop enabled="0" standing="0" />
|
|
17
|
+
<onAggression enabled="1" />
|
|
18
|
+
<onCorporationWar enabled="1" />
|
|
19
|
+
</combatSettings>
|
|
5
20
|
<rowset name="fuel" key="typeID" columns="typeID,quantity">
|
|
6
|
-
<row typeID="
|
|
7
|
-
<row typeID="
|
|
8
|
-
<row typeID="
|
|
9
|
-
<row typeID="
|
|
10
|
-
<row typeID="
|
|
11
|
-
<row typeID="
|
|
12
|
-
<row typeID="
|
|
13
|
-
<row typeID="
|
|
14
|
-
<row typeID="
|
|
15
|
-
<row typeID="9848" quantity="330"/>
|
|
16
|
-
<row typeID="9832" quantity="2640"/>
|
|
17
|
-
<row typeID="3689" quantity="1650"/>
|
|
18
|
-
<row typeID="3683" quantity="8250"/>
|
|
19
|
-
<row typeID="44" quantity="1320"/>
|
|
21
|
+
<row typeID="16273" quantity="10171" />
|
|
22
|
+
<row typeID="16272" quantity="9316" />
|
|
23
|
+
<row typeID="9848" quantity="123" />
|
|
24
|
+
<row typeID="9832" quantity="492" />
|
|
25
|
+
<row typeID="3689" quantity="369" />
|
|
26
|
+
<row typeID="3683" quantity="1599" />
|
|
27
|
+
<row typeID="44" quantity="246" />
|
|
28
|
+
<row typeID="16275" quantity="6000" />
|
|
29
|
+
<row typeID="17887" quantity="27675" />
|
|
20
30
|
</rowset>
|
|
21
31
|
</result>
|
|
22
|
-
<cachedUntil>
|
|
32
|
+
<cachedUntil>2009-11-03 19:52:44</cachedUntil>
|
|
23
33
|
</eveapi>
|
data/test/xml/starbases.xml
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<eveapi version="1">
|
|
2
|
-
<currentTime>
|
|
2
|
+
<currentTime>2009-11-02 19:51:38</currentTime>
|
|
3
3
|
<result>
|
|
4
|
-
<rowset name="starbases" key="itemID" columns="typeID,
|
|
5
|
-
<row typeID="12235"
|
|
6
|
-
<row typeID="20059"
|
|
7
|
-
<row typeID="12235"
|
|
8
|
-
<row typeID="16286"
|
|
4
|
+
<rowset name="starbases" key="itemID" columns="itemID,typeID,locationID,moonID,state,stateTimestamp,onlineTimestamp">
|
|
5
|
+
<row typeID="12235" itemID="150354725" locationID="30000380" moonID="12513141" state="4" stateTimestamp="2009-11-03 17:57:32" onlineTimestamp="2009-11-01 10:57:24" />
|
|
6
|
+
<row typeID="20059" itemID="150354773" locationID="30001984" moonID="12513142" state="4" stateTimestamp="2009-11-03 15:25:12" onlineTimestamp="2009-10-01 11:24:35" />
|
|
7
|
+
<row typeID="12235" itemID="150357658" locationID="30001984" moonID="12513143" state="4" stateTimestamp="2009-11-03 17:57:32" onlineTimestamp="2008-07-01 16:10:44"/>
|
|
8
|
+
<row typeID="16286" itemID="150318232" locationID="30003109" moonID="12513144" state="1" stateTimestamp="2009-11-16 17:57:32" onlineTimestamp="2009-09-01 01:35:02"/>
|
|
9
9
|
</rowset>
|
|
10
10
|
</result>
|
|
11
|
-
<cachedUntil>
|
|
11
|
+
<cachedUntil>2009-08-16 19:51:50</cachedUntil>
|
|
12
12
|
</eveapi>
|