import os
from pydraft_constants import *

class Expansion:
    def __init__(self, abbr, name, order, mythics, rares, uncommons, commons, collate, interpret, collation):
        self.abbr = abbr
        self.name = name
        self.mythics = mythics
        self.rares = rares
        self.uncommons = uncommons
        self.commons = commons
        self.collate_fn = collate
        self.interpret_card = interpret
        self.collation = collation
        self.order = order
    def __cmp__(self, other):
        return cmp(self.order, other.order)


known_sets = {}
known_abbrs = []
#set_names = {}
#set_rares = {}
#set_uncommons = {}
#set_commons = {}
#set_collate = {}
#interpret_card = {}

#-----------------------------------------
# Ravnica
#-----------------------------------------
if os.path.exists('./expansions/ravnica.py'):
  collate = None
  interpret = None
  mythics = None
  extra_init = None
  collation = COLLATE_PRE_SHARDS
  from ravnica import *
  exp = Expansion(set_abbr, set_name, order, mythics, rares, uncommons, commons, collate, interpret, collation)
  known_sets[set_abbr] = exp
  if extra_init != None:
      extra_init(exp)

#-----------------------------------------
# Guildpact
#-----------------------------------------
if os.path.exists('./expansions/guildpact.py'):
  collate = None
  interpret = None
  mythics = None
  extra_init = None
  collation = COLLATE_PRE_SHARDS
  from guildpact import *
  exp = Expansion(set_abbr, set_name, order, mythics, rares, uncommons, commons, collate, interpret, collation)
  known_sets[set_abbr] = exp
  if extra_init != None:
      extra_init(exp)

#-----------------------------------------
# Dissension
#-----------------------------------------
if os.path.exists('./expansions/dissension.py'):
  collate = None
  interpret = None
  mythics = None
  extra_init = None
  collation = COLLATE_PRE_SHARDS
  from dissension import *
  exp = Expansion(set_abbr, set_name, order, mythics, rares, uncommons, commons, collate, interpret, collation)
  known_sets[set_abbr] = exp
  if extra_init != None:
      extra_init(exp)

#-----------------------------------------
# Time Spiral
#-----------------------------------------
if os.path.exists('./expansions/time_spiral.py'):
  collate = None
  interpret = None
  mythics = None
  extra_init = None
  collation = COLLATE_SPECIAL
  from time_spiral import *
  exp = Expansion(set_abbr, set_name, order, mythics, rares, uncommons, commons, collate, interpret, collation)
  known_sets[set_abbr] = exp
  if extra_init != None:
      extra_init(exp)

#-----------------------------------------
# Planar Chaos
#-----------------------------------------
if os.path.exists('./expansions/planar_chaos.py'):
    collate = None
    interpret = None
    mythics = None
    extra_init = None
    collation = COLLATE_SPECIAL
    from planar_chaos import *
    exp = Expansion(set_abbr, set_name, order, mythics, rares, uncommons, commons, collate, interpret, collation)
    known_sets[set_abbr] = exp
    if extra_init != None:
        extra_init(exp)

#-----------------------------------------
# Future Sight
#-----------------------------------------
if os.path.exists('./expansions/future_sight.py'):
    collate = None
    interpret = None
    mythics = None
    extra_init = None
    collation = COLLATE_PRE_SHARDS
    from future_sight import *
    exp = Expansion(set_abbr, set_name, order, mythics, rares, uncommons, commons, collate, interpret, collation)
    known_sets[set_abbr] = exp
    if extra_init != None:
        extra_init(exp)

#-----------------------------------------
# Lorwyn
#-----------------------------------------
if os.path.exists('expansions/lorwyn.py'):
    collate = None
    interpret = None
    mythics = None
    extra_init = None
    collation = COLLATE_PRE_SHARDS
    from lorwyn import *
    exp = Expansion(set_abbr, set_name, order, mythics, rares, uncommons, commons, collate, interpret, collation)
    known_sets[set_abbr] = exp
    if extra_init != None:
        extra_init(exp)

#-----------------------------------------
# Morningtide
#-----------------------------------------
if os.path.exists('expansions/morningtide.py'):
    collate = None
    interpret = None
    mythics = None
    extra_init = None
    collation = COLLATE_PRE_SHARDS
    from morningtide import *
    exp = Expansion(set_abbr, set_name, order, mythics, rares, uncommons, commons, collate, interpret, collation)
    known_sets[set_abbr] = exp
    if extra_init != None:
        extra_init(exp)

#-----------------------------------------
# Shadowmoor
#-----------------------------------------
if os.path.exists('./expansions/shadowmoor.py'):
    collate = None
    interpret = None
    mythics = None
    extra_init = None
    collation = COLLATE_PRE_SHARDS
    from shadowmoor import *
    exp = Expansion(set_abbr, set_name, order, mythics, rares, uncommons, commons, collate, interpret, collation)
    known_sets[set_abbr] = exp
    if extra_init != None:
        extra_init(exp)

#-----------------------------------------
# Eventide
#-----------------------------------------
if os.path.exists('./expansions/eventide.py'):
    collate = None
    interpret = None
    mythics = None
    extra_init = None
    collation = COLLATE_PRE_SHARDS
    from eventide import *
    exp = Expansion(set_abbr, set_name, order, mythics, rares, uncommons, commons, collate, interpret, collation)
    known_sets[set_abbr] = exp
    if extra_init != None:
        extra_init(exp)

#-----------------------------------------
# Cuboid
#-----------------------------------------
if os.path.exists('./expansions/cuboid.py'):
    collate = None
    interpret = None
    mythics = None
    extra_init = None
    collation = COLLATE_SPECIAL
    from cuboid import *
    exp = Expansion(set_abbr, set_name, order, mythics, rares, uncommons, commons, collate, interpret, collation)
    known_sets[set_abbr] = exp
    if extra_init != None:
        extra_init(exp)


#-----------------------------------------
# Shards of Alara
#-----------------------------------------
if os.path.exists('./expansions/shards_of_alara.py'):
  collate = None
  interpret = None
  mythics = None
  extra_init = None
  from shards_of_alara import *
  exp = Expansion(set_abbr, set_name, order, mythics, rares, uncommons, commons, collate, interpret, collation)
  known_sets[set_abbr] = exp
  if extra_init != None:
      extra_init(exp)

#-----------------------------------------
# Tenth Edition
#-----------------------------------------
if os.path.exists('./expansions/tenth_edition.py'):
  collate = None
  interpret = None
  mythics = None
  extra_init = None
  from tenth_edition import *
  exp = Expansion(set_abbr, set_name, order, mythics, rares, uncommons, commons, collate, interpret, collation)
  known_sets[set_abbr] = exp
  if extra_init != None:
      extra_init(exp)

#-----------------------------------------
# Conflux
#-----------------------------------------
if os.path.exists('./expansions/conflux.py'):
  collate = None
  interpret = None
  mythics = None
  extra_init = None
  from conflux import *
  exp = Expansion(set_abbr, set_name, order, mythics, rares, uncommons, commons, collate, interpret, collation)
  known_sets[set_abbr] = exp
  if extra_init != None:
      extra_init(exp)

#-----------------------------------------
# Alara Reborn
#-----------------------------------------
if os.path.exists('./expansions/alara_reborn.py'):
  collate = None
  interpret = None
  mythics = None
  extra_init = None
  from alara_reborn import *
  exp = Expansion(set_abbr, set_name, order, mythics, rares, uncommons, commons, collate, interpret, collation)
  known_sets[set_abbr] = exp
  if extra_init != None:
      extra_init(exp)

#-----------------------------------------
# Zendikar
#-----------------------------------------
if os.path.exists('./expansions/zendikar.py'):
  collate = None
  interpret = None
  mythics = None
  extra_init = None
  from zendikar import *
  exp = Expansion(set_abbr, set_name, order, mythics, rares, uncommons, commons, collate, interpret, collation)
  known_sets[set_abbr] = exp
  if extra_init != None:
      extra_init(exp)

#-----------------------------------------
# Magic 2010
#-----------------------------------------
if os.path.exists('./expansions/magic_2010.py'):
  collate = None
  interpret = None
  mythics = None
  extra_init = None
  from magic_2010 import *
  exp = Expansion(set_abbr, set_name, order, mythics, rares, uncommons, commons, collate, interpret, collation)
  known_sets[set_abbr] = exp
  if extra_init != None:
      extra_init(exp)

#-----------------------------------------
# Magic 2010
#-----------------------------------------
if os.path.exists('./expansions/magic_2010.py'):
  collate = None
  interpret = None
  mythics = None
  extra_init = None
  from magic_2010 import *
  exp = Expansion(set_abbr, set_name, order, mythics, rares, uncommons, commons, collate, interpret, collation)
  known_sets[set_abbr] = exp
  if extra_init != None:
      extra_init(exp)

#-----------------------------------------
# Zendikar
#-----------------------------------------
if os.path.exists('./expansions/zendikar.py'):
  collate = None
  interpret = None
  mythics = None
  extra_init = None
  from zendikar import *
  exp = Expansion(set_abbr, set_name, order, mythics, rares, uncommons, commons, collate, interpret, collation)
  known_sets[set_abbr] = exp
  if extra_init != None:
      extra_init(exp)

#-----------------------------------------
# Worldwake
#-----------------------------------------
if os.path.exists('./expansions/worldwake.py'):
  collate = None
  interpret = None
  mythics = None
  extra_init = None
  from worldwake import *
  exp = Expansion(set_abbr, set_name, order, mythics, rares, uncommons, commons, collate, interpret, collation)
  known_sets[set_abbr] = exp
  if extra_init != None:
      extra_init(exp)

#-----------------------------------------
# Rise of the Eldrazi
#-----------------------------------------
if os.path.exists('./expansions/rise_of_the_eldrazi.py'):
  collate = None
  interpret = None
  mythics = None
  extra_init = None
  from rise_of_the_eldrazi import *
  exp = Expansion(set_abbr, set_name, order, mythics, rares, uncommons, commons, collate, interpret, collation)
  known_sets[set_abbr] = exp
  if extra_init != None:
      extra_init(exp)

#-----------------------------------------
# Magic 2011
#-----------------------------------------
if os.path.exists('./expansions/magic_2011.py'):
  collate = None
  interpret = None
  mythics = None
  extra_init = None
  from magic_2011 import *
  exp = Expansion(set_abbr, set_name, order, mythics, rares, uncommons, commons, collate, interpret, collation)
  known_sets[set_abbr] = exp
  if extra_init != None:
      extra_init(exp)



#-----------------------------------------
# Sienira
#-----------------------------------------
if os.path.exists('./expansions/sienira.py'):
  collate = None
  interpret = None
  mythics = None
  extra_init = None
  from sienira import *
  exp = Expansion(set_abbr, set_name, order, mythics, rares, uncommons, commons, collate, interpret, collation)
  known_sets[set_abbr] = exp
  if extra_init != None:
      extra_init(exp)