small progress
This commit is contained in:
88
main.go
88
main.go
@ -1,20 +1,21 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bufio"
|
||||||
"log"
|
"log"
|
||||||
|
"net/url"
|
||||||
|
"os"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"github.com/ncruces/go-sqlite3"
|
"github.com/ncruces/go-sqlite3"
|
||||||
_ "github.com/ncruces/go-sqlite3/embed"
|
_ "github.com/ncruces/go-sqlite3/embed"
|
||||||
)
|
)
|
||||||
|
|
||||||
const memory = ":memory:"
|
const memory = ":memory:"
|
||||||
|
var db *sqlite3.Conn
|
||||||
|
|
||||||
func main() {
|
func initDb() error {
|
||||||
db, err := sqlite3.Open(memory)
|
var err error
|
||||||
if err != nil {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Not necessary because I am currently saving the db in memory
|
/* Not necessary because I am currently saving the db in memory
|
||||||
sqlstmt := `
|
sqlstmt := `
|
||||||
DROP TABLE IF EXISTS artists;
|
DROP TABLE IF EXISTS artists;
|
||||||
@ -49,16 +50,9 @@ func main() {
|
|||||||
`
|
`
|
||||||
err = db.Exec(sqlstmt)
|
err = db.Exec(sqlstmt)
|
||||||
if err != nil {
|
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 = `
|
sqlstmt = `
|
||||||
SELECT name
|
SELECT name
|
||||||
FROM sqlite_schema
|
FROM sqlite_schema
|
||||||
@ -67,7 +61,7 @@ func main() {
|
|||||||
|
|
||||||
stmt, _, err := db.Prepare(sqlstmt)
|
stmt, _, err := db.Prepare(sqlstmt)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
return err
|
||||||
}
|
}
|
||||||
defer stmt.Close()
|
defer stmt.Close()
|
||||||
|
|
||||||
@ -75,14 +69,76 @@ func main() {
|
|||||||
log.Println("created table:", stmt.ColumnText(0))
|
log.Println("created table:", stmt.ColumnText(0))
|
||||||
}
|
}
|
||||||
if err := stmt.Err(); err != nil {
|
if err := stmt.Err(); err != nil {
|
||||||
log.Fatal(err)
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
err = stmt.Close()
|
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 {
|
if err != nil {
|
||||||
log.Fatal(err)
|
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()
|
err = db.Close()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
|
Reference in New Issue
Block a user