Page 318 -
P. 318

app code, continued




                   def send_to_server(url, post_data=None):
                       if post_data:
                           page = urlopen(url, urlencode(post_data))
                       else:
                           page = urlopen(url)
                       return(page.read().decode("utf8"))

                   app = android.Android()


                   def status_update(msg, how_long=2):
                       app.makeToast(msg)
                       time.sleep(how_long)

                   status_update(hello_msg)


                   athlete_names = sorted(json.loads(send_to_server(web_server + get_names_cgi)))

                   app.dialogCreateAlert(list_title)
                   app.dialogSetSingleChoiceItems(athlete_names)
                   app.dialogSetPositiveButtonText('Select')
                   app.dialogSetNegativeButtonText('Quit')
                   app.dialogShow()
                   resp = app.dialogGetResponse().result

                   if resp['which'] in ('positive'):
                       selected_athlete = app.dialogGetSelectedItems().result[0]
                       which_athlete = athlete_names[selected_athlete]
                       athlete = json.loads(send_to_server(web_server + get_data_cgi,
                                                       {'which_athlete': which_athlete}))

                       athlete_title = athlete['Name'] + ' (' + athlete['DOB'] + '), top 3 times:'
                       app.dialogCreateAlert(athlete_title)
                       app.dialogSetItems(athlete['Top3'])
                       app.dialogSetPositiveButtonText('OK')
                       app.dialogShow()
                       resp = app.dialogGetResponse().result

                   status_update(quit_msg)




           282    Chapter 8
   313   314   315   316   317   318   319   320   321   322   323