class UserOverview(APIView):
    def __init__(self):
        # Passed back res with all games parsed with correct information from out database
        self.res = {}
        self.isPrivate = False
        # Steamid we will set by the URL parameter @steamid
        self.steamid = None
        self.vacInfo = []
        self.userDetails = []
        self.libraryCost = 0
        self.api = SteamApi()

    def getVacs(self):
        vacs = self.api.getVacInfo(self.steamid)
        print('vac res: ' + str(vacs))
        self.res['vacinfo'] = vacs

    def getUserDetails(self):
        userDetails = self.api.getUserDetails(self.steamid)
        if userDetails['response']['players']['player'][0].get(
                'communityvisibilitystate') == 1:
            self.isPrivate = True
            self.res['private'] = True
        self.res['userdetails'] = userDetails

    def get(self, request, *args, **kwargs):
        self.steamid = kwargs.get('steamid')
        self.getUserDetails()
        self.getVacs()
        return Response(self.res)
class UserSearch(APIView):
    def __init__(self):
        # Passed back res with all games parsed with correct information from out database
        self.res = {}
        self.isPrivate = False
        # Steamid we will set by the URL parameter @steamid
        self.url = None
        self.steamid = None
        self.userDetails = []
        self.IdOrVanity = None
        self.api = SteamApi()

    def getIdOrVanity(self):
        url = str(self.url)
        # Check if the profiles URL has the steamid, or is a vanity url
        if "steamcommunity" in url:

            # Is vanity, get the steamid from vanity with Steam API
            if "/id/" in url:
                vanityIDIndex = url.find('/id/')
                vanity = url[vanityIDIndex:].replace('/id/',
                                                     '').replace('/', '')
                self.steamid = self.api.resolveVanity(vanity)

            # Is ID, just set steamid to ID in URL
            if "/profiles" in url:
                IDIndex = url.find('/profiles/')
                ID = url[IDIndex:].replace('/profiles/', '').replace('/', '')
                self.steamid = ID

    def getUserDetails(self):
        userDetails = self.api.getUserDetails(self.steamid)
        if userDetails['response']['players']['player'][0].get(
                'communityvisibilitystate') == 1:
            self.isPrivate = True
            self.res['private'] = True
        self.res['userdetails'] = userDetails

    def get(self, request, *args, **kwargs):
        self.url = request.GET.get('url', '')
        print(str(self.url))
        self.getIdOrVanity()
        self.getUserDetails()
        return Response(self.res)