Mercurial > wow > momit-suicide-kings
diff Import.lua @ 3:a55f4f2a4603 tip
intial (real) commit!
author | Kyle@Kyle-PC |
---|---|
date | Thu, 23 Feb 2012 00:34:43 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Import.lua Thu Feb 23 00:34:43 2012 -0500 @@ -0,0 +1,117 @@ +--[[ +Title: Suicide Kings +Author: Brom +Version: 0.1 +]] + +function SuicideKings:GetUIDFromName( name ) + + for uid,v in pairs( self.db.profile.roster ) do + if ( v["main"] == name ) then + return uid + end + end + + SuicideKings:Print( "Warning: could not find UID for " .. name ) + return 0 + +end + +function SuicideKings:ImportFromKSK() + + SuicideKings:Print( "-- Importing KonferSK Data --" ) + + --[[ + import rosters + ]]-- + + SuicideKings:Print( "Importing KonferSK roster..." ) + self.db.profile.roster = {} + + -- search for unique mains + for _,v in pairs( ksk.sortedusers ) do + if ( ksk:UserIsAlt(v.id) == false ) then + + -- generate unique key + local uid = SuicideKings:UID( self.db.profile.roster ) + + -- associate with main character key + self.db.profile.roster[uid] = {}; + self.db.profile.roster[uid]["main"] = ksk.users[v.id].name; + + -- debug + -- SuicideKings:Print( "Imported main: " .. ksk.users[v.id].name .. " (key = " .. uid .. ")" ) + + end + end + + -- search for alts + for _,v in pairs( ksk.sortedusers ) do + if ( ksk:UserIsAlt(v.id) == true ) then + + -- ksk data + local altName = ksk.users[v.id].name; + local mainIdx = ksk.users[v.id].main; + local mainName = ksk.users[mainIdx].name; + + -- find a main in our data with that name + local found = false + for uid,vv in pairs( self.db.profile.roster ) do + if ( vv["main"] == mainName ) then + found = true + + -- check for alts table + if ( not self.db.profile.roster[uid]["alts"] ) then + self.db.profile.roster[uid]["alts"] = {} + end + + -- associate alt name with character key + table.insert( self.db.profile.roster[uid]["alts"], altName ) + + -- debug + -- SuicideKings:Print( "Imported alt: " .. altName .. " (main = " .. vv["main"] .. " | key = " .. uid .. ")" ) + end + end + + -- debugging + if ( found == false ) then + SuicideKings:Print( "Warning: could not find main for " .. altName ) + end + + end + end + + --[[ + import lists + ]]-- + + SuicideKings:Print( "Importing KonferSK lists..." ) + self.db.profile.lists = {} + + -- get lists + for _,v in pairs( ksk.sortedlists ) do + + -- generate unique key + local uid = SuicideKings:UID( self.db.profile.lists ) + + -- ksk data + local listName = ksk.lists[v.id].name + local listUsers = ksk.lists[v.id].users + + -- associate with main character key + self.db.profile.lists[uid] = {}; + self.db.profile.lists[uid]["name"] = listName; + + -- get user ids + self.db.profile.lists[uid]["users"] = {} + for _,vv in pairs( listUsers ) do + local userName = ksk.users[vv].name; + local userId = SuicideKings:GetUIDFromName( userName ) + table.insert( self.db.profile.lists[uid]["users"], userId ) + end + + SuicideKings:Print( "Imported list: " .. listName ) + + end + +end