import re
# import random
from .elementLite import Satellite, GroundStation
from .qlearner import QlearnerStorage, QlearnerCost
from .generalFunctions import matchVariance


class FederateLite():
    def __init__(self, name, context, costSGL, costISL, storagePenalty = 100, strategy = 1):
        """
        @param name: the name of this federate
        @type name: L{str}
        @param initialCash: the initial cash for this federate
        @type initialCash: L{float}
        @param elementlist: the elementlist controlled by this federate
        @type elementlist: L{list}
        @param contracts: the contracts owned by this federate
        @type contracts: L{list}
        @param operations: the operations model of this federate
        @type operations: L{Operations}
        """
        self.context = context
        self.name = name
        # self.initialCash = initialCash
        self.cash = 0 #self.initialCash
        self.elements = []
        self.satellites = []