def tag(): """Endpoint for saving tags""" data = request.get_json() cite = data['cite'] fnid = data['fnid'] tags = data['tags'] type = data['type'] data = data['data'] if data in db[fnid]: # Update tags # Assume the type hasn't changed if tags: db[fnid][data]['tags'] = tags # If no tags, delete this else: del db[fnid][data] elif tags: # Add new entry db[fnid][data] = {'type': type, 'tags': tags} db.sources[fnid] = cite db.save() return jsonify(ok=True)
def url2hash(): url = request.values.get('url') if url is None: return '' else: if not url.startswith('http://'): url = 'http://' + url return db.save(url)
def test_save(set, get): db.save(url) set.assert_called() get.assert_called()
def save_stats(event): population = event.data['population'] best_genome = population.get_best_genome() # average_fitness = reduce(lambda avg, g: avg + g.fitness, population.genomes, 0) / len(population.genomes) fitness_values = [g.fitness for g in population.genomes] average_fitness = average(fitness_values) std_fitness = std(fitness_values) genomes = [{"serial": g.serial, "fitness": g.fitness, "pngPath": g.pngPath} for g in population.genomes] duration_run = int(time() - _time_run) global _time_generation if _time_generation: duration_generation = int(time() - _time_generation) else: duration_generation = 0 _time_generation = time() db.save('generation', population.generation) db.save('best_genome', best_genome.serial) db.save('best_fitness', best_genome.fitness) db.save('average_fitness', average_fitness) db.save('std_fitness', std_fitness) db.save('genomes', json.dumps(genomes)) db.save('duration_run', duration_run) db.save('duration_generation', duration_generation)