mirror of
https://github.com/lxsang/antos-frontend.git
synced 2024-12-28 02:08:22 +01:00
VFS(cont)
This commit is contained in:
parent
a70f52f965
commit
dfbeb16601
@ -70,6 +70,8 @@ class BaseModel
|
|||||||
fail: (m) ->
|
fail: (m) ->
|
||||||
@publish "fail", m
|
@publish "fail", m
|
||||||
|
|
||||||
|
throwe: () ->
|
||||||
|
@_api.throwe @name
|
||||||
|
|
||||||
find: (id) -> ($ "[data-id='#{id}']", @scheme)[0] if @scheme
|
find: (id) -> ($ "[data-id='#{id}']", @scheme)[0] if @scheme
|
||||||
|
|
||||||
|
@ -55,3 +55,12 @@ self.OS.API =
|
|||||||
path = "resources/#{r}"
|
path = "resources/#{r}"
|
||||||
_API.get path, c, f
|
_API.get path, c, f
|
||||||
|
|
||||||
|
throwe: (n) ->
|
||||||
|
err = undefined
|
||||||
|
try
|
||||||
|
throw new Error(n)
|
||||||
|
catch e
|
||||||
|
err = e
|
||||||
|
return "" if not err
|
||||||
|
return err.stack
|
||||||
|
|
||||||
|
@ -2,12 +2,17 @@ self.OS.API.handler =
|
|||||||
scandir: (p, c ) ->
|
scandir: (p, c ) ->
|
||||||
path = "lua-api/fs/scandir"
|
path = "lua-api/fs/scandir"
|
||||||
_API.post path, { path: p }, c, (e, s) ->
|
_API.post path, { path: p }, c, (e, s) ->
|
||||||
_courrier.osfail "Fail to scan directory: #{path}", e, s
|
_courrier.osfail "Fail to scan directory: #{p}", e, s
|
||||||
|
|
||||||
fileinfo: (p, c) ->
|
fileinfo: (p, c) ->
|
||||||
path = "lua-api/fs/fileinfo"
|
path = "lua-api/fs/fileinfo"
|
||||||
_API.post path, { path: p }, c, (e, s) ->
|
_API.post path, { path: p }, c, (e, s) ->
|
||||||
_courrier.osfail "Fail to get file metadata: #{path}", e, s
|
_courrier.osfail "Fail to get file metadata: #{p}", e, s
|
||||||
|
|
||||||
|
readfile: (p, c) ->
|
||||||
|
path = "lua-api/fs/get/"
|
||||||
|
_API.get path + p, c, (e, s) ->
|
||||||
|
_courrier.osfail "Fail to read file: #{p}",e , s
|
||||||
|
|
||||||
scanapp: (p, c ) ->
|
scanapp: (p, c ) ->
|
||||||
path = "lua-api/system/application"
|
path = "lua-api/system/application"
|
||||||
|
@ -39,21 +39,21 @@ class BasicFileHandler
|
|||||||
return @ if @isRoot()
|
return @ if @isRoot()
|
||||||
(@protocol + ":///" + (@genealogy.slice 0 , @genealogy.length - 1).join "/").asFileHandler()
|
(@protocol + ":///" + (@genealogy.slice 0 , @genealogy.length - 1).join "/").asFileHandler()
|
||||||
|
|
||||||
onready: (f, e) ->
|
onready: (f) ->
|
||||||
# read meta data
|
# read meta data
|
||||||
return f() if @ready
|
return f() if @ready
|
||||||
me = @
|
me = @
|
||||||
me.meta (d) ->
|
me.meta (d) ->
|
||||||
return e d.error if d.error
|
return _courrier.osfail d.error, (_API.throwe "OS.VFS"), d.error if d.error
|
||||||
me.meta = d.result
|
me.meta = d.result
|
||||||
me.ready = true
|
me.ready = true
|
||||||
f()
|
f()
|
||||||
|
|
||||||
#public interface for all action on file
|
#public interface for all action on file
|
||||||
do: (a, f, e) ->
|
do: (a, f) ->
|
||||||
return e "Action #{a} not found" if not @[a]
|
return _courrier.osfail "VFS unknown action: #{a}", (_API.throwe "OS.VFS"), a if not @[a]
|
||||||
me = @
|
me = @
|
||||||
@onready (() -> me[a] f), e
|
@onready (() -> me[a] f)
|
||||||
|
|
||||||
|
|
||||||
# methods implemented by subclasses used as private methods
|
# methods implemented by subclasses used as private methods
|
||||||
@ -67,8 +67,6 @@ class BasicFileHandler
|
|||||||
|
|
||||||
execute: (f) ->
|
execute: (f) ->
|
||||||
|
|
||||||
ls: (f) ->
|
|
||||||
|
|
||||||
mk: (f) ->
|
mk: (f) ->
|
||||||
|
|
||||||
# now export the class
|
# now export the class
|
||||||
@ -82,9 +80,10 @@ class RemoteFileHandler extends self.OS.API.VFS.BasicFileHandler
|
|||||||
meta: (f) ->
|
meta: (f) ->
|
||||||
_API.handler.fileinfo @path, f
|
_API.handler.fileinfo @path, f
|
||||||
|
|
||||||
ls: (f) ->
|
read: (f) ->
|
||||||
return f(@) if @meta.type is "file"
|
return _API.handler.scandir @path, f if @meta.type is "dir"
|
||||||
_API.handler.scandir @path, f
|
#read the file
|
||||||
|
_API.handler.readfile @path, f
|
||||||
|
|
||||||
self.OS.API.VFS.RemoteFileHandler = RemoteFileHandler
|
self.OS.API.VFS.RemoteFileHandler = RemoteFileHandler
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ class PushNotification extends this.OS.GUI.BaseService
|
|||||||
|
|
||||||
pushout: (s, o, mfeed) ->
|
pushout: (s, o, mfeed) ->
|
||||||
d = {
|
d = {
|
||||||
text: "[#{s}] #{o.name} (#{o.id}): #{o.data.m}",
|
text: "[#{s}] #{o.name} (#{o.id}): #{o.data.m} : #{o.data.e}",
|
||||||
icon: o.data.icon,
|
icon: o.data.icon,
|
||||||
iconclass: o.data.iconclass,
|
iconclass: o.data.iconclass,
|
||||||
closable: true }
|
closable: true }
|
||||||
|
Loading…
Reference in New Issue
Block a user