add option to open folder
This commit is contained in:
parent
aba444e2c4
commit
216cb411fe
3 changed files with 33 additions and 0 deletions
|
@ -2,6 +2,7 @@
|
||||||
# vi:si:et:sw=4:sts=4:ts=4
|
# vi:si:et:sw=4:sts=4:ts=4
|
||||||
import json
|
import json
|
||||||
import hashlib
|
import hashlib
|
||||||
|
import os
|
||||||
|
|
||||||
from sqlalchemy.orm import load_only
|
from sqlalchemy.orm import load_only
|
||||||
from sqlalchemy import func
|
from sqlalchemy import func
|
||||||
|
@ -331,3 +332,13 @@ def cancelImport(data):
|
||||||
})
|
})
|
||||||
return {}
|
return {}
|
||||||
actions.register(cancelImport, cache=False)
|
actions.register(cancelImport, cache=False)
|
||||||
|
|
||||||
|
def openFolder(data):
|
||||||
|
response = {}
|
||||||
|
item = models.Item.get(data['id'])
|
||||||
|
if item:
|
||||||
|
path = item.get_path()
|
||||||
|
if path:
|
||||||
|
utils.open_folder(os.path.dirname(path))
|
||||||
|
return response
|
||||||
|
actions.register(openFolder, cache=False)
|
||||||
|
|
|
@ -329,3 +329,10 @@ def makefolder(path):
|
||||||
dirname = os.path.dirname(path)
|
dirname = os.path.dirname(path)
|
||||||
if not os.path.exists(dirname):
|
if not os.path.exists(dirname):
|
||||||
os.makedirs(dirname)
|
os.makedirs(dirname)
|
||||||
|
|
||||||
|
|
||||||
|
def open_folder(folder):
|
||||||
|
cmd = 'open'
|
||||||
|
if sys.platform.startswith('linux'):
|
||||||
|
cmd = 'xdg-open'
|
||||||
|
subprocess.Popen([cmd, folder], close_fds=True)
|
||||||
|
|
|
@ -184,6 +184,19 @@ oml.ui.infoView = function(identifyData) {
|
||||||
})
|
})
|
||||||
.css({marginTop: '16px'});
|
.css({marginTop: '16px'});
|
||||||
}
|
}
|
||||||
|
function renderOpenButton(data) {
|
||||||
|
return data.mediastate == 'available'
|
||||||
|
? Ox.Button({
|
||||||
|
title: Ox._('Open Folder'),
|
||||||
|
width: 128
|
||||||
|
})
|
||||||
|
.css({marginTop: '16px'})
|
||||||
|
.bindEvent({
|
||||||
|
click: function() {
|
||||||
|
oml.api.openFolder({id: oml.user.ui.item});
|
||||||
|
}
|
||||||
|
}) : Ox.Element();
|
||||||
|
}
|
||||||
|
|
||||||
function renderMediaButton(data) {
|
function renderMediaButton(data) {
|
||||||
|
|
||||||
|
@ -666,6 +679,8 @@ oml.ui.infoView = function(identifyData) {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
renderOpenButton(data).appendTo($data);
|
||||||
|
|
||||||
$('<div>').css({height: '16px'}).appendTo($data);
|
$('<div>').css({height: '16px'}).appendTo($data);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue