Module tf.advanced.volumes
Produce links to Text-Fabric data and links from nodes to web resources.
Expand source code Browse git
"""
Produce links to Text-Fabric data and links from nodes to web resources.
"""
import re
import types
UNSUPPORTED = ""
pathRe = re.compile(
r"^(.*/(?:github|text-fabric-data))/([^/]+)/([^/]+)/(.*)$", flags=re.I
)
def volumesApi(app):
"""Produce the volume support functions API.
Volume support provides the functions `tf.volumes.extract` and
`tf.volumes.collect` as methods on the app object.
These operations will be called with the `_local` source/destination
With these operations you can `extract()` and `collect()` volumes
from the currently loaded work.
The volumes in question reside in the directory `_local`
under the main directory with feature files.
Parameters
----------
app: obj
The high-level API object
"""
app.getVolumes = types.MethodType(getVolumes, app)
if hasattr(app, "api"):
app.extract = types.MethodType(extract, app)
app.collect = types.MethodType(collect, app)
TF = app.TF
if TF is None:
return
app.collectionInfo = None
app.volumeInfo = None
if TF.collection:
app.collectionInfo = TF.collectionInfo
else:
if TF.volume:
app.volumeInfo = TF.volumeInfo
def getVolumes(app, *args, **kwargs):
"""Calls `tf.fabric.Fabric.getVolumes` from an app object.
!!! hint "No need to load feature data"
This function works even if no data has been loaded,
so you can use it after
```
A = use(xxx, loadData=False)
```
"""
TF = app.TF
if TF is None:
return []
return TF.getVolumes(*args, **kwargs)
def extract(app, *args, **kwargs):
"""Calls `tf.fabric.Fabric.extract` from an app object."""
TF = app.TF
if TF is None:
return {}
return TF.extract(*args, **kwargs)
def collect(app, *args, **kwargs):
"""Calls `tf.fabric.Fabric.collect` from an app object."""
TF = app.TF
if TF is None:
return False
return TF.collect(*args, **kwargs)
Functions
def collect(app, *args, **kwargs)
-
Calls
Fabric.collect()
from an app object.Expand source code Browse git
def collect(app, *args, **kwargs): """Calls `tf.fabric.Fabric.collect` from an app object.""" TF = app.TF if TF is None: return False return TF.collect(*args, **kwargs)
def extract(app, *args, **kwargs)
-
Calls
Fabric.extract()
from an app object.Expand source code Browse git
def extract(app, *args, **kwargs): """Calls `tf.fabric.Fabric.extract` from an app object.""" TF = app.TF if TF is None: return {} return TF.extract(*args, **kwargs)
def getVolumes(app, *args, **kwargs)
-
Calls
Fabric.getVolumes()
from an app object.No need to load feature data
This function works even if no data has been loaded, so you can use it after
A = use(xxx, loadData=False)
Expand source code Browse git
def getVolumes(app, *args, **kwargs): """Calls `tf.fabric.Fabric.getVolumes` from an app object. !!! hint "No need to load feature data" This function works even if no data has been loaded, so you can use it after ``` A = use(xxx, loadData=False) ``` """ TF = app.TF if TF is None: return [] return TF.getVolumes(*args, **kwargs)
def volumesApi(app)
-
Produce the volume support functions API.
Volume support provides the functions
tf.volumes.extract
andtf.volumes.collect
as methods on the app object. These operations will be called with the_local
source/destination With these operations you canextract()
andcollect()
volumes from the currently loaded work. The volumes in question reside in the directory_local
under the main directory with feature files.Parameters
app
:obj
- The high-level API object
Expand source code Browse git
def volumesApi(app): """Produce the volume support functions API. Volume support provides the functions `tf.volumes.extract` and `tf.volumes.collect` as methods on the app object. These operations will be called with the `_local` source/destination With these operations you can `extract()` and `collect()` volumes from the currently loaded work. The volumes in question reside in the directory `_local` under the main directory with feature files. Parameters ---------- app: obj The high-level API object """ app.getVolumes = types.MethodType(getVolumes, app) if hasattr(app, "api"): app.extract = types.MethodType(extract, app) app.collect = types.MethodType(collect, app) TF = app.TF if TF is None: return app.collectionInfo = None app.volumeInfo = None if TF.collection: app.collectionInfo = TF.collectionInfo else: if TF.volume: app.volumeInfo = TF.volumeInfo