diff options
author | Yorhel <git@yorhel.nl> | 2019-09-01 12:14:13 +0200 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2019-09-01 12:14:13 +0200 |
commit | 4d072a5024bddba9b95ee7b22bea1693d52c2864 (patch) | |
tree | 88d181c9a9ea7e17ccbdde57e601a2cf4117d727 | |
parent | e65f199a14930eacedb1a5b5fe2ab4514712c3cc (diff) |
Add EGS links to releases
-rw-r--r-- | lib/VNDB/DB/Releases.pm | 4 | ||||
-rw-r--r-- | lib/VNDB/Handler/Releases.pm | 11 | ||||
-rw-r--r-- | lib/VNDB/Util/Misc.pm | 1 | ||||
-rw-r--r-- | util/sql/schema.sql | 6 | ||||
-rw-r--r-- | util/updates/update_20190901.sql | 4 |
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 |