small progress

This commit is contained in:
2024-09-27 16:33:16 +02:00
parent c6ebde6b7b
commit 7d01019077

88
main.go
View File

@ -1,20 +1,21 @@
package main
import (
"bufio"
"log"
"net/url"
"os"
"strings"
"github.com/ncruces/go-sqlite3"
_ "github.com/ncruces/go-sqlite3/embed"
)
const memory = ":memory:"
var db *sqlite3.Conn
func main() {
db, err := sqlite3.Open(memory)
if err != nil {
log.Fatal(err)
}
func initDb() error {
var err error
/* Not necessary because I am currently saving the db in memory
sqlstmt := `
DROP TABLE IF EXISTS artists;
@ -49,16 +50,9 @@ func main() {
`
err = db.Exec(sqlstmt)
if err != nil {
log.Fatal(err)
return err
}
/*
err = db.Exec(`INSERT INTO users (id, name) VALUES (0, 'go'), (1, 'zig'), (2, 'whatever')`)
if err != nil {
log.Fatal(err)
}
*/
sqlstmt = `
SELECT name
FROM sqlite_schema
@ -67,7 +61,7 @@ func main() {
stmt, _, err := db.Prepare(sqlstmt)
if err != nil {
log.Fatal(err)
return err
}
defer stmt.Close()
@ -75,14 +69,76 @@ func main() {
log.Println("created table:", stmt.ColumnText(0))
}
if err := stmt.Err(); err != nil {
log.Fatal(err)
return err
}
err = stmt.Close()
if err != nil {
return err
}
return nil
}
func getArtistFromUrl(Url string) string {
if strings.Contains(Url, "rule34.xxx") {
unescapedUrl, err := url.QueryUnescape(Url)
if err != nil {
log.Fatal(err)
}
return unescapedUrl[51:]
}
if strings.Contains(Url, "kemono.su") {
return "Kemono"
}
if strings.Contains(Url, "coomer.su") {
return "Coomer"
}
return ""
}
func parseLinks(filename string) error {
file, err := os.Open(filename)
if err != nil {
return err
}
scanner := bufio.NewScanner(file)
for scanner.Scan() {
line := scanner.Text()
if strings.HasPrefix(line, "#") {
continue
}
if !strings.Contains(line, "DBPath") {
continue
}
}
err = file.Close()
if err != nil {
return err
}
return nil
}
func main() {
var err error
db, err = sqlite3.Open(memory)
if err != nil {
log.Fatal(err)
}
err = initDb()
if err != nil {
log.Fatal(err)
}
artist := getArtistFromUrl("https://rule34.xxx/index.php?page=post&s=list&tags=%27eadole")
log.Println("artist from url: ", artist)
err = db.Close()
if err != nil {
log.Fatal(err)