As you got it working, it's good.
Anyway it's also possible to use similar script in web-browser console (F12 key), so here is my script, tested in Firefox. Edit the search link to filter activities…
You could delete all your activities, insure the default privacy setting in you account settings is what you want it to be, then upload all your activities again.
C:\Python34>python garmin_privacy.py --public
Username: vanessalobb
Password:
Traceback (most recent call last):
File "garmin_privacy.py", line 215, in <module>
main()
File "garmin_privacy.py", line 203, in main
fetch_json_from_url('connect.garmin.com/.../js
on/privacy/{0}'.format(activityId), value=options.privacy)
File "garmin_privacy.py", line 40, in fetch_json_from_url
with urllib.request.urlopen(request, timeout=30) as response:
File "C:\Python34\lib\urllib\request.py", line 161, in urlopen
return opener.open(url, data, timeout)
File "C:\Python34\lib\urllib\request.py", line 469, in open
response = meth(req, response)
File "C:\Python34\lib\urllib\request.py", line 579, in http_response
'http', request, response, code, msg, hdrs)
File "C:\Python34\lib\urllib\request.py", line 501, in error
result = self._call_chain(*args)
File "C:\Python34\lib\urllib\request.py", line 441, in _call_chain
result = func(*args)
File "C:\Python34\lib\urllib\request.py", line 684, in http_error_302
return self.parent.open(new, timeout=req.timeout)
File "C:\Python34\lib\urllib\request.py", line 469, in open
response = meth(req, response)
File "C:\Python34\lib\urllib\request.py", line 579, in http_response
'http', request, response, code, msg, hdrs)
File "C:\Python34\lib\urllib\request.py", line 507, in error
return self._call_chain(*args)
File "C:\Python34\lib\urllib\request.py", line 441, in _call_chain
result = func(*args)
File "C:\Python34\lib\urllib\request.py", line 587, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 500: Internal Server Error