Entropy/DistributionUGCInterface:
- search functions with SQL offset now return a tuple containing found data and available rows git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@2653 cd1c1023-2f26-0410-ae45-c471fc1f0318
This commit is contained in:
+36
-8
@@ -18234,9 +18234,16 @@ class DistributionUGCInterface(RemoteDbSkelInterface):
|
||||
elif order_by == "downloads":
|
||||
order_by_string = 'ORDER BY tot_downloads DESC'
|
||||
|
||||
self.execute_query('SELECT *, avg(entropy_votes.`vote`) as avg_vote, sum(entropy_downloads.`count`) as `tot_downloads`, entropy_user_scores.`score` as `score` FROM entropy_docs,entropy_base,entropy_votes,entropy_downloads,entropy_user_scores WHERE entropy_base.`key` LIKE %s AND entropy_docs.`iddoctype` IN '+iddoctypes+' AND entropy_docs.`idkey` = entropy_base.`idkey` AND entropy_votes.`idkey` = entropy_base.`idkey` AND entropy_downloads.`idkey` = entropy_base.`idkey` AND entropy_docs.`userid` = entropy_user_scores.`userid` GROUP BY entropy_docs.`iddoc` '+order_by_string+' LIMIT %s,%s', search_params)
|
||||
self.execute_query('SELECT SQL_CALC_FOUND_ROWS *, avg(entropy_votes.`vote`) as avg_vote, sum(entropy_downloads.`count`) as `tot_downloads`, entropy_user_scores.`score` as `score` FROM entropy_docs,entropy_base,entropy_votes,entropy_downloads,entropy_user_scores WHERE entropy_base.`key` LIKE %s AND entropy_docs.`iddoctype` IN '+iddoctypes+' AND entropy_docs.`idkey` = entropy_base.`idkey` AND entropy_votes.`idkey` = entropy_base.`idkey` AND entropy_downloads.`idkey` = entropy_base.`idkey` AND entropy_docs.`userid` = entropy_user_scores.`userid` GROUP BY entropy_docs.`iddoc` '+order_by_string+' LIMIT %s,%s', search_params)
|
||||
|
||||
return self.fetchall()
|
||||
results = self.fetchall()
|
||||
self.execute_query('SELECT FOUND_ROWS() as count')
|
||||
data = self.fetchone()
|
||||
found_rows = 0
|
||||
if isinstance(data,dict):
|
||||
if data.has_key('count'):
|
||||
found_rows = data.get('count')
|
||||
return results, found_rows
|
||||
|
||||
def search_username_items(self, pkgkey_string, iddoctypes = None, results_offset = 0, results_limit = 30, order_by = None):
|
||||
self.check_connection()
|
||||
@@ -18258,9 +18265,16 @@ class DistributionUGCInterface(RemoteDbSkelInterface):
|
||||
elif order_by == "downloads":
|
||||
order_by_string = 'ORDER BY tot_downloads DESC'
|
||||
|
||||
self.execute_query('SELECT *, avg(entropy_votes.`vote`) as avg_vote, sum(entropy_downloads.`count`) as `tot_downloads`, entropy_user_scores.`score` as `score` FROM entropy_docs,entropy_base,entropy_votes,entropy_downloads,entropy_user_scores WHERE entropy_docs.`username` LIKE %s AND entropy_docs.`iddoctype` IN '+iddoctypes+' AND entropy_docs.`idkey` = entropy_base.`idkey` AND entropy_votes.`idkey` = entropy_base.`idkey` AND entropy_downloads.`idkey` = entropy_base.`idkey` AND entropy_docs.`userid` = entropy_user_scores.`userid` GROUP BY entropy_docs.`iddoc` '+order_by_string+' LIMIT %s,%s', search_params)
|
||||
self.execute_query('SELECT SQL_CALC_FOUND_ROWS *, avg(entropy_votes.`vote`) as avg_vote, sum(entropy_downloads.`count`) as `tot_downloads`, entropy_user_scores.`score` as `score` FROM entropy_docs,entropy_base,entropy_votes,entropy_downloads,entropy_user_scores WHERE entropy_docs.`username` LIKE %s AND entropy_docs.`iddoctype` IN '+iddoctypes+' AND entropy_docs.`idkey` = entropy_base.`idkey` AND entropy_votes.`idkey` = entropy_base.`idkey` AND entropy_downloads.`idkey` = entropy_base.`idkey` AND entropy_docs.`userid` = entropy_user_scores.`userid` GROUP BY entropy_docs.`iddoc` '+order_by_string+' LIMIT %s,%s', search_params)
|
||||
|
||||
return self.fetchall()
|
||||
results = self.fetchall()
|
||||
self.execute_query('SELECT FOUND_ROWS() as count')
|
||||
data = self.fetchone()
|
||||
found_rows = 0
|
||||
if isinstance(data,dict):
|
||||
if data.has_key('count'):
|
||||
found_rows = data.get('count')
|
||||
return results, found_rows
|
||||
|
||||
def search_content_items(self, pkgkey_string, iddoctypes = None, results_offset = 0, results_limit = 30, order_by = None):
|
||||
self.check_connection()
|
||||
@@ -18281,9 +18295,16 @@ class DistributionUGCInterface(RemoteDbSkelInterface):
|
||||
elif order_by == "downloads":
|
||||
order_by_string = 'ORDER BY tot_downloads DESC'
|
||||
|
||||
self.execute_query('SELECT *, avg(entropy_votes.`vote`) as avg_vote, sum(entropy_downloads.`count`) as `tot_downloads`, entropy_user_scores.`score` as `score` FROM entropy_docs,entropy_base,entropy_votes,entropy_downloads,entropy_user_scores WHERE (entropy_docs.`title` LIKE %s OR entropy_docs.`description` LIKE %s OR entropy_docs.`ddata` LIKE %s) AND entropy_docs.`iddoctype` IN '+iddoctypes+' AND entropy_docs.`idkey` = entropy_base.`idkey` AND entropy_votes.`idkey` = entropy_base.`idkey` AND entropy_downloads.`idkey` = entropy_base.`idkey` AND entropy_docs.`userid` = entropy_user_scores.`userid` GROUP BY entropy_docs.`iddoc` '+order_by_string+' LIMIT %s,%s', search_params)
|
||||
self.execute_query('SELECT SQL_CALC_FOUND_ROWS *, avg(entropy_votes.`vote`) as avg_vote, sum(entropy_downloads.`count`) as `tot_downloads`, entropy_user_scores.`score` as `score` FROM entropy_docs,entropy_base,entropy_votes,entropy_downloads,entropy_user_scores WHERE (entropy_docs.`title` LIKE %s OR entropy_docs.`description` LIKE %s OR entropy_docs.`ddata` LIKE %s) AND entropy_docs.`iddoctype` IN '+iddoctypes+' AND entropy_docs.`idkey` = entropy_base.`idkey` AND entropy_votes.`idkey` = entropy_base.`idkey` AND entropy_downloads.`idkey` = entropy_base.`idkey` AND entropy_docs.`userid` = entropy_user_scores.`userid` GROUP BY entropy_docs.`iddoc` '+order_by_string+' LIMIT %s,%s', search_params)
|
||||
|
||||
return self.fetchall()
|
||||
results = self.fetchall()
|
||||
self.execute_query('SELECT FOUND_ROWS() as count')
|
||||
data = self.fetchone()
|
||||
found_rows = 0
|
||||
if isinstance(data,dict):
|
||||
if data.has_key('count'):
|
||||
found_rows = data.get('count')
|
||||
return results, found_rows
|
||||
|
||||
def search_keyword_items(self, keyword_string, iddoctypes = None, results_offset = 0, results_limit = 30, order_by = None):
|
||||
self.check_connection()
|
||||
@@ -18305,9 +18326,16 @@ class DistributionUGCInterface(RemoteDbSkelInterface):
|
||||
elif order_by == "downloads":
|
||||
order_by_string = 'ORDER BY tot_downloads DESC'
|
||||
|
||||
self.execute_query('SELECT *, avg(entropy_votes.`vote`) as avg_vote, sum(entropy_downloads.`count`) as `tot_downloads`, entropy_user_scores.`score` as `score` FROM entropy_docs,entropy_base,entropy_docs_keywords,entropy_votes,entropy_downloads,entropy_user_scores WHERE entropy_docs_keywords.`keyword` LIKE %s AND entropy_docs.`iddoctype` IN '+iddoctypes+' AND entropy_docs.`idkey` = entropy_base.`idkey` AND entropy_docs_keywords.`iddoc` = entropy_docs.`iddoc` AND entropy_votes.`idkey` = entropy_base.`idkey` AND entropy_downloads.`idkey` = entropy_base.`idkey` AND entropy_docs.`userid` = entropy_user_scores.`userid` GROUP BY entropy_docs.`iddoc` '+order_by_string+' LIMIT %s,%s', search_params)
|
||||
self.execute_query('SELECT SQL_CALC_FOUND_ROWS *, avg(entropy_votes.`vote`) as avg_vote, sum(entropy_downloads.`count`) as `tot_downloads`, entropy_user_scores.`score` as `score` FROM entropy_docs,entropy_base,entropy_docs_keywords,entropy_votes,entropy_downloads,entropy_user_scores WHERE entropy_docs_keywords.`keyword` LIKE %s AND entropy_docs.`iddoctype` IN '+iddoctypes+' AND entropy_docs.`idkey` = entropy_base.`idkey` AND entropy_docs_keywords.`iddoc` = entropy_docs.`iddoc` AND entropy_votes.`idkey` = entropy_base.`idkey` AND entropy_downloads.`idkey` = entropy_base.`idkey` AND entropy_docs.`userid` = entropy_user_scores.`userid` GROUP BY entropy_docs.`iddoc` '+order_by_string+' LIMIT %s,%s', search_params)
|
||||
|
||||
return self.fetchall()
|
||||
results = self.fetchall()
|
||||
self.execute_query('SELECT FOUND_ROWS() as count')
|
||||
data = self.fetchone()
|
||||
found_rows = 0
|
||||
if isinstance(data,dict):
|
||||
if data.has_key('count'):
|
||||
found_rows = data.get('count')
|
||||
return results, found_rows
|
||||
|
||||
def handle_pkgkey(self, key):
|
||||
if not self.is_pkgkey_available(key):
|
||||
|
||||
Reference in New Issue
Block a user