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): ...@@ -18,6 +18,7 @@ class SetTextFactory(PoolListener):
def init_db(uri): def init_db(uri):
# Import all ORM modules here, so that 'create_all' can find them.
from djrandom.model import mp3, playlist from djrandom.model import mp3, playlist
engine = create_engine(uri, listeners=[SetTextFactory()], engine = create_engine(uri, listeners=[SetTextFactory()],
pool_recycle=1800) pool_recycle=1800)
......
...@@ -4,7 +4,7 @@ from flask import Flask, request, Response, abort, jsonify, render_template, g ...@@ -4,7 +4,7 @@ from flask import Flask, request, Response, abort, jsonify, render_template, g
from flask.helpers import send_file from flask.helpers import send_file
from djrandom import utils from djrandom import utils
from djrandom.database import Session 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.model.playlist import Playlist
from djrandom.frontend import app, svcs, require_auth from djrandom.frontend import app, svcs, require_auth
from sqlalchemy import distinct from sqlalchemy import distinct
...@@ -131,6 +131,10 @@ def search_json(): ...@@ -131,6 +131,10 @@ def search_json():
resultiter = svcs['searcher'].search(query, n=num_results) resultiter = svcs['searcher'].search(query, n=num_results)
results = [{'score': score, 'sha1': sha1} results = [{'score': score, 'sha1': sha1}
for (score, sha1) in resultiter] 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) return jsonify(results=results)
......
from sqlalchemy import * from sqlalchemy import *
from datetime import datetime
from djrandom.database import Base from djrandom.database import Base
...@@ -63,3 +64,16 @@ class PlayLog(Base): ...@@ -63,3 +64,16 @@ class PlayLog(Base):
hashes = [None] * n hashes = [None] * n
yield (plog.sha1, hashes) 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