Make OptionalManager functions merger site compatible
This commit is contained in:
parent
0a2617cd21
commit
7d0852f7f3
1 changed files with 19 additions and 0 deletions
|
@ -4,6 +4,10 @@ import time
|
||||||
from Plugin import PluginManager
|
from Plugin import PluginManager
|
||||||
from util import RateLimit
|
from util import RateLimit
|
||||||
from util import helper
|
from util import helper
|
||||||
|
try:
|
||||||
|
import OptionalManager.UiWebsocketPlugin # To make optioanlFileInfo merger sites compatible
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
|
||||||
if "merger_db" not in locals().keys(): # To keep merger_sites between module reloads
|
if "merger_db" not in locals().keys(): # To keep merger_sites between module reloads
|
||||||
merger_db = {} # Sites that allowed to list other sites {address: [type1, type2...]}
|
merger_db = {} # Sites that allowed to list other sites {address: [type1, type2...]}
|
||||||
|
@ -99,6 +103,15 @@ class UiWebsocketPlugin(object):
|
||||||
ret[address] = merged_type
|
ret[address] = merged_type
|
||||||
self.response(to, ret)
|
self.response(to, ret)
|
||||||
|
|
||||||
|
def hasSitePermission(self, address):
|
||||||
|
if super(UiWebsocketPlugin, self).hasSitePermission(address):
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
if self.site.address in [merger_site.address for merger_site in merged_to_merger.get(address, [])]:
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
# Add support merger sites for file commands
|
# Add support merger sites for file commands
|
||||||
def mergerFuncWrapper(self, func_name, to, inner_path, *args, **kwargs):
|
def mergerFuncWrapper(self, func_name, to, inner_path, *args, **kwargs):
|
||||||
func = getattr(super(UiWebsocketPlugin, self), func_name)
|
func = getattr(super(UiWebsocketPlugin, self), func_name)
|
||||||
|
@ -132,6 +145,12 @@ class UiWebsocketPlugin(object):
|
||||||
def actionFileRules(self, to, inner_path, *args, **kwargs):
|
def actionFileRules(self, to, inner_path, *args, **kwargs):
|
||||||
return self.mergerFuncWrapper("actionFileRules", to, inner_path, *args, **kwargs)
|
return self.mergerFuncWrapper("actionFileRules", to, inner_path, *args, **kwargs)
|
||||||
|
|
||||||
|
def actionOptionalFileInfo(self, to, inner_path, *args, **kwargs):
|
||||||
|
return self.mergerFuncWrapper("actionOptionalFileInfo", to, inner_path, *args, **kwargs)
|
||||||
|
|
||||||
|
def actionOptionalFileDelete(self, to, inner_path, *args, **kwargs):
|
||||||
|
return self.mergerFuncWrapper("actionOptionalFileDelete", to, inner_path, *args, **kwargs)
|
||||||
|
|
||||||
# Add support merger sites for file commands with privatekey parameter
|
# Add support merger sites for file commands with privatekey parameter
|
||||||
def mergerFuncWrapperWithPrivatekey(self, func_name, to, privatekey, inner_path, *args, **kwargs):
|
def mergerFuncWrapperWithPrivatekey(self, func_name, to, privatekey, inner_path, *args, **kwargs):
|
||||||
func = getattr(super(UiWebsocketPlugin, self), func_name)
|
func = getattr(super(UiWebsocketPlugin, self), func_name)
|
||||||
|
|
Loading…
Reference in a new issue