summaryrefslogtreecommitdiffstats
path: root/database/postgres/scrape.go
blob: db37ca8c1b503418716c23073ddde5e7adddb428 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package postgres

import (
	"database/sql"
	"github.com/NyaaPantsu/nyaa/common"
)

func (db *Database) RecordScrapes(scrape []common.ScrapeResult) (err error) {
	if len(scrape) > 0 {
		var tx *sql.Tx
		tx, err = db.conn.Begin()
		if err == nil {
			st := tx.Stmt(db.getPrepared(queryInsertScrape))
			for idx := range scrape {
				_, err = st.Exec(scrape[idx].Seeders, scrape[idx].Leechers, scrape[idx].Completed, scrape[idx].Date, scrape[idx].TorrentID)
				if err != nil {
					break
				}
			}
		}
		if err == nil {
			err = tx.Commit()
		} else {
			tx.Rollback()
		}
	}
	return
}