This commit is contained in:
rolux 2011-10-24 10:05:10 +00:00
commit 57308697ec
7 changed files with 67 additions and 7 deletions

View file

@ -280,6 +280,47 @@ def moveFiles(request):
return render_to_json_response(response) return render_to_json_response(response)
actions.register(moveFiles, cache=False) actions.register(moveFiles, cache=False)
@login_required_json
def editFiles(request):
'''
change file / item link
param data {
ids: ids of files
part:
language:
ignore: boolean
}
return {
status: {'code': int, 'text': string},
data: {
}
}
'''
data = json.loads(request.POST['data'])
files = models.File.objects.filter(oshash__in=data['ids'])
response = json_response()
#FIXME: only editable files!
if True:
if 'ignore' in data:
models.Instance.objects.filter(file__in=files).update(ignore=data['ignore'])
files.update(auto=True)
#FIXME: is this to slow to run sync?
for i in Item.objects.filter(files__in=files).distinct():
i.update_selected()
i.update_wanted()
response = json_response(status=200, text='updated')
updates = {}
for key in ('part', 'language'):
if key in data:
updates[key] = data[key]
if updates:
files.update(**updates)
response = json_response(status=200, text='updated')
else:
response = json_response(status=403, text='permissino denied')
return render_to_json_response(response)
actions.register(editFiles, cache=False)
@login_required_json @login_required_json
def editFile(request): def editFile(request):

View file

@ -947,7 +947,8 @@ class Item(models.Model):
if settings.USE_IMDB: if settings.USE_IMDB:
if len(self.itemId) == 7: if len(self.itemId) == 7:
cmd += ['-i', self.itemId] cmd += ['-i', self.itemId]
cmd += ['-o', self.oxdbId] oxdbId = self.oxdbId or self.oxdb_id() or self.ItemId
cmd += ['-o', oxdbId]
else: else:
cmd += ['-i', self.itemId] cmd += ['-i', self.itemId]
ox.makedirs(os.path.join(settings.MEDIA_ROOT,self.path())) ox.makedirs(os.path.join(settings.MEDIA_ROOT,self.path()))

View file

@ -690,7 +690,7 @@ def poster(request, id, size=None):
if item.poster: if item.poster:
return image_to_response(item.poster, size) return image_to_response(item.poster, size)
else: else:
poster_path = os.path.join(settings.STATIC_ROOT, 'png/posterDark.48.png') poster_path = os.path.join(settings.STATIC_ROOT, 'png/poster.png')
response = HttpFileResponse(poster_path, content_type='image/jpeg') response = HttpFileResponse(poster_path, content_type='image/jpeg')
response['Cache-Control'] = 'no-cache' response['Cache-Control'] = 'no-cache'
return response return response

View file

@ -33,15 +33,27 @@ pandora.ui.filesView = function(options, self) {
}) })
.appendTo(self.$toolbar); .appendTo(self.$toolbar);
self.$moveButton = Ox.Button({ self.$ignoreButton = Ox.Button({
disabled: 'true', disabled: 'true',
title: 'Move Selected Files...' title: 'Ignore Selected Files...'
}) })
.css({ .css({
float: 'right', float: 'right',
margin: '4px' margin: '4px'
}) })
.appendTo(self.$toolbar); .appendTo(self.$toolbar)
.bindEvent({
click: function() {
var data = {
ids: self.selected,
ignore: true
};
pandora.api.editFiles(data, function(result) {
Ox.Request.clearCache();
self.$filesList.reloadList();
});
}
});
self.$filesList = Ox.TextList({ self.$filesList = Ox.TextList({
columns: [ columns: [
@ -417,6 +429,9 @@ pandora.ui.filesView = function(options, self) {
self.$moveButton.options({ self.$moveButton.options({
disabled: self.selected.length === 0 disabled: self.selected.length === 0
}); });
self.$ignoreButton.options({
disabled: self.selected.length === 0
});
} }
return that; return that;

View file

@ -66,8 +66,11 @@ pandora.ui.info = function() {
previousView == 'video' && resizeInfo(); previousView == 'video' && resizeInfo();
}); });
} else if (view == 'video') { } else if (view == 'video') {
pandora.api.get({id: id, keys: ['duration', 'videoRatio']}, function(result) { pandora.api.get({
if (result.data) { id: id,
keys: ['duration', 'rendered', 'videoRatio']
}, function(result) {
if (result.data && result.data.rendered) {
pandora.$ui.videoPreview && pandora.$ui.videoPreview.removeElement(); pandora.$ui.videoPreview && pandora.$ui.videoPreview.removeElement();
pandora.$ui.videoPreview = pandora.ui.videoPreview({ pandora.$ui.videoPreview = pandora.ui.videoPreview({
duration: result.data.duration, duration: result.data.duration,

BIN
static/png/poster.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 180 B