def delete_keywords(): ids = request.values['keywordIds'].split(',') keywords = Keyword.get_all(Keyword.keyword_id.in_(ids)) for keyword in keywords: keyword.categories = [] db_session.delete(keyword) db_session.commit() return HttpResponse('Keywords deleted.')
def keywords_categorizer(): keywords_tree = Keyword.get_all_hierarchically() return render_template('keywords_categorizer.html', title="Keywords Categorizer", keywords_tree=keywords_tree, unassociated_keywords=Keyword.get_all( and_(~Keyword.categories.any(), Keyword.value != None)))
def menu(option): #carga las palabras claves iniciar el programa keywords = Keyword.get_all() dominio = "google.com" #Mostrara al Usuario el menu de Opciones a escoger if option == "1": kw = input("Introduzca la palabra clave que desea agregar: ") keywords = agregar_keywords(kw) print("Se ha cargado la palabra clave...") elif option == "2": carga_keywords() elif option == "3": keywords = mostrar_keywords() if (len(keywords) ) > 20: # En caso de que la lista sea mayor a 20 palabras claves cont = 0 for i, j in enumerate(keywords, 1): if cont <= 19: print(i, j) cont += 1 else: stop = input("Presione cualquier tecla para continuar") cont = 0 elif (len(keywords) ) < 20: # En caso de que la lista sea menor a 20 palabras claves for i, j in enumerate(keywords, 1): print(i, j) elif option == "4": kw = input("Introduzca la palabra clave que desea buscar: ") position = comprueba_keywords(kw) if position == None or position >= 100: print( "La palabra clave {} para el dominio {} se encuentra en la posicion {}\n" .format(kw, dominio, "+100")) else: print( "La palabra clave {} para el dominio {} se encuentra en la posicion {}\n" .format(kw, dominio, position))
def create_keywords(): values = request.values['keyword'].split(',') keywords = Keyword.get_all(Keyword.value.in_(values)) if len(keywords) == 0: keywords = [add_to_db(Keyword(), value=v) for v in values] return HttpResponse( { 'keywords': [{ 'value': k.value, 'id': k.keyword_id } for k in keywords] }, 202) else: if len(keywords[0].categories) > 0: return HttpResponse( 'Keyword "{0}" already exists in category "{1}"!'.format( keywords[0].value, keywords[0].categories[0].name), 302) else: return HttpResponse( 'Keyword "{0}" already exists!'.format(keywords[0].value), 302)
def carga_keywords(): # aqui se va a abrir el archivo txt y se metera en la base de datos contador = 0 try: with open('keywords.txt') as file: for line in file: line = line.replace('\n', '').lower() if line != "": keywords = Keyword(line) keywords.save() # aqui voy a llamar a comprobar y me retorna la posicion contador += 1 key = Keyword(line, 12) key.update() except FileNotFoundError: print("No se encuentra Fichero keywords.txt") return Keyword.get_all()
def find_category(description): """Take the description and try to associate it with a category It also add it to the keyword table, so that the admin can associate it to some categories """ if not description: return None Keyword.generate_from_description(description) categories = {} for word in description.split(' '): keywords = Keyword.get_all(Keyword.value.contains(word)) for keyword in keywords: if len(keyword.categories) > 0: category_name = keyword.categories[0].name categories[category_name] = 1 + categories.get( category_name, 0) if len(categories) == 0: return None else: category_name = max(categories.items(), key=operator.itemgetter(1))[0] return Category.get(name=category_name)
def remove_all_keywords(): for keyword in Keyword.get_all(): Keyword.delete(keyword)
def keywords_creator(): remaining_keywords = Keyword.get_all(value=None) return render_template('keywords_creator.html', title="Keywords Creator", keywords=remaining_keywords)