From af929459c7f49de1b372a0fbfea6572241b54084 Mon Sep 17 00:00:00 2001 From: reds Date: Sat, 6 May 2017 13:15:17 +0100 Subject: [PATCH 1/9] Added pagination to the bottom of the page --- templates/home.html | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/templates/home.html b/templates/home.html index 8e3ef6f4..6f578b40 100644 --- a/templates/home.html +++ b/templates/home.html @@ -46,6 +46,11 @@ {{end}} + {{end}} From 604d31156fcacf886fe03cfb966169ead73736c9 Mon Sep 17 00:00:00 2001 From: lc-guy Date: Sat, 6 May 2017 14:23:48 +0100 Subject: [PATCH 2/9] fix some typos somewhen is *technically* correct, but... it hasn't been in use since the 19th century, so I replaced it with the more common sometime. --- templates/FAQ.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/templates/FAQ.html b/templates/FAQ.html index aa1e01b9..b2ab379c 100644 --- a/templates/FAQ.html +++ b/templates/FAQ.html @@ -30,7 +30,7 @@

How are we recovering?

The aforementioned databases are being hosted at nyaa.pantsu.cat and sukebei.pantsu.cat. There is a search function, and (almost) full nyaa functionality should be coming soon. - Seeder/leecher statistics are possible via scraping and might be restored somewhen in the future, + Seeder/leecher statistics are possible via scraping and might be restored sometime in the future, since other feature take priority right now.

Are the torrents still working?

@@ -38,7 +38,7 @@ As long as the file is listed on the DHT network, business should carry on as usual.

How do I download the torrents?

-

Just use the magnet link. The magnet link will used by your BitTorrent client to look up the file on the +

Just use the magnet link. The magnet link will be used by your BitTorrent client to look up the file on the DHT network and it should download just fine.

The magnet link should look like this: magnet:?xt=urn:btih:[hash]&dn=[name]&tr=[tracker]&tr=[...]

@@ -51,7 +51,7 @@

https://github.com/ewhal/nyaa/issues.

Why is your shit written in Go?

-

It's the authors favorite programming language.

+

It's the author's favorite programming language.


nyaa.pantsu.cat and sukebei.pantsu.cat do not host any files.

From cbe8937df0ce0700ef0327f05c6a4f989c84ae87 Mon Sep 17 00:00:00 2001 From: reds Date: Sat, 6 May 2017 16:06:22 +0100 Subject: [PATCH 3/9] Night mode! --- css/style-night.css | 149 ++++++++++++++++++++++++++++++++++++++++++++ img/megumin.png | Bin 0 -> 19633 bytes 2 files changed, 149 insertions(+) create mode 100644 css/style-night.css create mode 100644 img/megumin.png diff --git a/css/style-night.css b/css/style-night.css new file mode 100644 index 00000000..b89441c5 --- /dev/null +++ b/css/style-night.css @@ -0,0 +1,149 @@ +/* Torrent status colors */ +.remake { + background-color: #a05013; +} +.trusted { + background-color: #238025; +} +.aplus { + background-color: #0777ab; +} + +/* modified copy of NyaaTorrent theme */ +#mainmenu { + background: #263238; + position: fixed; + color: #f2f2f2; + width: 100%; + z-index: 4; + border: 0px solid #263238; +} + +#mainmenu a { + color: #eff5f5; +} + +#container { + padding-top: 1.25em; +} + +#container.cont-home { + background: #29363d url(/img/megumin.png) no-repeat; +} +#container.cont-view { + background: #29363d url(/img/megumin.png) no-repeat; + background-size: 75px, 100px; +} + +body { + background-color: #264040; + color: #eff5f5; + font-family: Arial, sans-serif; + margin: 0; + padding: 0; +} + +.torrentNav { + text-align: center; +} + +.pagination { + background-color: #264040; +} + +.pagination > .active > a { + background-color: #ececec; + border-color: #ececec; + color: #337ab7; /* restore usual text color */ +} + +/* Links, Text */ +a { + color: #1cb093; + text-decoration : none; +} + +.download-btn { + font-size: 20px; +} + +.table-borderless > tbody > tr > td, +.table-borderless > tbody > tr > th, +.table-borderless > tfoot > tr > td, +.table-borderless > tfoot > tr > th, +.table-borderless > thead > tr > td, +.table-borderless > thead > tr > th { + border: none; +} + +.torrent-info .name { + font-weight: bold; + overflow: hidden; + padding-bottom: 3px; + padding-top: 3px; + word-wrap: break-word; +} + +.torrent-hash { + font-family: monospace; +} + +.torrent-info .filesize { + white-space: nowrap; +} + +.comment-row td:first-of-type { + vertical-align: top; + text-align: right; +} + +/* Table style & fixes */ +.table > tbody > tr > td { + /* fix bootstrap uglyness */ + vertical-align: middle; +} + +.table > tbody > tr > th, .table > tbody > tr > td { + padding: 4px; +} + +tr.torrent-info td.date { + white-space: nowrap; +} + +.custom-table-hover > tbody > tr:hover { + opacity: 0.82; +} + +.comment-row { + border-top: 1px solid #ddd; +} + +div.container div.blockBody:nth-of-type(2) table{table-layout:fixed;} +div.container div.blockBody:nth-of-type(2) table tr:first-of-type th:first-of-type, div.container div.blockBody:nth-of-type(2) table tr:first-of-type th:nth-of-type(5){width:10%;} +div.container div.blockBody:nth-of-type(2) table tr:first-of-type th:nth-of-type(3){width:15%;} +div.container div.blockBody:nth-of-type(2) table tr:first-of-type th:nth-of-type(4){width:19%;} +div.container div.blockBody:nth-of-type(2) table tr:first-of-type th:last-of-type{width:6%;} + +/* Mobile-friendly main table */ +@media only screen and (max-width: 700px) { + table, thead, tbody, tr { + display: block; + } + + th { + display: none; + } + + td { + display: inline-block; + } + + td:nth-of-type(1), td:nth-of-type(2) { + display: block; + } + + .table > tbody > tr > td { + border: none; + } +} diff --git a/img/megumin.png b/img/megumin.png new file mode 100644 index 0000000000000000000000000000000000000000..9a4097af93d05ccabbb71c6b38e57d4fca7b5b7c GIT binary patch literal 19633 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 ?#$NIE-z$DwqGhO*+&}kiRPWn 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 Date: Sat, 6 May 2017 14:43:15 +0200 Subject: [PATCH 4/9] filesize as int --- model/torrent.go | 4 ++-- util/format.go | 24 ++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 util/format.go diff --git a/model/torrent.go b/model/torrent.go index a1a84d98..eedbefdb 100644 --- a/model/torrent.go +++ b/model/torrent.go @@ -49,7 +49,7 @@ type Torrents struct { Hash string `gorm:"column:torrent_hash"` Date int64 `gorm:"column:date"` Downloads int `gorm:"column:downloads"` - Filesize string `gorm:"column:filesize"` + Filesize int64 `gorm:"column:filesize"` Description []byte `gorm:"column:description"` Comments []byte `gorm:"column:comments"` Statuses Statuses `gorm:"ForeignKey:status_id;AssociationForeignKey:status_id"` @@ -112,7 +112,7 @@ func (t *Torrents) ToJson() TorrentsJson { Status: t.Status, Hash: t.Hash, Date: time.Unix(t.Date, 0).Format(time.RFC3339), - Filesize: t.Filesize, + Filesize: util.FormatFilesize(t.Filesize), Description: template.HTML(util.UnZlib(t.Description)), Comments: b, Sub_Category: t.Sub_Categories.ToJson(), diff --git a/util/format.go b/util/format.go new file mode 100644 index 00000000..fb2cbb1d --- /dev/null +++ b/util/format.go @@ -0,0 +1,24 @@ +package util + +import ( + "fmt" +) + +func FormatFilesize(bytes int64) string { + var unit string + var value float64 + if bytes > 1024*1024*1024 { + unit = "GiB" + value = float64(bytes) / (1024*1024*1024) + } else if bytes > 1024*1024 { + unit = "MiB" + value = float64(bytes) / (1024*1024) + } else if bytes > 1024 { + unit = "KiB" + value = float64(bytes) / (1024) + } else { + unit = "B" + value = float64(bytes) + } + return fmt.Sprintf("%.1f %s", value, unit) +} From 1a509f012d3fd1411510b0f36b2f0ff8e13e56ca Mon Sep 17 00:00:00 2001 From: ayame-git Date: Sat, 6 May 2017 20:52:41 +0300 Subject: [PATCH 5/9] fixed parameters --- main.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/main.go b/main.go index 7b91acff..eedbc938 100755 --- a/main.go +++ b/main.go @@ -33,6 +33,11 @@ func main() { conf_bind := conf.BindFlags() defaults := flag.Bool("print-defaults", false, "print the default configuration file on stdout") flag.Parse() + err := conf_bind() + if err != nil { + log.CheckError(err) + } + fmt.Println(conf) if *defaults { stdout := bufio.NewWriter(os.Stdout) conf.Pretty(stdout) From f7127ab3be0e9162584c4a45aaf78c44322b9d52 Mon Sep 17 00:00:00 2001 From: ayame-git Date: Sat, 6 May 2017 20:55:27 +0300 Subject: [PATCH 6/9] oops --- main.go | 1 - 1 file changed, 1 deletion(-) diff --git a/main.go b/main.go index eedbc938..6767a816 100755 --- a/main.go +++ b/main.go @@ -37,7 +37,6 @@ func main() { if err != nil { log.CheckError(err) } - fmt.Println(conf) if *defaults { stdout := bufio.NewWriter(os.Stdout) conf.Pretty(stdout) From 5c4d1da8b766cc200f3aafb316642a0081bdc70e Mon Sep 17 00:00:00 2001 From: ayame-git Date: Sat, 6 May 2017 21:27:26 +0300 Subject: [PATCH 7/9] fixed for good now --- db/gorm.go | 7 +++---- dbdb | Bin 0 -> 20480 bytes main.go | 13 +++++++------ 3 files changed, 10 insertions(+), 10 deletions(-) create mode 100644 dbdb diff --git a/db/gorm.go b/db/gorm.go index 42ba2bf9..693352e2 100644 --- a/db/gorm.go +++ b/db/gorm.go @@ -2,18 +2,17 @@ package db import ( "github.com/ewhal/nyaa/config" - "github.com/ewhal/nyaa/util/log" "github.com/ewhal/nyaa/model" + "github.com/ewhal/nyaa/util/log" "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/sqlite" // _ "github.com/go-sql-driver/mysql" ) -var ORM, Errs = GormInit() +var ORM *gorm.DB // GormInit init gorm ORM. -func GormInit() (*gorm.DB, error) { - conf := config.NewConfig() +func GormInit(conf *config.Config) (*gorm.DB, error) { db, err := gorm.Open(conf.DBType, conf.DBParams) // db, err := gorm.Open("mysql", config.MysqlDSL()) //db, err := gorm.Open("sqlite3", "/tmp/gorm.db") diff --git a/dbdb b/dbdb new file mode 100644 index 0000000000000000000000000000000000000000..691e845934c3ed2d4b38d34703d081670d3980e5 GIT binary patch literal 20480 zcmeI#O;5rw7{KvOXNU)kH@pz*5)&2|4;t^jgc}!M?xetgM%c(!HG0GN?fe3M96MmL z4fO*o|0d1)vh8{LYcIXO?I<0HVH8iL7U$N!W!u)J5SC>*rtX-Um9(GMtk_xOpQmG; z?zZaY1*hJ(_P+Lp^-t5FAbP2D-*8Jb4o!AlZ(*nk=IfJ`I*f$e0L_}Ak_Jfgg4u&HI9z#`N<-) zbyn-vb}^&%M4HX2SIXpPbTbR#y&u~P^^fKvq>kb=t0a4F6~kr2X|Pp0zX1Pda5I$u zM|L^zQr^og{{8=BnT(73>bnE8iLU6WkvRmW7rlg&NDh+Rp%^N2uGCxUM3{Gjq#vu9 zR#9kvFo}95*=RaVA(nmNrFV04>8Buo00IagfB*srAb Date: Sat, 6 May 2017 21:28:47 +0300 Subject: [PATCH 8/9] fixed for good now --- dbdb | Bin 20480 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 dbdb diff --git a/dbdb b/dbdb deleted file mode 100644 index 691e845934c3ed2d4b38d34703d081670d3980e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20480 zcmeI#O;5rw7{KvOXNU)kH@pz*5)&2|4;t^jgc}!M?xetgM%c(!HG0GN?fe3M96MmL z4fO*o|0d1)vh8{LYcIXO?I<0HVH8iL7U$N!W!u)J5SC>*rtX-Um9(GMtk_xOpQmG; z?zZaY1*hJ(_P+Lp^-t5FAbP2D-*8Jb4o!AlZ(*nk=IfJ`I*f$e0L_}Ak_Jfgg4u&HI9z#`N<-) zbyn-vb}^&%M4HX2SIXpPbTbR#y&u~P^^fKvq>kb=t0a4F6~kr2X|Pp0zX1Pda5I$u zM|L^zQr^og{{8=BnT(73>bnE8iLU6WkvRmW7rlg&NDh+Rp%^N2uGCxUM3{Gjq#vu9 zR#9kvFo}95*=RaVA(nmNrFV04>8Buo00IagfB*srAb Date: Sat, 6 May 2017 21:43:15 +0300 Subject: [PATCH 9/9] config file works now --- config/config.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/config/config.go b/config/config.go index d7597ecc..931a8e74 100644 --- a/config/config.go +++ b/config/config.go @@ -16,7 +16,7 @@ type Config struct { DBType string `json: "db_type"` // This will be directly passed to Gorm, and its internal // structure depends on the dialect for each db type - DBParams string `json: "db_type"` + DBParams string `json: "db_params"` } var Defaults = Config{"localhost", 9999, "sqlite3", "./nyaa.db?cache_size=50"} @@ -50,15 +50,15 @@ func (config *Config) BindFlags() processFlags { db_params := flag.String("dbparams", Defaults.DBParams, "parameters to open the database (see Gorm's doc)") return func() error { - err := config.HandleConfFileFlag(*conf_file) - if err != nil { - return err - } // You can override fields in the config file with flags. config.Host = *host config.Port = *port config.DBParams = *db_params - err = config.SetDBType(*db_type) + err := config.SetDBType(*db_type) + if err != nil { + return err + } + err = config.HandleConfFileFlag(*conf_file) return err } }