mirror of
https://github.com/JasonHHouse/gaps.git
synced 2026-05-24 03:48:24 -05:00
Showing posters correctly now
This commit is contained in:
@@ -21,6 +21,8 @@ public class OwnedMovie implements Comparable<OwnedMovie>, MovieMetadata {
|
||||
|
||||
public static final String THUMBNAIL = "thumbnail";
|
||||
|
||||
public static final String LANGUAGE = "language";
|
||||
|
||||
private final String name;
|
||||
|
||||
private final int year;
|
||||
@@ -32,7 +34,10 @@ public class OwnedMovie implements Comparable<OwnedMovie>, MovieMetadata {
|
||||
@Nullable
|
||||
private String imdbId;
|
||||
|
||||
public OwnedMovie(String name, int year, String thumbnail, int tvdbId, @Nullable String imdbId) {
|
||||
@Nullable
|
||||
private String language;
|
||||
|
||||
public OwnedMovie(String name, int year, String thumbnail, int tvdbId, @Nullable String imdbId, String language) {
|
||||
this.name = name;
|
||||
this.year = year;
|
||||
this.thumbnail = thumbnail;
|
||||
@@ -69,8 +74,25 @@ public class OwnedMovie implements Comparable<OwnedMovie>, MovieMetadata {
|
||||
return thumbnail;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public String getLanguage() {
|
||||
return language;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(@NotNull OwnedMovie o) {
|
||||
return getName().compareTo(o.getName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "OwnedMovie{" +
|
||||
"name='" + name + '\'' +
|
||||
", year=" + year +
|
||||
", thumbnail='" + thumbnail + '\'' +
|
||||
", tvdbId=" + tvdbId +
|
||||
", imdbId='" + imdbId + '\'' +
|
||||
", language='" + language + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,6 @@ import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
|
||||
import com.jasonhhouse.gaps.Movie;
|
||||
import com.jasonhhouse.gaps.OwnedMovie;
|
||||
import java.io.IOException;
|
||||
|
||||
@@ -33,9 +32,16 @@ public class OwnedMovieDeserializer extends StdDeserializer<OwnedMovie> {
|
||||
int tvdbId = (Integer) node.get(OwnedMovie.TVDB_ID).numberValue();
|
||||
String imdbId = node.get(OwnedMovie.IMDB_ID).asText();
|
||||
String name = node.get(OwnedMovie.NAME).asText();
|
||||
String thumbnail = node.get(OwnedMovie.THUMBNAIL).asText();
|
||||
String thumbnail = null;
|
||||
if (node.has(OwnedMovie.THUMBNAIL)) {
|
||||
thumbnail = node.get(OwnedMovie.THUMBNAIL).asText();
|
||||
}
|
||||
int year = (Integer) node.get(OwnedMovie.YEAR).numberValue();
|
||||
String language = null;
|
||||
if (node.has(OwnedMovie.LANGUAGE)) {
|
||||
language = node.get(OwnedMovie.LANGUAGE).asText();
|
||||
}
|
||||
|
||||
return new OwnedMovie(name, year, thumbnail, tvdbId, imdbId);
|
||||
return new OwnedMovie(name, year, thumbnail, tvdbId, imdbId, language);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@ public class OwnedMovieSerializer extends StdSerializer<OwnedMovie> {
|
||||
jsonGenerator.writeStringField(OwnedMovie.NAME, movie.getName());
|
||||
jsonGenerator.writeNumberField(OwnedMovie.YEAR, movie.getYear());
|
||||
jsonGenerator.writeStringField(OwnedMovie.THUMBNAIL, movie.getThumbnail());
|
||||
jsonGenerator.writeStringField(OwnedMovie.LANGUAGE, movie.getLanguage());
|
||||
jsonGenerator.writeEndObject();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -427,6 +427,7 @@ public class GapsSearchService implements GapsSearch {
|
||||
}
|
||||
|
||||
OwnedMovie ownedMovie;
|
||||
String language = null;
|
||||
//Movie searchMovie = new Movie.Builder(title, year).build();
|
||||
/*int indexOfMovie = everyMovie.indexOf(searchMovie);
|
||||
if (indexOfMovie != -1) {
|
||||
@@ -434,14 +435,19 @@ public class GapsSearchService implements GapsSearch {
|
||||
movie = everyMovie.get(indexOfMovie);
|
||||
} else {*/
|
||||
if (guid.contains("com.plexapp.agents.themoviedb")) {
|
||||
//ToDo
|
||||
//Find out what it looks like in TMDB
|
||||
//language = ??
|
||||
guid = guid.substring(guid.indexOf(ID_IDX_START) + ID_IDX_START.length(), guid.indexOf(ID_IDX_END));
|
||||
ownedMovie = new OwnedMovie(title, year, thumbnail, Integer.parseInt(guid), null);
|
||||
ownedMovie = new OwnedMovie(title, year, thumbnail, Integer.parseInt(guid), null, language);
|
||||
} else if (guid.contains("com.plexapp.agents.imdb://")) {
|
||||
language = guid.substring(guid.indexOf("?lang=") + "?lang=".length());
|
||||
LOGGER.info("language:" + language);
|
||||
guid = guid.substring(guid.indexOf(ID_IDX_START) + ID_IDX_START.length(), guid.indexOf(ID_IDX_END));
|
||||
ownedMovie = new OwnedMovie(title, year, thumbnail, -1, guid);
|
||||
ownedMovie = new OwnedMovie(title, year, thumbnail, -1, guid, language);
|
||||
} else {
|
||||
LOGGER.warn("Cannot handle guid value of " + guid);
|
||||
ownedMovie = new OwnedMovie(title, year, thumbnail, -1, null);
|
||||
ownedMovie = new OwnedMovie(title, year, thumbnail, -1, null, language);
|
||||
}
|
||||
/*}*/
|
||||
|
||||
@@ -738,7 +744,7 @@ public class GapsSearchService implements GapsSearch {
|
||||
.setPosterUrl(posterUrl)
|
||||
.build();
|
||||
|
||||
OwnedMovie ownedMovieFromCollection = new OwnedMovie(title, year, null, tvdbId, null);
|
||||
OwnedMovie ownedMovieFromCollection = new OwnedMovie(title, year, null, tvdbId, null, null);
|
||||
|
||||
indexOfMovie = everyMovie.indexOf(new Movie.Builder(title, year).build());
|
||||
if (indexOfMovie == -1) {
|
||||
|
||||
@@ -16,7 +16,7 @@ $(document).ready(function () {
|
||||
{
|
||||
data: "poster",
|
||||
render: function (data, type, row) {
|
||||
if (type === 'display') {
|
||||
if (type === 'display' && row.poster) {
|
||||
const url = `http://${plexSearch.address}:${plexSearch.port}${row.poster}/?X-Plex-Token=${plexSearch.plexToken}`;
|
||||
return `<img class="thumbnail" src="${url}" alt="poster">`;
|
||||
}
|
||||
@@ -26,6 +26,7 @@ $(document).ready(function () {
|
||||
},
|
||||
{data: "title"},
|
||||
{data: "year"},
|
||||
{data: "language"},
|
||||
{data: "link"},
|
||||
{
|
||||
data: "find_missing",
|
||||
|
||||
@@ -26,6 +26,9 @@
|
||||
<a class="navbar-brand" href="/">Gaps</a>
|
||||
<div class="collapse navbar-collapse" id="navbarColor01">
|
||||
<ul class="navbar-nav mr-auto">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/ownedMovies">Owned Movies</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/recommended">Recommended</a>
|
||||
</li>
|
||||
|
||||
@@ -28,6 +28,9 @@
|
||||
<a class="navbar-brand" href="/">Gaps</a>
|
||||
<div class="collapse navbar-collapse" id="navbarColor01">
|
||||
<ul class="navbar-nav mr-auto">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/ownedMovies">Owned Movies</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/recommended">Recommended</a>
|
||||
</li>
|
||||
|
||||
@@ -28,6 +28,9 @@
|
||||
<a class="navbar-brand" href="/">Gaps</a>
|
||||
<div class="collapse navbar-collapse" id="navbarColor01">
|
||||
<ul class="navbar-nav mr-auto">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/ownedMovies">Owned Movies</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/recommended">Recommended</a>
|
||||
</li>
|
||||
|
||||
@@ -51,6 +51,7 @@
|
||||
<th>Poster</th>
|
||||
<th>Title</th>
|
||||
<th>Year</th>
|
||||
<th>Language</th>
|
||||
<th>Link</th>
|
||||
<th>Find Missing</th>
|
||||
</tr>
|
||||
@@ -60,6 +61,7 @@
|
||||
<td th:text="${movie.thumbnail}"></td>
|
||||
<td th:text="${movie.name}"></td>
|
||||
<td th:text="${movie.year}"></td>
|
||||
<td th:text="${movie.language}"></td>
|
||||
<td><a target="_blank" th:href="${urls.get(status.index)}">Details</a></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
@@ -75,7 +77,6 @@
|
||||
<script type="text/javascript" src="/js/datatables.min.js"></script>
|
||||
<script type="text/javascript" src="/js/sockjs-1.4.0.min.js"></script>
|
||||
<script type="text/javascript" src="/js/stomp-2.3.3.min.js"></script>
|
||||
<script src="https://www.lactame.com/lib/image-js/0.21.2/image.min.js"></script>
|
||||
<script type="text/javascript" src="/js/ownedMovies.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -26,6 +26,9 @@
|
||||
<a class="navbar-brand" href="/">Gaps</a>
|
||||
<div class="collapse navbar-collapse" id="navbarColor01">
|
||||
<ul class="navbar-nav mr-auto">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/ownedMovies">Owned Movies</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/recommended">Recommended</a>
|
||||
</li>
|
||||
|
||||
@@ -26,6 +26,9 @@
|
||||
<a class="navbar-brand" href="/">Gaps</a>
|
||||
<div class="collapse navbar-collapse" id="navbarColor01">
|
||||
<ul class="navbar-nav mr-auto">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/ownedMovies">Owned Movies</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/recommended">Recommended</a>
|
||||
</li>
|
||||
|
||||
@@ -28,6 +28,9 @@
|
||||
<a class="navbar-brand" href="/">Gaps</a>
|
||||
<div class="collapse navbar-collapse" id="navbarColor01">
|
||||
<ul class="navbar-nav mr-auto">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/ownedMovies">Owned Movies</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/recommended">Recommended</a>
|
||||
</li>
|
||||
|
||||
Reference in New Issue
Block a user