Compare commits
2 commits
e6ce812f1a
...
e0d6e7f162
| Author | SHA1 | Date | |
|---|---|---|---|
| e0d6e7f162 | |||
| 2662a66aca |
3 changed files with 26 additions and 6 deletions
|
|
@ -1455,7 +1455,7 @@ class Item(models.Model):
|
||||||
self.clear_poster_cache(self.poster.path)
|
self.clear_poster_cache(self.poster.path)
|
||||||
self.poster.delete()
|
self.poster.delete()
|
||||||
|
|
||||||
if not self.poster:
|
if not self.poster or not os.path.exists(self.poster.path):
|
||||||
poster = self.make_siteposter()
|
poster = self.make_siteposter()
|
||||||
url = self.prefered_poster_url()
|
url = self.prefered_poster_url()
|
||||||
if url:
|
if url:
|
||||||
|
|
|
||||||
|
|
@ -827,6 +827,20 @@ def poster_frame(request, id, position):
|
||||||
raise Http404
|
raise Http404
|
||||||
|
|
||||||
|
|
||||||
|
def image_path_to_response(image, size=None):
|
||||||
|
if size:
|
||||||
|
size = int(size)
|
||||||
|
path = image.replace('.jpg', '.%d.jpg' % size)
|
||||||
|
if not os.path.exists(path):
|
||||||
|
image_size = max(Image.open(image).size)
|
||||||
|
if size > image_size:
|
||||||
|
path = image
|
||||||
|
else:
|
||||||
|
extract.resize_image(image, path, size=size)
|
||||||
|
else:
|
||||||
|
path = image
|
||||||
|
return HttpFileResponse(path, content_type='image/jpeg')
|
||||||
|
|
||||||
def image_to_response(image, size=None):
|
def image_to_response(image, size=None):
|
||||||
if size:
|
if size:
|
||||||
size = int(size)
|
size = int(size)
|
||||||
|
|
@ -883,8 +897,12 @@ def poster(request, id, size=None):
|
||||||
icon=item.icon.name,
|
icon=item.icon.name,
|
||||||
cache=item.json()
|
cache=item.json()
|
||||||
)
|
)
|
||||||
|
siteposter = item.path('siteposter.jpg')
|
||||||
|
siteposter = os.path.abspath(os.path.join(settings.MEDIA_ROOT, siteposter))
|
||||||
if item.poster and os.path.exists(item.poster.path):
|
if item.poster and os.path.exists(item.poster.path):
|
||||||
return image_to_response(item.poster, size)
|
return image_to_response(item.poster, size)
|
||||||
|
elif os.path.exists(siteposter):
|
||||||
|
return image_path_to_response(siteposter, size)
|
||||||
else:
|
else:
|
||||||
return temp_poster()
|
return temp_poster()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ pandora.ui.metadataDialog = function(data) {
|
||||||
that = data.imdbId ? updateDialog() : idDialog();
|
that = data.imdbId ? updateDialog() : idDialog();
|
||||||
|
|
||||||
keys = keys.filter(function(key) {
|
keys = keys.filter(function(key) {
|
||||||
return key == 'alternativeTitles' || getItemKey(key);
|
return Ox.contains(['alternativeTitles', 'filmingLocations'], key) || getItemKey(key);
|
||||||
});
|
});
|
||||||
|
|
||||||
data.imdbId && getMetadata();
|
data.imdbId && getMetadata();
|
||||||
|
|
@ -184,7 +184,7 @@ pandora.ui.metadataDialog = function(data) {
|
||||||
function getMetadata() {
|
function getMetadata() {
|
||||||
pandora.api.getMetadata({
|
pandora.api.getMetadata({
|
||||||
id: data.imdbId,
|
id: data.imdbId,
|
||||||
keys: keys.concat(['originalTitle'])
|
keys: Ox.unique(keys.concat(['originalTitle']))
|
||||||
}, function(result) {
|
}, function(result) {
|
||||||
var $bar = Ox.Bar({size: 24}),
|
var $bar = Ox.Bar({size: 24}),
|
||||||
$data = Ox.Element()
|
$data = Ox.Element()
|
||||||
|
|
@ -218,9 +218,11 @@ pandora.ui.metadataDialog = function(data) {
|
||||||
.appendTo($bar);
|
.appendTo($bar);
|
||||||
if (result.data) {
|
if (result.data) {
|
||||||
imdb = Ox.clone(result.data, true);
|
imdb = Ox.clone(result.data, true);
|
||||||
if (imdb.originalTitle) {
|
if (!Ox.contains(keys, 'originalTitle')) {
|
||||||
imdb.alternativeTitles = [[imdb.title, []]].concat(imdb.alternativeTitles || []);
|
if (imdb.originalTitle) {
|
||||||
imdb.title = imdb.originalTitle;
|
imdb.alternativeTitles = [[imdb.title, []]].concat(imdb.alternativeTitles || []);
|
||||||
|
imdb.title = imdb.originalTitle;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
keys.forEach(function(key, index) {
|
keys.forEach(function(key, index) {
|
||||||
var isEqual = Ox.isEqual(data[getKey(key)], imdb[key]) || (
|
var isEqual = Ox.isEqual(data[getKey(key)], imdb[key]) || (
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue