def updateCoinDetails(self):
        myModelObj = MyModel()
        coin_data = myModelObj.get_coin_details()
        # print(coin_data)
        # coin_data = ["bitcoin","ethrium"]
        # source_id = 1
        # print(coin_data[0][1])
        for coin_name in coin_data:
            # print(coin_name[1])
            URL = "https://coinmarketcap.com/currencies/" + coin_name[
                1] + "/historical-data/"
            # URL = "https://coinmarketcap.com/currencies/bitcoin/historical-data/"
            # URL = "https://coinmarketcap.com/currencies/quantum-resistant-ledger/historical-data/"
            coinmarketcapObj = CoinmarketcapModel(URL)
            rawData = coinmarketcapObj.get_coin_details_for_update()
            # print("raw data = ", rawData)
            updateData = []
            if rawData:
                try:
                    name = rawData[0]
                    # print(name)
                    name = name.replace('Historical data for ', '')
                # print(name)
                except:
                    name = ""
                try:

                    url = rawData[1]
                    # print(url)
                    url = re.sub(r'http[s]?://', '', url)
                    url = re.sub(r'www[a-z0-9]?\.', '', url)
                    url = re.sub(r'/.*', '', url)
                    # print(url)
                except:
                    url = ""
                if name:
                    norm_name = name
                    # print(norm_name)
                    norm_name = re.sub(r'[\.\-_]*', '', norm_name)
                    norm_name = re.sub(r'\s*', '', norm_name)
                    norm_name = re.sub(r'\(.*\)', '', norm_name)
                    norm_name = norm_name.lower().strip()
                else:
                    norm_name = ""
                # print(norm_name)

                updateData.append(name)
                updateData.append(norm_name)
                updateData.append(url)
                updateData.append(coin_name[1])
                print(updateData)

            myModelObj = MyModel()
            myModelObj.updateCoinDetails(data=updateData)
    def get_daily_data(self):
        myModelObj = MyModel()
        coin_data = myModelObj.get_coin_details()
        # print(coin_data)
        # exit()
        # coin_data = [(728260,'EFX', 0, 'effect-ai', None, None, None)]
        source_id = 1
        # print(coin_data[0][1])
        for coin_name in coin_data:
            # print(coin_name[1])
            coin_id = coin_name[0]
            URL = "https://coinmarketcap.com/currencies/" + coin_name[
                3] + "/historical-data/"
            # URL = "https://coinmarketcap.com/currencies/bitcoin/historical-data/"
            # URL = "https://coinmarketcap.com/currencies/quantum-resistant-ledger/historical-data/"
            coinmarketcapObj = CoinmarketcapModel(URL)
            rawData = coinmarketcapObj.get_data()
            # print("raw data = ",rawData)
            # exit()
            updateData = []
            if rawData:
                try:
                    name = rawData[0][7]
                    print(name)
                    name = name.replace('Historical data for ', '')
                    print("name = ", name)
                    url = rawData[0][8]
                    print(url)
                    url = re.sub(r'http[s]?://', '', url)
                    url = re.sub(r'www[a-z0-9]?\.', '', url)
                    url = re.sub(r'/.*', '', url)
                    print("url  = ", url)
                    norm_name = name
                    print(norm_name)
                    norm_name = re.sub(r'[\.\-_]*', '', norm_name)
                    norm_name = re.sub(r'\s*', '', norm_name)
                    norm_name = re.sub(r'\(.*\)', '', norm_name)
                    norm_name = norm_name.lower().strip()
                    print("norm name = ", norm_name)
                    updateData.append(name)
                    updateData.append(norm_name)
                    updateData.append(url)
                    updateData.append(coin_id)
                    print(updateData)
                except:
                    pass
            firstRecord = []
            if rawData:
                try:
                    firstRecord.append(rawData[0])
                except:
                    pass
            else:
                firstRecord = []
            cleanData = []
            ### cleaing data
            for item in firstRecord:
                idate = item[0]
                myDate = datetime.strptime(idate, '%b %d, %Y').date()
                if item[1] == "-":
                    open = 0
                else:
                    open = float(item[1].replace(',', ''))
                # high = float(item[2])
                if item[2] == "-":
                    high = 0
                else:
                    high = float(item[2].replace(',', ''))
                # low = float(item[3])
                if item[3] == "-":
                    low = 0
                else:
                    low = float(item[3].replace(',', ''))
                # close = float(item[4])
                if item[4] == "-":
                    close = 0
                else:
                    close = float(item[4].replace(',', ''))
                if item[5] == "-":
                    volume = 0
                else:
                    volume = float(item[5].replace(',', ''))
                if item[6] == "-":
                    marketCap = 0
                else:
                    marketCap = float(item[6].replace(',', ''))

                #######
                try:
                    del item[7]
                    del item[7]
                except:
                    pass

                item.append(coin_id)
                item.append(source_id)
                item[0] = myDate
                item[1] = open
                item[2] = high
                item[3] = low
                item[4] = close
                item[5] = volume
                item[6] = marketCap

                # print(item)
                cleanData.append(item)

            print(cleanData)
            # exit()
            myModelObj = MyModel()
            myModelObj.insert_coin_price_daily(data=cleanData)
            #
            myModelObj1 = MyModel()
            myModelObj1.updateCoinDetails(data=updateData)