annotate Import.lua @ 3:a55f4f2a4603 tip

intial (real) commit!
author Kyle@Kyle-PC
date Thu, 23 Feb 2012 00:34:43 -0500
parents
children
rev   line source
Kyle@3 1 --[[
Kyle@3 2 Title: Suicide Kings
Kyle@3 3 Author: Brom
Kyle@3 4 Version: 0.1
Kyle@3 5 ]]
Kyle@3 6
Kyle@3 7 function SuicideKings:GetUIDFromName( name )
Kyle@3 8
Kyle@3 9 for uid,v in pairs( self.db.profile.roster ) do
Kyle@3 10 if ( v["main"] == name ) then
Kyle@3 11 return uid
Kyle@3 12 end
Kyle@3 13 end
Kyle@3 14
Kyle@3 15 SuicideKings:Print( "Warning: could not find UID for " .. name )
Kyle@3 16 return 0
Kyle@3 17
Kyle@3 18 end
Kyle@3 19
Kyle@3 20 function SuicideKings:ImportFromKSK()
Kyle@3 21
Kyle@3 22 SuicideKings:Print( "-- Importing KonferSK Data --" )
Kyle@3 23
Kyle@3 24 --[[
Kyle@3 25 import rosters
Kyle@3 26 ]]--
Kyle@3 27
Kyle@3 28 SuicideKings:Print( "Importing KonferSK roster..." )
Kyle@3 29 self.db.profile.roster = {}
Kyle@3 30
Kyle@3 31 -- search for unique mains
Kyle@3 32 for _,v in pairs( ksk.sortedusers ) do
Kyle@3 33 if ( ksk:UserIsAlt(v.id) == false ) then
Kyle@3 34
Kyle@3 35 -- generate unique key
Kyle@3 36 local uid = SuicideKings:UID( self.db.profile.roster )
Kyle@3 37
Kyle@3 38 -- associate with main character key
Kyle@3 39 self.db.profile.roster[uid] = {};
Kyle@3 40 self.db.profile.roster[uid]["main"] = ksk.users[v.id].name;
Kyle@3 41
Kyle@3 42 -- debug
Kyle@3 43 -- SuicideKings:Print( "Imported main: " .. ksk.users[v.id].name .. " (key = " .. uid .. ")" )
Kyle@3 44
Kyle@3 45 end
Kyle@3 46 end
Kyle@3 47
Kyle@3 48 -- search for alts
Kyle@3 49 for _,v in pairs( ksk.sortedusers ) do
Kyle@3 50 if ( ksk:UserIsAlt(v.id) == true ) then
Kyle@3 51
Kyle@3 52 -- ksk data
Kyle@3 53 local altName = ksk.users[v.id].name;
Kyle@3 54 local mainIdx = ksk.users[v.id].main;
Kyle@3 55 local mainName = ksk.users[mainIdx].name;
Kyle@3 56
Kyle@3 57 -- find a main in our data with that name
Kyle@3 58 local found = false
Kyle@3 59 for uid,vv in pairs( self.db.profile.roster ) do
Kyle@3 60 if ( vv["main"] == mainName ) then
Kyle@3 61 found = true
Kyle@3 62
Kyle@3 63 -- check for alts table
Kyle@3 64 if ( not self.db.profile.roster[uid]["alts"] ) then
Kyle@3 65 self.db.profile.roster[uid]["alts"] = {}
Kyle@3 66 end
Kyle@3 67
Kyle@3 68 -- associate alt name with character key
Kyle@3 69 table.insert( self.db.profile.roster[uid]["alts"], altName )
Kyle@3 70
Kyle@3 71 -- debug
Kyle@3 72 -- SuicideKings:Print( "Imported alt: " .. altName .. " (main = " .. vv["main"] .. " | key = " .. uid .. ")" )
Kyle@3 73 end
Kyle@3 74 end
Kyle@3 75
Kyle@3 76 -- debugging
Kyle@3 77 if ( found == false ) then
Kyle@3 78 SuicideKings:Print( "Warning: could not find main for " .. altName )
Kyle@3 79 end
Kyle@3 80
Kyle@3 81 end
Kyle@3 82 end
Kyle@3 83
Kyle@3 84 --[[
Kyle@3 85 import lists
Kyle@3 86 ]]--
Kyle@3 87
Kyle@3 88 SuicideKings:Print( "Importing KonferSK lists..." )
Kyle@3 89 self.db.profile.lists = {}
Kyle@3 90
Kyle@3 91 -- get lists
Kyle@3 92 for _,v in pairs( ksk.sortedlists ) do
Kyle@3 93
Kyle@3 94 -- generate unique key
Kyle@3 95 local uid = SuicideKings:UID( self.db.profile.lists )
Kyle@3 96
Kyle@3 97 -- ksk data
Kyle@3 98 local listName = ksk.lists[v.id].name
Kyle@3 99 local listUsers = ksk.lists[v.id].users
Kyle@3 100
Kyle@3 101 -- associate with main character key
Kyle@3 102 self.db.profile.lists[uid] = {};
Kyle@3 103 self.db.profile.lists[uid]["name"] = listName;
Kyle@3 104
Kyle@3 105 -- get user ids
Kyle@3 106 self.db.profile.lists[uid]["users"] = {}
Kyle@3 107 for _,vv in pairs( listUsers ) do
Kyle@3 108 local userName = ksk.users[vv].name;
Kyle@3 109 local userId = SuicideKings:GetUIDFromName( userName )
Kyle@3 110 table.insert( self.db.profile.lists[uid]["users"], userId )
Kyle@3 111 end
Kyle@3 112
Kyle@3 113 SuicideKings:Print( "Imported list: " .. listName )
Kyle@3 114
Kyle@3 115 end
Kyle@3 116
Kyle@3 117 end