summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2019-09-01 12:14:13 +0200
committerYorhel <git@yorhel.nl>2019-09-01 12:14:13 +0200
commit4d072a5024bddba9b95ee7b22bea1693d52c2864 (patch)
tree88d181c9a9ea7e17ccbdde57e601a2cf4117d727
parente65f199a14930eacedb1a5b5fe2ab4514712c3cc (diff)
Add EGS links to releases
-rw-r--r--lib/VNDB/DB/Releases.pm4
-rw-r--r--lib/VNDB/Handler/Releases.pm11
-rw-r--r--lib/VNDB/Util/Misc.pm1
-rw-r--r--util/sql/schema.sql6
-rw-r--r--util/updates/update_20190901.sql4
5 files changed, 18 insertions, 8 deletions
diff --git a/lib/VNDB/DB/Releases.pm b/lib/VNDB/DB/Releases.pm
index a05141aa..7cb0af9d 100644
--- a/lib/VNDB/DB/Releases.pm
+++ b/lib/VNDB/DB/Releases.pm
@@ -207,7 +207,7 @@ sub _enrich {
if($what =~ /links/) {
$r->[ delete $r{$_->{xid}} ] = { %{$r->[$r{ $_->{xid} }]}, %$_ } for (@{$self->dbAll("
- SELECT r.$colname AS xid, r.gtin, r.l_steam, r.l_gog, r.l_gyutto, r.l_digiket, r.l_melon, r.l_getchu, r.l_getchudl, r.l_dmm, r.l_itch, r.l_jastusa
+ SELECT r.$colname AS xid, r.gtin, r.l_steam, r.l_gog, r.l_gyutto, r.l_digiket, r.l_melon, r.l_getchu, r.l_getchudl, r.l_dmm, r.l_itch, r.l_jastusa, l_egs
, r.l_mg, smg.price AS l_mg_price, smg.r18 AS l_mg_r18
, r.l_denpa, sdenpa.price AS l_denpa_price
, r.l_jlist, sjlist.price AS l_jlist_price, sjlist.jbox AS l_jlist_jbox
@@ -247,7 +247,7 @@ sub dbReleaseRevisionInsert {
my %set = map exists($o->{$_}) ? ("$_ = ?", $o->{$_}) : (),
qw|title original gtin catalog website released notes minage type
- l_steam l_dlsite l_dlsiteen l_gog l_denpa l_jlist l_gyutto l_digiket l_melon l_mg l_getchu l_getchudl l_dmm l_itch l_jastusa
+ l_steam l_dlsite l_dlsiteen l_gog l_denpa l_jlist l_gyutto l_digiket l_melon l_mg l_getchu l_getchudl l_dmm l_itch l_jastusa l_egs
patch resolution voiced freeware doujin uncensored ani_story ani_ero engine|;
$self->dbExec('UPDATE edit_releases !H', \%set) if keys %set;
diff --git a/lib/VNDB/Handler/Releases.pm b/lib/VNDB/Handler/Releases.pm
index bbeec9a8..9ce2afa5 100644
--- a/lib/VNDB/Handler/Releases.pm
+++ b/lib/VNDB/Handler/Releases.pm
@@ -62,6 +62,7 @@ sub page {
[ catalog => 'Catalog number', serialize => sub { $_[0]||'[empty]' } ],
[ languages => 'Language', join => ', ', split => sub { map $self->{languages}{$_}, @{$_[0]} } ],
[ website => 'Website' ],
+ [ l_egs => 'ErogameScape', htmlize => sub { $_[0] ? sprintf '<a href="https://erogamescape.dyndns.org/~ap2/ero/toukei_kaiseki/game.php?game=%d">%1$d</a>', $_[0] : '[empty]' } ],
[ l_steam => 'Steam AppId', htmlize => sub { $_[0] ? sprintf '<a href="https://store.steampowered.com/app/%d/">%1$d</a>', $_[0] : '[empty]' } ],
[ l_dlsite => 'DLsite (jpn)', htmlize => sub { $_[0] ? sprintf '<a href="'.sprintf($self->{dlsite_url}, 'home').'">%1$s</a>', $_[0] : '[empty]' } ],
[ l_dlsiteen => 'DLsite (eng)', htmlize => sub { $_[0] ? sprintf '<a href="'.sprintf($self->{dlsite_url}, 'eng').'">%1$s</a>', $_[0] : '[empty]' } ],
@@ -328,7 +329,7 @@ sub edit {
(map { $_ => $r->{$_} } (qw|type title original languages website released minage
notes platforms patch resolution voiced freeware doujin uncensored ani_story ani_ero engine ihid ilock|,
$copy ? () : (qw|
- gtin catalog l_steam l_dlsite l_dlsiteen l_gog l_denpa l_jlist l_gyutto l_digiket l_melon l_mg l_getchu l_getchudl l_dmm l_itch l_jastusa
+ gtin catalog l_steam l_dlsite l_dlsiteen l_gog l_denpa l_jlist l_gyutto l_digiket l_melon l_mg l_getchu l_getchudl l_dmm l_itch l_jastusa l_egs
|)
)),
media => join(',', sort map "$_->{medium} $_->{qty}", @{$r->{media}}),
@@ -370,6 +371,7 @@ sub edit {
{ post => 'l_dmm', required => 0, default => '', regex => [ qr{^(?:https?://)?(?:www|dlsoft)\.dmm\.(?:com|co\.jp)/}, 'Invalid DMM URL' ] },
{ post => 'l_itch', required => 0, default => '', regex => [ qr{^(?:https?://)?([a-z0-9_-]+)\.itch\.io/([a-z0-9_-]+)$}, 'Invalid Itch.io URL' ] },
{ post => 'l_jastusa', required => 0, default => '', regex => [ qr/^[a-z0-9-]+$/, 'Invalid JAST USA ID' ] },
+ { post => 'l_egs', required => 0, default => 0, template => 'uint' },
{ post => 'released', required => 0, default => 0, template => 'rdate' },
{ post => 'minage' , required => 0, default => -1, enum => $self->{age_ratings} },
{ post => 'notes', required => 0, default => '', maxlength => 10240 },
@@ -427,7 +429,7 @@ sub edit {
if(!$frm->{_err}) {
my $nrev = $self->dbItemEdit(r => !$copy && $rid ? ($r->{id}, $r->{rev}) : (undef, undef),
(map { $_ => $frm->{$_} } qw| type title original gtin catalog languages website released minage
- l_steam l_dlsite l_dlsiteen l_gog l_denpa l_jlist l_gyutto l_digiket l_melon l_mg l_getchu l_getchudl l_dmm l_itch l_jastusa
+ l_steam l_dlsite l_dlsiteen l_gog l_denpa l_jlist l_gyutto l_digiket l_melon l_mg l_getchu l_getchudl l_dmm l_itch l_jastusa l_egs
notes platforms resolution editsum patch voiced freeware doujin uncensored ani_story ani_ero engine ihid ilock|),
vn => $new_vn,
producers => $producers,
@@ -480,7 +482,8 @@ sub _form {
options => [ map [ $_, minage $_, 1 ], @{$self->{age_ratings}} ] ],
[ check => short => 'uncensored',name => 'No mosaic or other optical censoring (only check if this release has erotic content)' ],
- [ static => nolabel => 1, content => '<br><b>Webshop links</b>' ],
+ [ static => nolabel => 1, content => '<br><b>Links</b>' ],
+ [ input => short => 'l_egs', name => 'ErogameScape', pre => 'erogamescape.dyndns.org/..?game=', width => 100 ],
[ input => short => 'l_steam', name => 'Steam AppID', pre => 'store.steampowered.com/app/', width => 100 ],
[ input => short => 'l_jlist', name => 'J-List', pre => 'www.jlist.com/', post => ' (the last part of the URL, e.g. "np004")', width => 100 ],
[ input => short => 'l_jastusa', name => 'JAST USA', pre => 'jastusa.com/' ],
@@ -493,7 +496,7 @@ sub _form {
[ input => short => 'l_digiket', name => 'Digiket', pre => 'www.digiket.com/work/show/_data/ID=ITM', width => 100 ],
[ input => short => 'l_gyutto', name => 'Gyutto', pre => 'gyutto.com/i/item', post => ' (item number)', width => 100 ],
[ input => short => 'l_getchudl',name => 'DL.Getchu', pre => 'dl.getchu.com/i/item', post => ' (item number)', width => 100 ],
- [ input => short => 'l_getchu', name => 'Getchu', pre => 'http://www.getchu.com/soft.phtml?id=', width => 100 ],
+ [ input => short => 'l_getchu', name => 'Getchu', pre => 'www.getchu.com/soft.phtml?id=', width => 100 ],
[ input => short => 'l_melon', name => 'Melonbooks.com', pre => 'www.melonbooks.com/..&products_id=IT', width => 100 ],
[ input => short => 'l_dmm', name => 'DMM', post => ' (full URL)' ],
diff --git a/lib/VNDB/Util/Misc.pm b/lib/VNDB/Util/Misc.pm
index 85bb91a5..69ac4e56 100644
--- a/lib/VNDB/Util/Misc.pm
+++ b/lib/VNDB/Util/Misc.pm
@@ -195,6 +195,7 @@ sub entryLinks {
# Release links
if($type eq 'r') {
+ $lnk->($obj->{l_egs}, 'EGS', 'https://erogamescape.dyndns.org/~ap2/ero/toukei_kaiseki/game.php?game=%d');
$lnk->($obj->{l_steam}, 'Steam', 'https://store.steampowered.com/app/%d/');
$lnk->($obj->{l_steam}, 'SteamDB', 'https://steamdb.info/app/%d/info');
$lnk->($obj->{l_dlsite}, 'DLsite (jpn)',sprintf($self->{dlsite_url}, $obj->{l_dlsite_shop}||'home'), undef, $obj->{l_dlsite_price});
diff --git a/util/sql/schema.sql b/util/sql/schema.sql
index a2ee854a..e8b1c996 100644
--- a/util/sql/schema.sql
+++ b/util/sql/schema.sql
@@ -304,7 +304,8 @@ CREATE TABLE releases ( -- dbentry_type=r
l_getchudl integer NOT NULL DEFAULT 0, -- [pub]
l_dmm text NOT NULL DEFAULT '', -- [pub]
l_itch text NOT NULL DEFAULT '', -- [pub]
- l_jastusa text NOT NULL DEFAULT '' -- [pub]
+ l_jastusa text NOT NULL DEFAULT '', -- [pub]
+ l_egs integer NOT NULL DEFAULT 0 -- [pub]
);
-- releases_hist
@@ -342,7 +343,8 @@ CREATE TABLE releases_hist (
l_getchudl integer NOT NULL DEFAULT 0,
l_dmm text NOT NULL DEFAULT '',
l_itch text NOT NULL DEFAULT '',
- l_jastusa text NOT NULL DEFAULT ''
+ l_jastusa text NOT NULL DEFAULT '',
+ l_egs integer NOT NULL DEFAULT 0
);
-- releases_lang
diff --git a/util/updates/update_20190901.sql b/util/updates/update_20190901.sql
new file mode 100644
index 00000000..086df8ba
--- /dev/null
+++ b/util/updates/update_20190901.sql
@@ -0,0 +1,4 @@
+ALTER TABLE releases ADD COLUMN l_egs integer NOT NULL DEFAULT 0;
+ALTER TABLE releases_hist ADD COLUMN l_egs integer NOT NULL DEFAULT 0;
+
+\i util/sql/editfunc.sql