improve results from /random

pull/4/head
cblgh 2021-03-12 18:00:24 +01:00
rodzic 63f0fc22a9
commit 4c4705af43
2 zmienionych plików z 26 dodań i 2 usunięć

7
cli.go
Wyświetl plik

@ -90,6 +90,13 @@ func main() {
util.DatabaseDoesNotExist(config.Data.Database)
}
interactiveMode(config.Data.Database)
case "random":
exists := util.CheckFileExists(config.Data.Database)
if !exists {
util.DatabaseDoesNotExist(config.Data.Database)
}
db := database.InitDB(config.Data.Database)
fmt.Println(database.GetRandomPage(db))
case "host":
exists := util.CheckFileExists(config.Data.Database)
if !exists {

Wyświetl plik

@ -110,11 +110,28 @@ func GetWordCount(db *sql.DB) int {
return countQuery(db, "inv_index")
}
func GetRandomPage(db *sql.DB) string {
rows, err := db.Query("SELECT url FROM pages ORDER BY RANDOM() LIMIT 1;")
func GetRandomDomain(db *sql.DB) string {
rows, err := db.Query("SELECT domain FROM domains ORDER BY RANDOM() LIMIT 1;")
util.Check(err)
defer rows.Close()
var domain string
for rows.Next() {
err = rows.Scan(&domain)
util.Check(err)
}
return domain
}
func GetRandomPage(db *sql.DB) string {
domain := GetRandomDomain(db)
stmt, err := db.Prepare("SELECT url FROM pages WHERE domain = ? ORDER BY RANDOM() LIMIT 1;")
defer stmt.Close()
util.Check(err)
rows, err := stmt.Query(domain)
defer rows.Close()
var link string
for rows.Next() {
err = rows.Scan(&link)