def get(self, start=None, fetch=None): ids = [] ii = 0 added = 0 skip = 10 saucer = Saucer() saucer.reset_stats() all_beers = saucer.getAllBeers() num_beers = len(all_beers) if fetch is not None: num_beers = int(fetch) if start is not None: ii = int(start) # Don't skip by more than requested if num_beers < skip: skip = num_beers while added < num_beers: beers = all_beers[ii:ii + skip] for beer in beers: ids.append(beer['id']) details = saucer.getBeerDetails(ids) num_details = len(details) if not num_details: break jj = 0 for det in details: tmp = Beer(name=beers[jj]['name'], type=beers[jj]['type'], style=det['Style:'], descr=det['Description:']) db.put(tmp) jj += 1 added += num_details ii += skip ids = [] template_values = {'fetch' : Saucer.fetch, 'san' : Saucer.san, 'details' : Saucer.create_details, 'added' : added, 'start' : start, 'requested' : fetch} path = os.path.join(os.path.dirname(__file__), 'templates/update.html') self.response.out.write(template.render(path, template_values))