Skip to content
Snippets Groups Projects
Commit d503d522 authored by ale's avatar ale
Browse files

add the search log

parent 5118a672
No related branches found
No related tags found
No related merge requests found
......@@ -18,6 +18,7 @@ class SetTextFactory(PoolListener):
def init_db(uri):
# Import all ORM modules here, so that 'create_all' can find them.
from djrandom.model import mp3, playlist
engine = create_engine(uri, listeners=[SetTextFactory()],
pool_recycle=1800)
......
......@@ -4,7 +4,7 @@ from flask import Flask, request, Response, abort, jsonify, render_template, g
from flask.helpers import send_file
from djrandom import utils
from djrandom.database import Session
from djrandom.model.mp3 import MP3, PlayLog
from djrandom.model.mp3 import MP3, PlayLog, SearchLog
from djrandom.model.playlist import Playlist
from djrandom.frontend import app, svcs, require_auth
from sqlalchemy import distinct
......@@ -131,6 +131,10 @@ def search_json():
resultiter = svcs['searcher'].search(query, n=num_results)
results = [{'score': score, 'sha1': sha1}
for (score, sha1) in resultiter]
if results:
# Save this query in the search log.
Session.add(SearchLog.add(query, g.userid))
Session.commit()
return jsonify(results=results)
......
from sqlalchemy import *
from datetime import datetime
from djrandom.database import Base
......@@ -63,3 +64,16 @@ class PlayLog(Base):
hashes = [None] * n
yield (plog.sha1, hashes)
class SearchLog(Base):
__tablename__ = 'searchlog'
userid = Column(String(40), index=True)
query = Column(String(256))
stamp = Column(DateTime())
@classmethod
def add(cls, query_str, userid):
return cls(query=query_str, userid=userid, stamp=datetime.now())
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment