I am trying to write data from Strava to a treeview, however, when it writes I will get the error
_tkinter.TclError: character U+1f1e8 is above the range (U+0000-U+FFFF) allowed by Tcl
I realised this was due to someone using an emoji in the name of their ride. I wrote code that only skips some Unicode values and not others. My code is seen below:
count = 0
distanceM = 0
distanceML = 0
elevationM = 0
elevationFT = 0
full_name = ""
for row in strava.get_children():
strava.delete(row)
auth_url = "https://www.strava.com/oauth/token"
activites_url = "https://www.strava.com/api/v3/clubs/2885/activities"
payload = {
'client_id': "XXXXX",
'client_secret': 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
'refresh_token': 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
'grant_type': "refresh_token",
'f': 'json'
}
res = requests.post(auth_url, data=payload, verify=False)
access_token = res.json()['access_token']
ride_name = ""
header = {'Authorization': 'Bearer ' + access_token}
param = {'per_page':200, 'page':1}
my_dataset = requests.get(activites_url, headers=header, params=param).json()
for i in range (0,len(my_dataset)):
entry = 1
strava.tag_configure('odd',background = "#fc4d03")
strava.tag_configure('even', background = 'white')
full_name = str(my_dataset[i]["athlete"]["firstname"])+ " " + str(my_dataset[i]["athlete"]["lastname"])
distanceM = int(my_dataset[i]["distance"])
distanceML = distanceM * 0.000621371
distanceML = '%.2f'%(distanceML)
elevationM = int(my_dataset[i]["total_elevation_gain"])
elevationFT = elevationM * 3.28084
elevationFT = '%.0f'%(elevationFT)
ride_name = (my_dataset[i]["name"])
try:
ride_name.encode('ascii')
except UnicodeEncodeError:
entry = 0
if entry == 1:
if count%2 == 0:
strava.insert("", "end", text="", values=(full_name,my_dataset[i]["name"],distanceML,elevationFT), tag = ('even',))
else:
strava.insert("", "end", text="", values=(full_name,my_dataset[i]["name"],distanceML,elevationFT), tag = ('odd',))
count = count+1
question from:
https://stackoverflow.com/questions/65919340/trying-to-skip-a-unicode-value-in-a-list-to-write-to-a-treeview 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…