summaryrefslogtreecommitdiff
path: root/crocoite/behavior.py
diff options
context:
space:
mode:
Diffstat (limited to 'crocoite/behavior.py')
-rw-r--r--crocoite/behavior.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/crocoite/behavior.py b/crocoite/behavior.py
index fd4d066..efb2ced 100644
--- a/crocoite/behavior.py
+++ b/crocoite/behavior.py
@@ -52,11 +52,12 @@ class Script:
""" A JavaScript resource """
__slots__ = ('path', 'data')
+ datadir = 'data'
def __init__ (self, path=None, encoding='utf-8'):
self.path = path
if path:
- self.data = pkg_resources.resource_string (__name__, os.path.join ('data', path)).decode (encoding)
+ self.data = pkg_resources.resource_string (__name__, os.path.join (self.datadir, path)).decode (encoding)
def __repr__ (self):
return f'<Script {self.path}>'
@@ -64,6 +65,11 @@ class Script:
def __str__ (self):
return self.data
+ @property
+ def abspath (self):
+ return pkg_resources.resource_filename (__name__,
+ os.path.join (self.datadir, self.path))
+
@classmethod
def fromStr (cls, data, path=None):
s = Script ()
@@ -140,7 +146,7 @@ class JsOnload (Behavior):
constructor = result['objectId']
if self.options:
- yield Script.fromStr (json.dumps (self.options, indent=2), f'{self.script.path}/options')
+ yield Script.fromStr (json.dumps (self.options, indent=2), f'{self.script.path}#options')
result = await tab.Runtime.callFunctionOn (
functionDeclaration='function(options){return new this(options);}',
objectId=constructor,