From 98c7897498eb3dc566f8d7d699df237b3a0c5d10 Mon Sep 17 00:00:00 2001 From: Dirk Roorda Date: Mon, 3 Jun 2024 20:00:29 +0100 Subject: [PATCH] docs update --- index.js | 21 +- tf/about/annotate.html | 2 +- tf/about/annotateBrowser.html | 2 +- tf/about/apps.html | 2 +- tf/about/background.html | 2 +- tf/about/browser.html | 2 +- tf/about/clientmanual.html | 2 +- tf/about/code.html | 2 +- tf/about/corpora.html | 2 +- tf/about/datamodel.html | 2 +- tf/about/datasharing.html | 2 +- tf/about/displaydesign.html | 2 +- tf/about/faq.html | 2 +- tf/about/fileformats.html | 2 +- tf/about/index.html | 2 +- tf/about/install.html | 2 +- tf/about/manual.html | 2 +- tf/about/optimizations.html | 2 +- tf/about/releases.html | 2 +- tf/about/releasesold.html | 2 +- tf/about/searchdesign.html | 2 +- tf/about/searchusage.html | 2 +- tf/about/tests.html | 2 +- tf/about/use.html | 2 +- tf/about/usefunc.html | 2 +- tf/about/variants.html | 2 +- tf/about/volumes.html | 2 +- tf/advanced/annotate.html | 6 +- tf/advanced/app.html | 18 +- tf/advanced/condense.html | 6 +- tf/advanced/data.html | 18 +- tf/advanced/display.html | 32 +- tf/advanced/find.html | 8 +- tf/advanced/helpers.html | 56 +-- tf/advanced/highlight.html | 10 +- tf/advanced/index.html | 2 +- tf/advanced/interchange.html | 4 +- tf/advanced/links.html | 16 +- tf/advanced/options.html | 22 +- tf/advanced/render.html | 4 +- tf/advanced/repo.html | 110 +++--- tf/advanced/search.html | 12 +- tf/advanced/sections.html | 10 +- tf/advanced/settings.html | 36 +- tf/advanced/tables.html | 8 +- tf/advanced/text.html | 8 +- tf/advanced/unravel.html | 14 +- tf/advanced/volumes.html | 10 +- tf/advanced/zipdata.html | 16 +- tf/app.html | 4 +- tf/browser/command.html | 10 +- tf/browser/html.html | 40 +-- tf/browser/index.html | 2 +- tf/browser/kernel.html | 4 +- tf/browser/ner/annotate.html | 26 +- tf/browser/ner/corpus.html | 4 +- tf/browser/ner/data.html | 28 +- tf/browser/ner/form.html | 20 +- tf/browser/ner/fragments.html | 38 +-- tf/browser/ner/helpers.html | 22 +- tf/browser/ner/match.html | 228 ++++++++++++- tf/browser/ner/ner.html | 107 +++--- tf/browser/ner/request.html | 12 +- tf/browser/ner/serve.html | 26 +- tf/browser/ner/sets.html | 18 +- tf/browser/ner/settings.html | 6 +- tf/browser/ner/show.html | 10 +- tf/browser/ner/triggers.html | 617 +++++++++++++++++++++++++++++----- tf/browser/ner/web.html | 4 +- tf/browser/serve.html | 14 +- tf/browser/servelib.html | 12 +- tf/browser/start.html | 8 +- tf/browser/web.html | 12 +- tf/browser/wrap.html | 16 +- tf/capable.html | 18 +- tf/cheatsheet.html | 2 +- tf/clean.html | 8 +- tf/client/index.html | 2 +- tf/client/make/build.html | 68 ++-- tf/client/make/gh.html | 6 +- tf/client/make/help.html | 2 +- tf/client/make/index.html | 2 +- tf/convert/addnlp.html | 20 +- tf/convert/app/app.html | 6 +- tf/convert/helpers.html | 18 +- tf/convert/index.html | 2 +- tf/convert/makewatm.html | 20 +- tf/convert/mql.html | 20 +- tf/convert/pagexml.html | 32 +- tf/convert/pandas.html | 4 +- tf/convert/recorder.html | 24 +- tf/convert/tei.html | 34 +- tf/convert/tf.html | 4 +- tf/convert/variants.html | 20 +- tf/convert/walker.html | 40 +-- tf/convert/watm.html | 38 +-- tf/convert/xml.html | 24 +- tf/convert/xmlCustom.html | 6 +- tf/core/api.html | 34 +- tf/core/command.html | 4 +- tf/core/computed.html | 6 +- tf/core/data.html | 12 +- tf/core/edgefeature.html | 16 +- tf/core/fabric.html | 14 +- tf/core/files.html | 78 ++--- tf/core/generic.html | 12 +- tf/core/helpers.html | 84 ++--- tf/core/index.html | 2 +- tf/core/locality.html | 14 +- tf/core/nodefeature.html | 14 +- tf/core/nodes.html | 10 +- tf/core/oslotsfeature.html | 8 +- tf/core/otypefeature.html | 12 +- tf/core/prepare.html | 20 +- tf/core/text.html | 32 +- tf/core/timestamp.html | 30 +- tf/dataset/index.html | 2 +- tf/dataset/modify.html | 4 +- tf/dataset/nodemaps.html | 22 +- tf/fabric.html | 10 +- tf/index.html | 2 +- tf/lib.html | 10 +- tf/parameters.html | 2 +- tf/search/graph.html | 12 +- tf/search/index.html | 2 +- tf/search/relations.html | 10 +- tf/search/search.html | 20 +- tf/search/searchexe.html | 18 +- tf/search/semantics.html | 4 +- tf/search/spin.html | 8 +- tf/search/stitch.html | 6 +- tf/search/syntax.html | 12 +- tf/tools/checkdiffs.html | 4 +- tf/tools/index.html | 2 +- tf/tools/myspacy.html | 14 +- tf/tools/nbconvert.html | 10 +- tf/tools/pdocs.html | 14 +- tf/tools/release.html | 4 +- tf/tools/xmlschema.html | 50 +-- tf/volumes/collect.html | 4 +- tf/volumes/extract.html | 6 +- tf/volumes/index.html | 2 +- tf/writing/arabic.html | 2 +- tf/writing/greek.html | 2 +- tf/writing/hebrew.html | 2 +- tf/writing/index.html | 2 +- tf/writing/neoaramaic.html | 2 +- tf/writing/syriac.html | 2 +- tf/writing/transcription.html | 50 +-- tf/writing/ugaritic.html | 2 +- tf/zip.html | 4 +- 151 files changed, 1806 insertions(+), 1125 deletions(-) diff --git a/index.js b/index.js index b80639be2..3ab1b72a9 100644 --- a/index.js +++ b/index.js @@ -4140,12 +4140,23 @@ INDEX=[ "func":1 }, { +"ref":"tf.browser.ner.triggers.Triggers.showInfo", +"url":98, +"doc":"", +"func":1 +}, +{ "ref":"tf.browser.ner.triggers.Triggers.showRawInfo", "url":98, "doc":"", "func":1 }, { +"ref":"tf.browser.ner.triggers.Triggers.instructions", +"url":98, +"doc":"Will contain the information in a spreadsheet for marking up entities." +}, +{ "ref":"tf.browser.ner.request", "url":99, "doc":"Auxiliary functions for managing request data. To see how this fits among all the modules of this package, see tf.browser.ner.annotate ." @@ -4846,9 +4857,9 @@ INDEX=[ "func":1 }, { -"ref":"tf.browser.ner.ner.NER.instructions", +"ref":"tf.browser.ner.ner.NER.Trig", "url":108, -"doc":"Will contain the information in a spreadsheet for marking up entities." +"doc":"Will contain the object that has compiled the triggers for named entities." }, { "ref":"tf.browser.ner.ner.NER.inventory", @@ -5925,6 +5936,12 @@ INDEX=[ { "ref":"tf.browser.ner.match.occMatch", "url":110, +"doc":"Finds the occurrences of multiple sequences of tokens in a single bucket. Parameters getTokens: function See tf.browser.ner.corpus.Corpus.getTokens buckets: tuple of integer The bucket nodes in question qTokenSet: set, optional set() A set of sequences of tokens. Each sequence in the set will be used as a search pattern, and it occurrences in the bucket are collected. result: dict A dictionary to collect the results in. Keyed by each member of parameter qTokenSet the values are the occurrences of that member in the corpus. A single occurrence is represented as a tuple of slots.", +"func":1 +}, +{ +"ref":"tf.browser.ner.match.occMatchOld", +"url":110, "doc":"Finds the occurrences of multiple sequences of tokens in a single bucket. Parameters getTokens: function See tf.browser.ner.corpus.Corpus.getTokens b: integer The node of the bucket in question qTokenSet: set, optional set() A set of sequences of tokens. Each sequence in the set will be used as a search pattern, and it occurrences in the bucket are collected. result: dict A dictionary to collect the results in. Keyed by each member of parameter qTokenSet the values are the occurrences of that member in the corpus. A single occurrence is represented as a tuple of slots.", "func":1 }, diff --git a/tf/about/annotate.html b/tf/about/annotate.html index be7055707..15de433ee 100644 --- a/tf/about/annotate.html +++ b/tf/about/annotate.html @@ -298,7 +298,7 @@
Expand source code -Browse git +Browse git
"""
 .. include:: ../docs/about/annotate.md
diff --git a/tf/about/annotateBrowser.html b/tf/about/annotateBrowser.html
index f4d4e736a..034be89c7 100644
--- a/tf/about/annotateBrowser.html
+++ b/tf/about/annotateBrowser.html
@@ -267,7 +267,7 @@ 

Programming

Expand source code -Browse git +Browse git
"""
 .. include:: ../docs/about/annotateBrowser.md
diff --git a/tf/about/apps.html b/tf/about/apps.html
index d232bc255..0a7690e72 100644
--- a/tf/about/apps.html
+++ b/tf/about/apps.html
@@ -115,7 +115,7 @@ 

Two contexts

Expand source code -Browse git +Browse git
"""
 .. include:: ../docs/about/apps.md
diff --git a/tf/about/background.html b/tf/about/background.html
index c3354ebb3..3c73a0928 100644
--- a/tf/about/background.html
+++ b/tf/about/background.html
@@ -155,7 +155,7 @@ 

History

Expand source code -Browse git +Browse git
"""
 .. include:: ../docs/about/background.md
diff --git a/tf/about/browser.html b/tf/about/browser.html
index 5de5b4311..8cabf0732 100644
--- a/tf/about/browser.html
+++ b/tf/about/browser.html
@@ -174,7 +174,7 @@ 

UNICODE in Excel CSVs

Expand source code -Browse git +Browse git
"""
 .. include:: ../docs/about/browser.md
diff --git a/tf/about/clientmanual.html b/tf/about/clientmanual.html
index 27461ca0a..54eb1f6b3 100644
--- a/tf/about/clientmanual.html
+++ b/tf/about/clientmanual.html
@@ -565,7 +565,7 @@ 

Credits

Expand source code -Browse git +Browse git
"""
 .. include:: ../docs/about/clientmanual.md
diff --git a/tf/about/code.html b/tf/about/code.html
index c535152de..18972cf35 100644
--- a/tf/about/code.html
+++ b/tf/about/code.html
@@ -98,7 +98,7 @@ 

Writing

Expand source code -Browse git +Browse git
"""
 .. include:: ../docs/about/code.md
diff --git a/tf/about/corpora.html b/tf/about/corpora.html
index 5c8c31d2d..97d2af34e 100644
--- a/tf/about/corpora.html
+++ b/tf/about/corpora.html
@@ -351,7 +351,7 @@ 

Extra data

Expand source code -Browse git +Browse git
"""
 .. include:: ../docs/about/corpora.md
diff --git a/tf/about/datamodel.html b/tf/about/datamodel.html
index 1635f9643..018364900 100644
--- a/tf/about/datamodel.html
+++ b/tf/about/datamodel.html
@@ -265,7 +265,7 @@ 

Serializing and pre-computing

Expand source code -Browse git +Browse git
"""
 .. include:: ../docs/about/datamodel.md
diff --git a/tf/about/datasharing.html b/tf/about/datasharing.html
index c143cd3a6..6015ca813 100644
--- a/tf/about/datasharing.html
+++ b/tf/about/datasharing.html
@@ -362,7 +362,7 @@ 

More modules at the same time

Expand source code -Browse git +Browse git
"""
 .. include:: ../docs/about/datasharing.md
diff --git a/tf/about/displaydesign.html b/tf/about/displaydesign.html
index dffc4edc4..c7dd7cbce 100644
--- a/tf/about/displaydesign.html
+++ b/tf/about/displaydesign.html
@@ -151,7 +151,7 @@ 

Output

Expand source code -Browse git +Browse git
"""
 .. include:: ../docs/about/displaydesign.md
diff --git a/tf/about/faq.html b/tf/about/faq.html
index 37ce9ee5d..00655bebf 100644
--- a/tf/about/faq.html
+++ b/tf/about/faq.html
@@ -161,7 +161,7 @@ 

GitHub Rate Limit Exceeded!

Expand source code -Browse git +Browse git
"""
 .. include:: ../docs/about/faq.md
diff --git a/tf/about/fileformats.html b/tf/about/fileformats.html
index 24408116f..376183130 100644
--- a/tf/about/fileformats.html
+++ b/tf/about/fileformats.html
@@ -158,7 +158,7 @@ 

Single values

Expand source code -Browse git +Browse git
"""
 .. include:: ../docs/about/fileformats.md
diff --git a/tf/about/index.html b/tf/about/index.html
index 664f025a0..af4c15b37 100644
--- a/tf/about/index.html
+++ b/tf/about/index.html
@@ -33,7 +33,7 @@ 

Documents

Expand source code -Browse git +Browse git
"""
 # Documents
diff --git a/tf/about/install.html b/tf/about/install.html
index bed5e02b5..f8b4722bf 100644
--- a/tf/about/install.html
+++ b/tf/about/install.html
@@ -108,7 +108,7 @@ 

Note for Linux users

Expand source code -Browse git +Browse git
"""
 .. include:: ../docs/about/install.md
diff --git a/tf/about/manual.html b/tf/about/manual.html
index c0e931d81..daf4ad674 100644
--- a/tf/about/manual.html
+++ b/tf/about/manual.html
@@ -390,7 +390,7 @@ 

Keyboard shortcuts

Expand source code -Browse git +Browse git
"""
 .. include:: ../docs/about/manual.md
diff --git a/tf/about/optimizations.html b/tf/about/optimizations.html
index 0163a44b4..70b7d738e 100644
--- a/tf/about/optimizations.html
+++ b/tf/about/optimizations.html
@@ -187,7 +187,7 @@ 

Edge features

Expand source code -Browse git +Browse git
"""
 .. include:: ../docs/about/optimizations.md
diff --git a/tf/about/releases.html b/tf/about/releases.html
index 1b0186ad7..3d8e87ce6 100644
--- a/tf/about/releases.html
+++ b/tf/about/releases.html
@@ -482,7 +482,7 @@ 

Older releases

Expand source code -Browse git +Browse git
"""
 .. include:: ../docs/about/releases.md
diff --git a/tf/about/releasesold.html b/tf/about/releasesold.html
index 033fa70b6..708eaa20d 100644
--- a/tf/about/releasesold.html
+++ b/tf/about/releasesold.html
@@ -3430,7 +3430,7 @@ 
Changed
Expand source code -Browse git +Browse git
"""
 .. include:: ../docs/about/releasesold.md
diff --git a/tf/about/searchdesign.html b/tf/about/searchdesign.html
index 01e1a9e2d..74f80dd84 100644
--- a/tf/about/searchdesign.html
+++ b/tf/about/searchdesign.html
@@ -477,7 +477,7 @@ 

Small-first strategy

Expand source code -Browse git +Browse git
"""
 .. include:: ../docs/about/searchdesign.md
diff --git a/tf/about/searchusage.html b/tf/about/searchusage.html
index 883ebfd66..87036b792 100644
--- a/tf/about/searchusage.html
+++ b/tf/about/searchusage.html
@@ -776,7 +776,7 @@ 
Implementation
Expand source code -Browse git +Browse git
"""
 .. include:: ../docs/about/searchusage.md
diff --git a/tf/about/tests.html b/tf/about/tests.html
index c4b88b25d..e948f0ba1 100644
--- a/tf/about/tests.html
+++ b/tf/about/tests.html
@@ -71,7 +71,7 @@ 

Relations

Expand source code -Browse git +Browse git
"""
 .. include:: ../docs/about/tests.md
diff --git a/tf/about/use.html b/tf/about/use.html
index dce3e8cb3..54f3f55b5 100644
--- a/tf/about/use.html
+++ b/tf/about/use.html
@@ -90,7 +90,7 @@ 

TF API

Expand source code -Browse git +Browse git
"""
 .. include:: ../docs/about/use.md
diff --git a/tf/about/usefunc.html b/tf/about/usefunc.html
index 3d39f8dce..68b8cb713 100644
--- a/tf/about/usefunc.html
+++ b/tf/about/usefunc.html
@@ -419,7 +419,7 @@ 

Prevent data loading

Expand source code -Browse git +Browse git
"""
 .. include:: ../docs/about/usefunc.md
diff --git a/tf/about/variants.html b/tf/about/variants.html
index ef94744e1..f8630fe2a 100644
--- a/tf/about/variants.html
+++ b/tf/about/variants.html
@@ -438,7 +438,7 @@ 

The stack

Expand source code -Browse git +Browse git
"""
 .. include:: ../docs/about/variants.md
diff --git a/tf/about/volumes.html b/tf/about/volumes.html
index f669b4143..c26b79d4f 100644
--- a/tf/about/volumes.html
+++ b/tf/about/volumes.html
@@ -323,7 +323,7 @@ 

Reflection

Expand source code -Browse git +Browse git
"""
 .. include:: ../docs/about/volumes.md
diff --git a/tf/advanced/annotate.html b/tf/advanced/annotate.html
index 700b9c54a..2df468229 100644
--- a/tf/advanced/annotate.html
+++ b/tf/advanced/annotate.html
@@ -34,7 +34,7 @@ 

Module tf.advanced.annotate

Expand source code -Browse git +Browse git
"""
 Enable manual annotation APIs.
@@ -84,7 +84,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def annotateApi(app):
     """Produce the interchange functions API.
@@ -106,7 +106,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def makeNer(app):
     return NER(app)
diff --git a/tf/advanced/app.html b/tf/advanced/app.html index 136fcc791..970b75b7c 100644 --- a/tf/advanced/app.html +++ b/tf/advanced/app.html @@ -31,7 +31,7 @@

Module tf.advanced.app

Expand source code -Browse git +Browse git
import types
 import traceback
@@ -834,7 +834,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def findApp(
     appName,
@@ -1129,7 +1129,7 @@ 

Returns

Expand source code -Browse git +Browse git
def loadApp(silent=DEEP):
     """Loads a given TF app or loads the TF app based on the working directory.
@@ -1197,7 +1197,7 @@ 

See Also

Expand source code -Browse git +Browse git
def useApp(appName, backend):
     """Make use of a corpus.
@@ -1299,7 +1299,7 @@ 

Parameters

Expand source code -Browse git +Browse git
class App:
     def __init__(
@@ -1665,7 +1665,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def hoist(self, hoist, silent=None):
     """Hoist the API handles of this TF app to the global scope.
@@ -1733,7 +1733,7 @@ 

Returns

Expand source code -Browse git +Browse git
def load(self, features, silent=SILENT_D):
     """Loads extra features in addition to the main dataset.
@@ -1771,7 +1771,7 @@ 

Returns

Expand source code -Browse git +Browse git
def reinit(self):
     """TF Apps may override this method.
@@ -1806,7 +1806,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def reuse(self, hoist=False):
     """Re-initialize the app.
diff --git a/tf/advanced/condense.html b/tf/advanced/condense.html
index 3afa093da..e9ac9a14c 100644
--- a/tf/advanced/condense.html
+++ b/tf/advanced/condense.html
@@ -31,7 +31,7 @@ 

Module tf.advanced.condense

Expand source code -Browse git +Browse git
def condense(api, tuples, condenseType, multiple=False):
     F = api.F
@@ -135,7 +135,7 @@ 

Functions

Expand source code -Browse git +Browse git
def condense(api, tuples, condenseType, multiple=False):
     F = api.F
@@ -192,7 +192,7 @@ 

Functions

Expand source code -Browse git +Browse git
def condenseSet(api, tup, condenseType):
     F = api.F
diff --git a/tf/advanced/data.html b/tf/advanced/data.html
index af6710516..a608a3c07 100644
--- a/tf/advanced/data.html
+++ b/tf/advanced/data.html
@@ -31,7 +31,7 @@ 

Module tf.advanced.data

Expand source code -Browse git +Browse git
from ..core.helpers import itemize
 from ..core.files import backendRep, expandDir, prefixSlash, normpath
@@ -496,7 +496,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def getModulesData(*args):
     """Retrieve all data for a corpus.
@@ -556,7 +556,7 @@ 

Parameters

Expand source code -Browse git +Browse git
class AppData:
     def __init__(
@@ -989,7 +989,7 @@ 

See Also

Expand source code -Browse git +Browse git
def getExtra(self):
     """Get the extra data specified by the settings of the corpus.
@@ -1051,7 +1051,7 @@ 

See Also

Expand source code -Browse git +Browse git
def getMain(self):
     """Get the main data of the corpus.
@@ -1126,7 +1126,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def getModule(
     self,
@@ -1271,7 +1271,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def getModules(self):
     """Get data from additional local directories.
@@ -1342,7 +1342,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def getRefs(self):
     """Get data from additional modules.
@@ -1397,7 +1397,7 @@ 

See Also

Expand source code -Browse git +Browse git
def getStandard(self):
     """Get the data of the standard modules specified by the settings of the corpus.
diff --git a/tf/advanced/display.html b/tf/advanced/display.html
index c20f2d31c..59b74b595 100644
--- a/tf/advanced/display.html
+++ b/tf/advanced/display.html
@@ -69,7 +69,7 @@ 

See also

Expand source code -Browse git +Browse git
"""
 # Display
@@ -1126,7 +1126,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def displayApi(app, silent=SILENT_D):
     """Produce the display API.
@@ -1193,7 +1193,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def displayReset(app, *options):
     """Restore display parameters to their defaults.
@@ -1251,7 +1251,7 @@ 

See Also

Expand source code -Browse git +Browse git
def displaySetup(app, *show, **options):
     """Set up all display parameters.
@@ -1309,7 +1309,7 @@ 

See Also

Expand source code -Browse git +Browse git
def displayShow(app, *options):
     """Show display parameters.
@@ -1444,7 +1444,7 @@ 

Results

Expand source code -Browse git +Browse git
def export(app, tuples, toDir=None, toFile="results.tsv", **options):
     """Exports an iterable of tuples of nodes to an Excel friendly TSV file.
@@ -1589,7 +1589,7 @@ 

Returns

Expand source code -Browse git +Browse git
def getCss(app):
     """Export the CSS for this app.
@@ -1639,7 +1639,7 @@ 

Returns

Expand source code -Browse git +Browse git
def getToolCss(app, tool):
     """Export the CSS for a tool of this app.
@@ -1689,7 +1689,7 @@ 

Returns

Expand source code -Browse git +Browse git
def loadCss(app):
     """Load the CSS for this app.
@@ -1768,7 +1768,7 @@ 

Returns

Expand source code -Browse git +Browse git
def loadToolCss(app, tool, extraCss):
     """Load the Tool CSS for this app.
@@ -1840,7 +1840,7 @@ 

Result

Expand source code -Browse git +Browse git
def plain(app, n, _inTuple=False, _asString=False, explain=False, **options):
     """Display the plain text of a node.
@@ -1926,7 +1926,7 @@ 

Result

Expand source code -Browse git +Browse git
def plainTuple(
     app,
@@ -2169,7 +2169,7 @@ 

Result

Expand source code -Browse git +Browse git
def pretty(app, n, explain=False, _asString=False, **options):
     """Displays the material that corresponds to a node in a graphical way.
@@ -2248,7 +2248,7 @@ 

Result

Expand source code -Browse git +Browse git
def prettyTuple(app, tup, seq=None, _asString=False, item=RESULT, **options):
     """Displays the material that corresponds to a tuple of nodes in a graphical way.
@@ -2361,7 +2361,7 @@ 

Result

Expand source code -Browse git +Browse git
def show(app, tuples, _asString=False, **options):
     """Displays an iterable of tuples of nodes.
@@ -2464,7 +2464,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def table(app, tuples, _asString=False, **options):
     """Plain displays of an iterable of tuples of nodes in a table.
diff --git a/tf/advanced/find.html b/tf/advanced/find.html
index 2979b3f11..b72650325 100644
--- a/tf/advanced/find.html
+++ b/tf/advanced/find.html
@@ -31,7 +31,7 @@ 

Module tf.advanced.find

Expand source code -Browse git +Browse git
import sys
 from importlib import util
@@ -270,7 +270,7 @@ 

Returns

Expand source code -Browse git +Browse git
def findAppClass(appName, appPath):
     """Find the class definition of an app.
@@ -325,7 +325,7 @@ 

See Also

Expand source code -Browse git +Browse git
def findAppConfig(
     appName,
@@ -474,7 +474,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def loadModule(moduleName, *args):
     """Load a module dynamically, by name.
diff --git a/tf/advanced/helpers.html b/tf/advanced/helpers.html
index ea1918c75..3835048fb 100644
--- a/tf/advanced/helpers.html
+++ b/tf/advanced/helpers.html
@@ -31,7 +31,7 @@ 

Module tf.advanced.helpers

Expand source code -Browse git +Browse git
import collections
 from textwrap import dedent
@@ -864,7 +864,7 @@ 

Functions

Expand source code -Browse git +Browse git
def backendRepl(match):
     thisBackend.append(match.group(1))
@@ -894,7 +894,7 @@ 

Returns

Expand source code -Browse git +Browse git
def dh(html, inNb="ipython", unexpand=False):
     """Display HTML.
@@ -952,7 +952,7 @@ 

Returns

Expand source code -Browse git +Browse git
def dm(md, inNb="ipython", unexpand=False):
     """Display markdown.
@@ -995,7 +995,7 @@ 

Returns

Expand source code -Browse git +Browse git
def getHeaderTypes(app, tuples):
     api = app.api
@@ -1034,7 +1034,7 @@ 

Returns

Expand source code -Browse git +Browse git
def getHeaders(app, tuples):
     headerTypes = getHeaderTypes(app, tuples)
@@ -1058,7 +1058,7 @@ 

Returns

Expand source code -Browse git +Browse git
def getLocalDir(backend, cfg, local, version):
     provenanceSpec = cfg.get("provenanceSpec", {})
@@ -1098,7 +1098,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def getResultsX(app, results, features, condenseType, fmt=None):
     """Transform a uniform iterable of nodes into a table with extra information.
@@ -1194,7 +1194,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def getRowsX(app, tuples, features, condenseType, fmt=None):
     """Transform an iterable of nodes into a table with extra information.
@@ -1218,7 +1218,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def getText(
     app, isPretty, n, nType, outer, first, last, level, passage, descend, options=None
@@ -1311,7 +1311,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def getTuplesX(app, results, condenseType, fmt=None):
     """Transform a non-uniform iterable of nodes into a table with extra information.
@@ -1379,7 +1379,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def getValue(app, n, nType, feat, suppress, math=False):
     F = app.api.F
@@ -1408,7 +1408,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def hData(x):
     if not x:
@@ -1439,7 +1439,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def hDict(x, outer=False):
     elem = f"{'o' if outer else 'u'}l"
@@ -1469,7 +1469,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def hEmpty(x):
     return (
@@ -1491,7 +1491,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def hList(x, outer=False):
     elem = f"{'o' if outer else 'u'}l"
@@ -1519,7 +1519,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def hScalar(x):
     if type(x) is str:
@@ -1539,7 +1539,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def hScalar0(x):
     tpv = type(x)
@@ -1584,7 +1584,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def hasData(backend, local, org, repo, version, relative):
     versionRep = f"/{version}" if version else ""
@@ -1609,7 +1609,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def htmlSafe(text, isHtml, math=False):
     return text.replace("\n", "<br>") if isHtml else htmlEsc(text, math=math)
@@ -1627,7 +1627,7 @@

Parameters

Expand source code -Browse git +Browse git
def isUniform(app, tuples):
     """Whether the members of tuples are uniform.
@@ -1669,7 +1669,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def parseFeatures(features):
     if (
@@ -1698,7 +1698,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def parseFeaturesLogical(feats):
     bare = []
@@ -1725,7 +1725,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def runsInNotebook():
     """Determines whether the program runs in an interactive shell.
@@ -1771,7 +1771,7 @@ 

Returns

Expand source code -Browse git +Browse git
def showDict(title, data, _browse, inNb, *keys):
     """Shows selected keys of a dictionary in a pretty way.
@@ -1812,7 +1812,7 @@ 

Returns

Expand source code -Browse git +Browse git
def splitModRef(moduleRef):
     thisBackend.clear()
@@ -1890,7 +1890,7 @@ 

See Also

Expand source code -Browse git +Browse git
def transitiveClosure(relation, reflexiveExceptions):
     """Produce the reflexive transitive closure of a relation.
@@ -1958,7 +1958,7 @@ 

See Also

Expand source code -Browse git +Browse git
def tupleEnum(tuples, start, end, limit, item, inNb):
     if start is None:
diff --git a/tf/advanced/highlight.html b/tf/advanced/highlight.html
index b12797187..f835ebbd9 100644
--- a/tf/advanced/highlight.html
+++ b/tf/advanced/highlight.html
@@ -31,7 +31,7 @@ 

Module tf.advanced.highlight

Expand source code -Browse git +Browse git
from .search import runSearch
 
@@ -290,7 +290,7 @@ 

Returns

Expand source code -Browse git +Browse git
def getEdgeHlAtt(e, pair, highlights):
     """Get the edge highlight attribute and style for an edge, only for pretty mode.
@@ -370,7 +370,7 @@ 

Returns

Expand source code -Browse git +Browse git
def getHlAtt(app, n, highlights, isSlot):
     """Get the highlight attribute and style for a node for both pretty and plain modes.
@@ -457,7 +457,7 @@ 

Returns

Expand source code -Browse git +Browse git
def getPassageHighlights(app, node, query, colorMap, cache):
     """Get the highlights for a whole passage.
@@ -550,7 +550,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def getTupleHighlights(api, tup, highlights, colorMap, condenseType):
     """Get the highlights for a tuple of nodes.
diff --git a/tf/advanced/index.html b/tf/advanced/index.html
index 5afe5a0b8..de9a3444d 100644
--- a/tf/advanced/index.html
+++ b/tf/advanced/index.html
@@ -66,7 +66,7 @@ 

Advanced API

Expand source code -Browse git +Browse git
"""
 # Advanced API
diff --git a/tf/advanced/interchange.html b/tf/advanced/interchange.html
index 482e755fe..3bcb7ddc1 100644
--- a/tf/advanced/interchange.html
+++ b/tf/advanced/interchange.html
@@ -35,7 +35,7 @@ 

Module tf.advanced.interchange

Expand source code -Browse git +Browse git
"""
 Produce exports of the whole dataset in different formats.
@@ -86,7 +86,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def interchangeApi(app):
     """Produce the interchange functions API.
diff --git a/tf/advanced/links.html b/tf/advanced/links.html
index b2a5f3942..179e5acaf 100644
--- a/tf/advanced/links.html
+++ b/tf/advanced/links.html
@@ -32,7 +32,7 @@ 

Module tf.advanced.links

Expand source code -Browse git +Browse git
"""
 Produce links to TF data and links from nodes to web resources.
@@ -1100,7 +1100,7 @@ 

Returns

Expand source code -Browse git +Browse git
def flexLink(app, kind):
     """Produce documentation links that are heavily dependent on the back-end.
@@ -1175,7 +1175,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def header(app, allMeta=False):
     """Generate a colophon of the app.
@@ -1285,7 +1285,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def linksApi(app, silent=SILENT_D):
     """Produce the link API.
@@ -1468,7 +1468,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def outLink(
     text, href, title=None, passage=None, clsName=None, target="_blank", asHtml=True
@@ -1540,7 +1540,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def provenanceLink(
     backend, org, repo, version, branch, commit, local, release, relative
@@ -1627,7 +1627,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def showProvenance(app, jobName="program code", author="program author"):
     """Shows the provenance that is normally displayed during data loading.
@@ -1710,7 +1710,7 @@ 

See Also

Expand source code -Browse git +Browse git
def webLink(
     app, n, text=None, clsName=None, urlOnly=False, _asString=False, _noUrl=False
diff --git a/tf/advanced/options.html b/tf/advanced/options.html
index f292d655c..07060a8cd 100644
--- a/tf/advanced/options.html
+++ b/tf/advanced/options.html
@@ -392,7 +392,7 @@ 

Parameters

Expand source code -Browse git +Browse git
"""
 # Display Settings.
@@ -1144,7 +1144,7 @@ 

Classes

Expand source code -Browse git +Browse git
class Options:
     def __init__(self, app):
@@ -1327,7 +1327,7 @@ 

Methods

Expand source code -Browse git +Browse git
def check(self, msg, options):
     app = self.app
@@ -1389,7 +1389,7 @@ 

Methods

Expand source code -Browse git +Browse git
def consume(self, options, *remove):
     return {o: options[o] for o in options if o not in remove}
@@ -1403,7 +1403,7 @@

Methods

Expand source code -Browse git +Browse git
def distill(self, options):
     defaults = self.defaults
@@ -1428,7 +1428,7 @@ 

Methods

Expand source code -Browse git +Browse git
def normalize(self, option, value):
     app = self.app
@@ -1493,7 +1493,7 @@ 

Methods

Expand source code -Browse git +Browse git
def reset(self, *options):
     app = self.app
@@ -1521,7 +1521,7 @@ 

Methods

Expand source code -Browse git +Browse git
def setup(self, *options, **overrides):
     app = self.app
@@ -1549,7 +1549,7 @@ 

Methods

Expand source code -Browse git +Browse git
class OptionsCurrent:
     def __init__(self, options):
@@ -1574,7 +1574,7 @@ 

Methods

Expand source code -Browse git +Browse git
def get(self, k, v=None):
     return getattr(self, k, v)
@@ -1588,7 +1588,7 @@

Methods

Expand source code -Browse git +Browse git
def set(self, k, v):
     self.allKeys.add(k)
diff --git a/tf/advanced/render.html b/tf/advanced/render.html
index ea08871e2..e20311ddb 100644
--- a/tf/advanced/render.html
+++ b/tf/advanced/render.html
@@ -45,7 +45,7 @@ 

Information shielding

Expand source code -Browse git +Browse git
"""
 # Render
@@ -807,7 +807,7 @@ 

Functions

Expand source code -Browse git +Browse git
def render(app, isPretty, n, _inTuple, _asString, explain, **options):
     """Renders a node, in plain or pretty mode.
diff --git a/tf/advanced/repo.html b/tf/advanced/repo.html
index 17a33fe09..d8bd385f4 100644
--- a/tf/advanced/repo.html
+++ b/tf/advanced/repo.html
@@ -295,7 +295,7 @@ 

Updating a corpus that you alre
Expand source code -Browse git +Browse git
"""
 # Auto downloading from a back-end repository
@@ -2561,7 +2561,7 @@ 

Functions

Expand source code -Browse git +Browse git
def GLPERS(backend):
     return f"GL_{SHELL_VAR_RE.sub('_', backend.upper())}_PERS"
@@ -2575,7 +2575,7 @@

Functions

Expand source code -Browse git +Browse git
def bumpRelease(latestR, increase):
     if latestR:
@@ -2613,7 +2613,7 @@ 

Functions

Expand source code -Browse git +Browse git
def catchRemaining(e):
     eType = type(e)
@@ -2733,7 +2733,7 @@ 

Returns

Expand source code -Browse git +Browse git
def checkoutRepo(
     backend,
@@ -2925,7 +2925,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def extractPrecise(z):
     """Extracts a zip file precisely, by deleting some pre-existing material.
@@ -2967,7 +2967,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def getFinalUrl(url):
     finalUrl = None
@@ -3024,7 +3024,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def publishRelease(app, increase, message=None, description=None):
     """Publishes a new data release for a TF dataset to GitHub.
@@ -3203,7 +3203,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def releaseData(
     backend,
@@ -3270,7 +3270,7 @@ 

Classes

Expand source code -Browse git +Browse git
class Checkout:
     """Auxiliary class for `checkoutRepo`"""
@@ -4355,7 +4355,7 @@ 

Static methods

Expand source code -Browse git +Browse git
@staticmethod
 def fromString(string):
@@ -4392,7 +4392,7 @@ 

Static methods

Expand source code -Browse git +Browse git
@staticmethod
 def retrieve(url):
@@ -4423,7 +4423,7 @@ 

Static methods

Expand source code -Browse git +Browse git
@staticmethod
 def toString(commit, release, local, backend, source=None, dest=None):
@@ -4466,7 +4466,7 @@ 

Methods

Expand source code -Browse git +Browse git
def connect(self):
     conn = self.conn
@@ -4540,7 +4540,7 @@ 

Methods

Expand source code -Browse git +Browse git
def display(self, msg, msgPlain):
     inNb = self.inNb
@@ -4560,7 +4560,7 @@ 

Methods

Expand source code -Browse git +Browse git
def download(self):
     cChk = self.commitChk
@@ -4585,7 +4585,7 @@ 

Methods

Expand source code -Browse git +Browse git
def downloadCommit(self, commit, showErrors=True):
     c = self.getCommitObj(commit)
@@ -4609,7 +4609,7 @@ 

Methods

Expand source code -Browse git +Browse git
def downloadComplete(self):
     ssl._create_default_https_context = ssl._create_unverified_context
@@ -4698,7 +4698,7 @@ 

Methods

Expand source code -Browse git +Browse git
def downloadDir(self, commit, exclude=None, showErrors=False):
     g = self.repoOnline
@@ -4792,7 +4792,7 @@ 

Methods

Expand source code -Browse git +Browse git
def downloadRelease(self, release, showErrors=True):
     cChk = self.commitChk
@@ -4846,7 +4846,7 @@ 

Methods

Expand source code -Browse git +Browse git
def downloadZip(self, where, shiftUp=False, commit=None, showErrors=True):
     # commit parameter only supported for GitLab
@@ -4987,7 +4987,7 @@ 

Methods

Expand source code -Browse git +Browse git
def error(self, msg, newline=True):
     console(msg, error=True, newline=newline)
@@ -5001,7 +5001,7 @@

Methods

Expand source code -Browse git +Browse git
def fetchInfo(self):
     if self.isOffline():
@@ -5039,7 +5039,7 @@ 

Methods

Expand source code -Browse git +Browse git
def fixInfo(self):
     sDir = self.dirPathLocal
@@ -5063,7 +5063,7 @@ 

Methods

Expand source code -Browse git +Browse git
def getCommit(self, commit):
     c = self.getCommitObj(commit)
@@ -5080,7 +5080,7 @@ 

Methods

Expand source code -Browse git +Browse git
def getCommitFromObj(self, c):
     g = self.repoOnline
@@ -5100,7 +5100,7 @@ 

Methods

Expand source code -Browse git +Browse git
def getCommitObj(self, commit):
     g = self.repoOnline
@@ -5153,7 +5153,7 @@ 

Methods

Expand source code -Browse git +Browse git
def getRelease(self, release, showErrors=True):
     r = self.getReleaseObj(release, showErrors=showErrors)
@@ -5170,7 +5170,7 @@ 

Methods

Expand source code -Browse git +Browse git
def getReleaseFromObj(self, r):
     g = self.repoOnline
@@ -5197,7 +5197,7 @@ 

Methods

Expand source code -Browse git +Browse git
def getReleaseObj(self, release, showErrors=True):
     g = self.repoOnline
@@ -5247,7 +5247,7 @@ 

Methods

Expand source code -Browse git +Browse git
def info(self, msg, newline=True):
     silent = self.silent
@@ -5263,7 +5263,7 @@ 

Methods

Expand source code -Browse git +Browse git
def isClone(self):
     return self.local == "clone"
@@ -5277,7 +5277,7 @@

Methods

Expand source code -Browse git +Browse git
def isExpress(self):
     return (
@@ -5296,7 +5296,7 @@ 

Methods

Expand source code -Browse git +Browse git
def isOffline(self):
     return self.local in {"clone", "local"}
@@ -5310,7 +5310,7 @@

Methods

Expand source code -Browse git +Browse git
def login(self):
     onGithub = self.onGithub
@@ -5392,7 +5392,7 @@ 

Methods

Expand source code -Browse git +Browse git
def makeSureLocal(self, attempt=False):
     _browse = self._browse
@@ -5600,7 +5600,7 @@ 

Methods

Expand source code -Browse git +Browse git
def possibleError(self, msg, showErrors, again=False, indent="\t", newline=False):
     if showErrors:
@@ -5619,7 +5619,7 @@ 

Methods

Expand source code -Browse git +Browse git
def readInfo(self):
     if fileExists(self.filePathLocal):
@@ -5641,7 +5641,7 @@ 

Methods

Expand source code -Browse git +Browse git
def warning(self, msg, newline=True):
     silent = self.silent
@@ -5657,7 +5657,7 @@ 

Methods

Expand source code -Browse git +Browse git
def writeInfo(self, release=None, commit=None):
     releaseOff = self.releaseOff if release is None else release
@@ -5681,7 +5681,7 @@ 

Methods

Expand source code -Browse git +Browse git
class Repo:
     """Auxiliary class for `releaseData`"""
@@ -5968,7 +5968,7 @@ 

Methods

Expand source code -Browse git +Browse git
def bumpRelease(self):
     increase = self.increase
@@ -5986,7 +5986,7 @@ 

Methods

Expand source code -Browse git +Browse git
def connect(self):
     backend = self.backend
@@ -6053,7 +6053,7 @@ 

Methods

Expand source code -Browse git +Browse git
def error(self, msg, newline=True):
     console(msg, error=True, newline=newline)
@@ -6067,7 +6067,7 @@

Methods

Expand source code -Browse git +Browse git
def fetchInfo(self):
     g = self.repoOnline
@@ -6093,7 +6093,7 @@ 

Methods

Expand source code -Browse git +Browse git
def getCommit(self):
     c = self.getCommitObj()
@@ -6110,7 +6110,7 @@ 

Methods

Expand source code -Browse git +Browse git
def getCommitObj(self):
     g = self.repoOnline
@@ -6139,7 +6139,7 @@ 

Methods

Expand source code -Browse git +Browse git
def getRelease(self):
     r = self.getReleaseObj()
@@ -6156,7 +6156,7 @@ 

Methods

Expand source code -Browse git +Browse git
def getReleaseObj(self):
     g = self.repoOnline
@@ -6184,7 +6184,7 @@ 

Methods

Expand source code -Browse git +Browse git
def info(self, msg, newline=True):
     silent = self.silent
@@ -6200,7 +6200,7 @@ 

Methods

Expand source code -Browse git +Browse git
def makeRelease(self):
     g = self.repoOnline
@@ -6239,7 +6239,7 @@ 

Methods

Expand source code -Browse git +Browse git
def makeZip(self):
     source = self.source
@@ -6276,7 +6276,7 @@ 

Methods

Expand source code -Browse git +Browse git
def newRelease(self):
     if not self.makeZip():
@@ -6312,7 +6312,7 @@ 

Methods

Expand source code -Browse git +Browse git
def uploadZip(self):
     newTag = self.newTag
@@ -6351,7 +6351,7 @@ 

Methods

Expand source code -Browse git +Browse git
def warning(self, msg, newline=True):
     silent = self.silent
diff --git a/tf/advanced/search.html b/tf/advanced/search.html
index 6daef8658..12ad8a9ee 100644
--- a/tf/advanced/search.html
+++ b/tf/advanced/search.html
@@ -32,7 +32,7 @@ 

Module tf.advanced.search

Expand source code -Browse git +Browse git
"""
 Calls from the advanced API to the Search API.
@@ -315,7 +315,7 @@ 

Functions

Expand source code -Browse git +Browse git
def getQueryFeatures(exe):
     qnodes = getattr(exe, "qnodes", [])
@@ -355,7 +355,7 @@ 

Functions

Expand source code -Browse git +Browse git
def runSearch(app, query, cache):
     """A wrapper around the generic search interface of TF.
@@ -424,7 +424,7 @@ 

Functions

Expand source code -Browse git +Browse git
def runSearchCondensed(app, query, cache, condenseType):
     """A wrapper around the generic search interface of TF.
@@ -544,7 +544,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def search(
     app, query, silent=SILENT_D, sets=None, shallow=False, sort=True, limit=None
@@ -708,7 +708,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def searchApi(app):
     app.search = types.MethodType(search, app)
diff --git a/tf/advanced/sections.html b/tf/advanced/sections.html index 77cfdfa25..aee5c3bd9 100644 --- a/tf/advanced/sections.html +++ b/tf/advanced/sections.html @@ -49,7 +49,7 @@

Structure

Expand source code -Browse git +Browse git
"""Section
 
@@ -312,7 +312,7 @@ 

Returns

Expand source code -Browse git +Browse git
def nodeFromSectionStr(app, sectionStr, lang="en"):
     """Find the node of a section string.
@@ -430,7 +430,7 @@ 

Returns

Expand source code -Browse git +Browse git
def sectionStrFromNode(app, n, lang="en", lastSlot=False, fillup=False):
     """The heading of a section to which a node belongs.
@@ -483,7 +483,7 @@ 

Returns

Expand source code -Browse git +Browse git
def sectionsApi(app):
     app.nodeFromSectionStr = types.MethodType(nodeFromSectionStr, app)
@@ -509,7 +509,7 @@ 

Returns

Expand source code -Browse git +Browse git
def structureStrFromNode(app, n):
     """The heading of a structure to which a node belongs.
diff --git a/tf/advanced/settings.html b/tf/advanced/settings.html
index 84ae5d8d2..13de7be95 100644
--- a/tf/advanced/settings.html
+++ b/tf/advanced/settings.html
@@ -844,7 +844,7 @@ 

writing

Expand source code -Browse git +Browse git
"""
 # App settings
@@ -2862,7 +2862,7 @@ 

Functions

Expand source code -Browse git +Browse git
def DOC_DEFAULTS(backend):
     return (
@@ -2886,7 +2886,7 @@ 

Functions

Expand source code -Browse git +Browse git
def compileFormatCls(app, specs, givenStyles):
     api = app.api
@@ -2930,7 +2930,7 @@ 

Functions

Expand source code -Browse git +Browse git
def getDataDefaults(app, cfg, dKey, withApi):
     checker = Check(app, withApi)
@@ -2993,7 +2993,7 @@ 

Functions

Expand source code -Browse git +Browse git
def getLevel(defaultLevel, givenInfo, isVerse):
     level = givenInfo.get("level", defaultLevel)
@@ -3013,7 +3013,7 @@ 

Functions

Expand source code -Browse git +Browse git
def getTypeDefaults(app, cfg, dKey, withApi):
     if not withApi:
@@ -3336,7 +3336,7 @@ 

Functions

Expand source code -Browse git +Browse git
def setAppSpecs(app, cfg, reset=False):
     backend = app.backend
@@ -3440,7 +3440,7 @@ 

Functions

Expand source code -Browse git +Browse git
def setAppSpecsApi(app, cfg):
     api = app.api
@@ -3519,7 +3519,7 @@ 

See Also

Expand source code -Browse git +Browse git
def showContext(app, *keys, withComputed=True, asHtml=False):
     """Shows the *context* of the app `tf.advanced.app.App.context` in a pretty way.
@@ -3585,7 +3585,7 @@ 

Classes

Expand source code -Browse git +Browse git
class AppCurrent:
     def __init__(self, specs):
@@ -3615,7 +3615,7 @@ 

Methods

Expand source code -Browse git +Browse git
def get(self, k, v):
     return getattr(self, k, v)
@@ -3629,7 +3629,7 @@

Methods

Expand source code -Browse git +Browse git
def set(self, k, v):
     self.allKeys.add(k)
@@ -3644,7 +3644,7 @@ 

Methods

Expand source code -Browse git +Browse git
def update(self, specs):
     allKeys = self.allKeys
@@ -3664,7 +3664,7 @@ 

Methods

Expand source code -Browse git +Browse git
class Check:
     def __init__(self, app, withApi):
@@ -3867,7 +3867,7 @@ 

Methods

Expand source code -Browse git +Browse git
def checkGroup(self, cfg, defaults, dKey, postpone=set(), extra=None):
     self.cfg = cfg
@@ -3895,7 +3895,7 @@ 

Methods

Expand source code -Browse git +Browse git
def checkItem(self, cfg, dKey):
     self.cfg = cfg
@@ -3915,7 +3915,7 @@ 

Methods

Expand source code -Browse git +Browse git
def checkSetting(self, k, v, extra=None):
     app = self.app
@@ -4074,7 +4074,7 @@ 

Methods

Expand source code -Browse git +Browse git
def report(self):
     errors = self.errors
diff --git a/tf/advanced/tables.html b/tf/advanced/tables.html
index a66a8a6d9..bd69f723a 100644
--- a/tf/advanced/tables.html
+++ b/tf/advanced/tables.html
@@ -31,7 +31,7 @@ 

Module tf.advanced.tables

Expand source code -Browse git +Browse git
from ..core.text import DEFAULT_FORMAT
 from .helpers import getHeaders, RESULT
@@ -416,7 +416,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def compose(
     app,
@@ -542,7 +542,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def composeP(
     app,
@@ -651,7 +651,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def composeT(
     app,
diff --git a/tf/advanced/text.html b/tf/advanced/text.html
index ae5d12e19..875aac0ea 100644
--- a/tf/advanced/text.html
+++ b/tf/advanced/text.html
@@ -31,7 +31,7 @@ 

Module tf.advanced.text

Expand source code -Browse git +Browse git
import types
 from textwrap import dedent
@@ -199,7 +199,7 @@ 

Functions

Expand source code -Browse git +Browse git
def showFormats(app):
     inNb = app.inNb
@@ -253,7 +253,7 @@ 

Returns

Expand source code -Browse git +Browse git
def specialCharacters(app, fmt=None, _browse=False):
     """Generate a widget for hard to type characters.
@@ -349,7 +349,7 @@ 

Returns

Expand source code -Browse git +Browse git
def textApi(app):
     api = app.api
diff --git a/tf/advanced/unravel.html b/tf/advanced/unravel.html
index 9620d28c6..51f5ca277 100644
--- a/tf/advanced/unravel.html
+++ b/tf/advanced/unravel.html
@@ -35,7 +35,7 @@ 

Unravel

Expand source code -Browse git +Browse git
"""
 # Unravel
@@ -746,7 +746,7 @@ 

Returns

Expand source code -Browse git +Browse git
def unravel(app, n, isPlain=True, _inTuple=False, explain=False, **options):
     """Unravels a node and its graph-neighbourhood into a tree of fragments.
@@ -801,7 +801,7 @@ 

Classes

Expand source code -Browse git +Browse git
class NodeProps:
     """Node properties during plain() or pretty().
@@ -894,7 +894,7 @@ 

Instance variables

Expand source code -Browse git +Browse git
class OuterSettings:
     """Common properties during plain() and pretty().
@@ -976,7 +976,7 @@ 

Instance variables

Expand source code -Browse git +Browse git
class TreeInfo:
     """Tree properties during plain() or pretty().
@@ -1004,7 +1004,7 @@ 

Methods

Expand source code -Browse git +Browse git
def get(self, k, v):
     return getattr(self, k, v)
@@ -1018,7 +1018,7 @@

Methods

Expand source code -Browse git +Browse git
def update(self, **specs):
     for (k, v) in specs.items():
diff --git a/tf/advanced/volumes.html b/tf/advanced/volumes.html
index 58bc0a31c..4ce4a62a3 100644
--- a/tf/advanced/volumes.html
+++ b/tf/advanced/volumes.html
@@ -32,7 +32,7 @@ 

Module tf.advanced.volumes

Expand source code -Browse git +Browse git
"""
 Produce links to TF data and links from nodes to web resources.
@@ -141,7 +141,7 @@ 

Functions

Expand source code -Browse git +Browse git
def collect(app, *args, **kwargs):
     """Calls `tf.fabric.Fabric.collect` from an app object."""
@@ -161,7 +161,7 @@ 

Functions

Expand source code -Browse git +Browse git
def extract(app, *args, **kwargs):
     """Calls `tf.fabric.Fabric.extract` from an app object."""
@@ -189,7 +189,7 @@ 

Functions

Expand source code -Browse git +Browse git
def getVolumes(app, *args, **kwargs):
     """Calls `tf.fabric.Fabric.getVolumes` from an app object.
@@ -229,7 +229,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def volumesApi(app):
     """Produce the volume support functions API.
diff --git a/tf/advanced/zipdata.html b/tf/advanced/zipdata.html
index 4cc50284a..0bb4aa350 100644
--- a/tf/advanced/zipdata.html
+++ b/tf/advanced/zipdata.html
@@ -31,7 +31,7 @@ 

Module tf.advanced.zipdata

Expand source code -Browse git +Browse git
import sys
 import types
@@ -473,7 +473,7 @@ 

Functions

Expand source code -Browse git +Browse git
def addCheckout(path):
     release = None
@@ -512,7 +512,7 @@ 

Functions

Expand source code -Browse git +Browse git
def collectFiles(base, path, results, zipBase=None):
     if zipBase is None:
@@ -560,7 +560,7 @@ 

EFFECT

Expand source code -Browse git +Browse git
def main(cargs=sys.argv):
     if len(cargs) < 2 or any(
@@ -640,7 +640,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def zipAll(app):
     """Gathers all data for a TF resource and zips it into one file.
@@ -781,7 +781,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def zipApi(app):
     """Produce the zip creation API.
@@ -827,7 +827,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def zipData(
     backend,
@@ -956,7 +956,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def zipDataPart(source, results):
     if not dirExists(source):
diff --git a/tf/app.html b/tf/app.html
index db44823a3..0fa05d19b 100644
--- a/tf/app.html
+++ b/tf/app.html
@@ -39,7 +39,7 @@ 

Module tf.app

Expand source code -Browse git +Browse git
"""
 Make use of a corpus.
@@ -137,7 +137,7 @@ 

See Also

Expand source code -Browse git +Browse git
def use(appName, *args, backend=None, **kwargs):
     """Make use of a corpus.
diff --git a/tf/browser/command.html b/tf/browser/command.html
index ff4a809ca..6b0dfd59f 100644
--- a/tf/browser/command.html
+++ b/tf/browser/command.html
@@ -32,7 +32,7 @@ 

Module tf.browser.command

Expand source code -Browse git +Browse git
"""
 Command-line argument processing
@@ -156,7 +156,7 @@ 

Functions

Expand source code -Browse git +Browse git
def argApp(cargs, simple):
     (appName, checkoutApp, dataLoc) = argParam(cargs)
@@ -212,7 +212,7 @@ 

Functions

Expand source code -Browse git +Browse git
def argNoweb(cargs):
     for arg in cargs:
@@ -229,7 +229,7 @@ 

Functions

Expand source code -Browse git +Browse git
def argParam(cargs):
     appName = None
@@ -269,7 +269,7 @@ 

Functions

Expand source code -Browse git +Browse git
def getPort(slug):
     portOffset = crc32(slug.encode("utf8")) % 10000
diff --git a/tf/browser/html.html b/tf/browser/html.html
index a590b8930..aee2e7c4e 100644
--- a/tf/browser/html.html
+++ b/tf/browser/html.html
@@ -34,7 +34,7 @@ 

Module tf.browser.html

Expand source code -Browse git +Browse git
"""HTML generation done in the Pythonic way.
 
@@ -223,7 +223,7 @@ 

Returns

Expand source code -Browse git +Browse git
def dig(*content, sep=""):
     """A method to join nested iterables of strings into a string.
@@ -274,7 +274,7 @@ 

Returns

Expand source code -Browse git +Browse git
def elemFunc(close, elem):
     """Generates a function to serialize a specific HTML element.
@@ -330,7 +330,7 @@ 

Returns

Expand source code -Browse git +Browse git
def generate(close, tag, *content, **atts):
     """Transform the logical information for an HTML element into an HTML string.
@@ -384,7 +384,7 @@ 

Classes

Expand source code -Browse git +Browse git
class H:
     """Provider of HTML serializing functions per element type.
@@ -413,7 +413,7 @@ 

Methods

Expand source code -Browse git +Browse git
def result(*content, **atts):
     return generate(close, elem, *content, **atts)
@@ -427,7 +427,7 @@

Methods

Expand source code -Browse git +Browse git
def result(**atts):
     return generate(close, elem, **atts)
@@ -441,7 +441,7 @@

Methods

Expand source code -Browse git +Browse git
def result(*content, **atts):
     return generate(close, elem, *content, **atts)
@@ -455,7 +455,7 @@

Methods

Expand source code -Browse git +Browse git
def result(*content, **atts):
     return generate(close, elem, *content, **atts)
@@ -469,7 +469,7 @@

Methods

Expand source code -Browse git +Browse git
def result(*content, **atts):
     return generate(close, elem, *content, **atts)
@@ -483,7 +483,7 @@

Methods

Expand source code -Browse git +Browse git
def result(*content, **atts):
     return generate(close, elem, *content, **atts)
@@ -497,7 +497,7 @@

Methods

Expand source code -Browse git +Browse git
def result(*content, **atts):
     return generate(close, elem, *content, **atts)
@@ -511,7 +511,7 @@

Methods

Expand source code -Browse git +Browse git
def result(**atts):
     return generate(close, elem, **atts)
@@ -537,7 +537,7 @@

Returns

Expand source code -Browse git +Browse git
def dig(*content, sep=""):
     """A method to join nested iterables of strings into a string.
@@ -575,7 +575,7 @@ 

Returns

Expand source code -Browse git +Browse git
def result(*content, **atts):
     return generate(close, elem, *content, **atts)
@@ -589,7 +589,7 @@

Returns

Expand source code -Browse git +Browse git
def result(*content, **atts):
     return generate(close, elem, *content, **atts)
@@ -603,7 +603,7 @@

Returns

Expand source code -Browse git +Browse git
def result(*content, **atts):
     return generate(close, elem, *content, **atts)
@@ -617,7 +617,7 @@

Returns

Expand source code -Browse git +Browse git
def result(*content, **atts):
     return generate(close, elem, *content, **atts)
@@ -631,7 +631,7 @@

Returns

Expand source code -Browse git +Browse git
def result(*content, **atts):
     return generate(close, elem, *content, **atts)
@@ -645,7 +645,7 @@

Returns

Expand source code -Browse git +Browse git
def result(*content, **atts):
     return generate(close, elem, *content, **atts)
diff --git a/tf/browser/index.html b/tf/browser/index.html index 2e3d40238..0ce96a339 100644 --- a/tf/browser/index.html +++ b/tf/browser/index.html @@ -32,7 +32,7 @@

Local TF data and web server

Expand source code -Browse git +Browse git
"""
 # Local TF data and web server
diff --git a/tf/browser/kernel.html b/tf/browser/kernel.html
index cd398ba24..104fa4564 100644
--- a/tf/browser/kernel.html
+++ b/tf/browser/kernel.html
@@ -38,7 +38,7 @@ 

Kernel API

Expand source code -Browse git +Browse git
"""
 # TF kernel
@@ -550,7 +550,7 @@ 

Functions

Expand source code -Browse git +Browse git
def makeTfKernel(app, appName):
     if not app.api:
diff --git a/tf/browser/ner/annotate.html b/tf/browser/ner/annotate.html
index 0bca9d0ce..d19733358 100644
--- a/tf/browser/ner/annotate.html
+++ b/tf/browser/ner/annotate.html
@@ -100,7 +100,7 @@ 

Module tf.browser.ner.annotate

Expand source code -Browse git +Browse git
"""Central Annotation object.
 
@@ -262,10 +262,10 @@ 

Module tf.browser.ner.annotate

buckets = setData.buckets or () - results = {} + results = occMatch(getTokens, buckets, qTokenSet) - for b in buckets: - occMatch(getTokens, b, qTokenSet, results) + # for b in buckets: + # occMatch(getTokens, b, qTokenSet, results) return results @@ -555,7 +555,7 @@

Parameters

Expand source code -Browse git +Browse git
class Annotate(Sets, Show):
     def __init__(self, app, data=None, browse=False):
@@ -629,10 +629,10 @@ 

Parameters

buckets = setData.buckets or () - results = {} + results = occMatch(getTokens, buckets, qTokenSet) - for b in buckets: - occMatch(getTokens, b, qTokenSet, results) + # for b in buckets: + # occMatch(getTokens, b, qTokenSet, results) return results @@ -985,7 +985,7 @@

Returns

Expand source code -Browse git +Browse git
def filterContent(
     self,
@@ -1252,7 +1252,7 @@ 

Returns

Expand source code -Browse git +Browse git
def findOccs(self, qTokenSet=set()):
     """Finds the occurrences of multiple sequences of tokens.
@@ -1282,10 +1282,10 @@ 

Returns

buckets = setData.buckets or () - results = {} + results = occMatch(getTokens, buckets, qTokenSet) - for b in buckets: - occMatch(getTokens, b, qTokenSet, results) + # for b in buckets: + # occMatch(getTokens, b, qTokenSet, results) return results
diff --git a/tf/browser/ner/corpus.html b/tf/browser/ner/corpus.html index dc4971bda..40587a100 100644 --- a/tf/browser/ner/corpus.html +++ b/tf/browser/ner/corpus.html @@ -39,7 +39,7 @@

Module tf.browser.ner.corpus

Expand source code -Browse git +Browse git
"""Access to the corpus.
 
@@ -431,7 +431,7 @@ 

Classes

Expand source code -Browse git +Browse git
class Corpus(Settings):
     def __init__(self):
diff --git a/tf/browser/ner/data.html b/tf/browser/ner/data.html
index 956da49ee..82e10007f 100644
--- a/tf/browser/ner/data.html
+++ b/tf/browser/ner/data.html
@@ -43,7 +43,7 @@ 

Module tf.browser.ner.data

Expand source code -Browse git +Browse git
"""Annotation data module.
 
@@ -1172,7 +1172,7 @@ 

Parameters

Expand source code -Browse git +Browse git
class Data(Corpus):
     def __init__(self, data=None):
@@ -2267,7 +2267,7 @@ 

Returns

Expand source code -Browse git +Browse git
def addEntities(self, newEntities, silent=True):
     """Add multiple entities efficiently to the current set.
@@ -2375,7 +2375,7 @@ 

Returns

Expand source code -Browse git +Browse git
def addEntity(self, vals, allMatches, silent=True):
     """Add entity occurrences to the current set.
@@ -2492,7 +2492,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def addEntityRich(self, additions, buckets, excludedTokens=set()):
     """Add specified entity occurrences to the current set.
@@ -2632,7 +2632,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def consolidateEntities(self, versionExtension):
     """Consolidates the current entities as nodes into a new TF data source.
@@ -2813,7 +2813,7 @@ 

Returns

Expand source code -Browse git +Browse git
def delEntity(self, vals, allMatches=None, silent=True):
     """Delete entity occurrences from the current set.
@@ -2932,7 +2932,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def delEntityRich(self, deletions, buckets, excludedTokens=set()):
     """Delete specified entity occurrences from the current set.
@@ -3083,7 +3083,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def fromSource(self):
     """Loads annotation data from source.
@@ -3191,7 +3191,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def loadData(self):
     """Loads data of the current annotation set into memory.
@@ -3237,7 +3237,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def mergeEntities(self, newEntities):
     """Performs additions to the current annotation set.
@@ -3329,7 +3329,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def process(self, changed):
     """Generated derived data structures out of the source data.
@@ -3513,7 +3513,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def saveEntitiesAs(self, dataFile):
     """Export the data of an annotation set to a file.
@@ -3553,7 +3553,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def weedEntities(self, delEntities):
     """Performs deletions to the current annotation set.
diff --git a/tf/browser/ner/form.html b/tf/browser/ner/form.html
index 72de6dbb3..87576ccdf 100644
--- a/tf/browser/ner/form.html
+++ b/tf/browser/ner/form.html
@@ -37,7 +37,7 @@ 

Module tf.browser.ner.form

Expand source code -Browse git +Browse git
"""Machinery for request reading.
 
@@ -228,7 +228,7 @@ 

Parameters

Expand source code -Browse git +Browse git
class Form:
     def __init__(
@@ -383,7 +383,7 @@ 

Methods

Expand source code -Browse git +Browse git
def fget2(self, k):
     """Makes form value under key `k` or its default into an boolean."""
@@ -399,7 +399,7 @@ 

Methods

Expand source code -Browse git +Browse git
def fget3(self, k):
     """Makes form value under key `k` or its default into a 3-way boolean."""
@@ -415,7 +415,7 @@ 

Methods

Expand source code -Browse git +Browse git
def fgeti(self, k):
     """Makes form value under key `k` or its default into an integer."""
@@ -433,7 +433,7 @@ 

Methods

Expand source code -Browse git +Browse git
def fgetj(self, k):
     """Makes form value under key `k` or its default into a data structure.
@@ -457,7 +457,7 @@ 

Methods

Expand source code -Browse git +Browse git
def fgets(self, k):
     """Makes form value under key `k` or its default into an string."""
@@ -476,7 +476,7 @@ 

Methods

Expand source code -Browse git +Browse git
def fgetsi(self, k):
     """Makes form value under key `k` or its default into a set.
@@ -503,7 +503,7 @@ 

Methods

Expand source code -Browse git +Browse git
def fgettu(self, k):
     """Makes form value under key `k` or its default into a tuple.
@@ -530,7 +530,7 @@ 

Returns

Expand source code -Browse git +Browse git
def fill(self):
     """Fill a dictionary with interpreted form values.
diff --git a/tf/browser/ner/fragments.html b/tf/browser/ner/fragments.html
index 2138b0d57..d2bac3757 100644
--- a/tf/browser/ner/fragments.html
+++ b/tf/browser/ner/fragments.html
@@ -35,7 +35,7 @@ 

Module tf.browser.ner.fragments

Expand source code -Browse git +Browse git
"""Wraps various pieces into HTML.
 
@@ -947,7 +947,7 @@ 

Classes

Expand source code -Browse git +Browse git
class Fragments:
     def wrapMessages(self):
@@ -1842,7 +1842,7 @@ 

Methods

Expand source code -Browse git +Browse git
def wrapActive(self):
     """HTML for the active entity."""
@@ -1877,7 +1877,7 @@ 

Methods

Expand source code -Browse git +Browse git
def wrapAnnoSets(self):
     """HTML for the annotation set chooser.
@@ -1991,7 +1991,7 @@ 

Methods

Expand source code -Browse git +Browse git
def wrapAppearance(self):
     """HTML for the appearance widget.
@@ -2064,7 +2064,7 @@ 

Methods

Expand source code -Browse git +Browse git
def wrapEntity(self):
     """Basic data for the selected entity widget.
@@ -2132,7 +2132,7 @@ 

Methods

Expand source code -Browse git +Browse git
def wrapEntityFeats(self):
     """HTML for the entity feature value selection.
@@ -2233,7 +2233,7 @@ 

Methods

Expand source code -Browse git +Browse git
def wrapEntityHeaders(self):
     """HTML for the header of the entity table, dependent on the state of sorting."""
@@ -2280,7 +2280,7 @@ 

Methods

Expand source code -Browse git +Browse git
def wrapEntityModReport(self):
     """HTML for the combined report of add / del actions."""
@@ -2305,7 +2305,7 @@ 

Methods

Expand source code -Browse git +Browse git
def wrapEntityModify(self):
     """HTML for the add / del widget.
@@ -2563,7 +2563,7 @@ 

Methods

Expand source code -Browse git +Browse git
def wrapEntityStat(self, val, feat):
     """HTML for statistics of feature values.
@@ -2596,7 +2596,7 @@ 

Methods

Expand source code -Browse git +Browse git
def wrapEntityText(self):
     """HTML for the selected entity widget."""
@@ -2653,7 +2653,7 @@ 

Methods

Expand source code -Browse git +Browse git
def wrapExceptions(self):
     """HTML for the select / deselect buttons.
@@ -2709,7 +2709,7 @@ 

Methods

Expand source code -Browse git +Browse git
def wrapFilter(self):
     """HTML for the filter widget.
@@ -2796,7 +2796,7 @@ 

Methods

Expand source code -Browse git +Browse git
def wrapFindStat(self):
     """HTML for statistics.
@@ -2821,7 +2821,7 @@ 

Methods

Expand source code -Browse git +Browse git
def wrapMessages(self):
     """HTML for messages."""
@@ -2839,7 +2839,7 @@ 

Methods

Expand source code -Browse git +Browse git
def wrapQuery(self):
     """HTML for all control widgets on the page."""
@@ -2861,7 +2861,7 @@ 

Methods

Expand source code -Browse git +Browse git
def wrapReport(self, report, kind):
     """HTML for the report of add / del actions."""
@@ -2896,7 +2896,7 @@ 

Methods

Expand source code -Browse git +Browse git
def wrapScope(self):
     """HTML for the scope widget.
diff --git a/tf/browser/ner/helpers.html b/tf/browser/ner/helpers.html
index 4e71b130c..f4f9703bc 100644
--- a/tf/browser/ner/helpers.html
+++ b/tf/browser/ner/helpers.html
@@ -35,7 +35,7 @@ 

Module tf.browser.ner.helpers

Expand source code -Browse git +Browse git
"""Auxiliary functions.
 
@@ -322,7 +322,7 @@ 

Returns

Expand source code -Browse git +Browse git
def findCompile(bFind, bFindC):
     """Compiles a regular expression out of a search pattern.
@@ -372,7 +372,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def makeCss(features, keywordFeatures):
     """Generates CSS for the tool.
@@ -441,7 +441,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def normalize(text):
     """Normalize white-space in a text."""
@@ -464,7 +464,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def repIdent(features, vals, active=""):
     """Represents an identifier in HTML.
@@ -499,7 +499,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def repSummary(keywordFeatures, vals, active=""):
     """Represents an keyword value in HTML.
@@ -533,7 +533,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def toAscii(text):
     """Transforms a text with diacritical marks into a plain ASCII text.
@@ -559,7 +559,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def toId(text):
     """Transforms text to an identifier string.
@@ -582,7 +582,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def toSmallId(text, transform={}):
     """Transforms text to a smaller identifier string.
@@ -629,7 +629,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def toTokens(text, spaceEscaped=False):
     """Split a text into tokens.
@@ -656,7 +656,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def valRep(features, fVals):
     """HTML representation of an entity as a sequence of `feat=val` strings."""
diff --git a/tf/browser/ner/match.html b/tf/browser/ner/match.html
index 5ac10dee4..5f362890c 100644
--- a/tf/browser/ner/match.html
+++ b/tf/browser/ner/match.html
@@ -34,7 +34,7 @@ 

Module tf.browser.ner.match

Expand source code -Browse git +Browse git
"""Match functions.
 
@@ -42,10 +42,106 @@ 

Module tf.browser.ner.match

`tf.browser.ner.annotate` . """ +import collections + from .settings import NONE -def occMatch(getTokens, b, qTokenSet, results): +def occMatch(getTokens, buckets, qTokenSet): + """Finds the occurrences of multiple sequences of tokens in a single bucket. + + Parameters + ---------- + getTokens: function + See `tf.browser.ner.corpus.Corpus.getTokens` + buckets: tuple of integer + The bucket nodes in question + qTokenSet: set, optional set() + A set of sequences of tokens. Each sequence in the set will be used as a + search pattern, and it occurrences in the bucket are collected. + result: dict + A dictionary to collect the results in. + Keyed by each member of parameter `qTokenSet` the values are + the occurrences of that member in the corpus. + A single occurrence is represented as a tuple of slots. + """ + + # compile the token sequences that we search for into data to optimize search + # we produce dicts, keyed by a postion number and valued by a dict whose + # keys are tokens and whose values are the token sequences that have that token + # at that position + + candMatchMap = collections.defaultdict(lambda: collections.defaultdict(set)) + + for qTokens in qTokenSet: + for (i, qToken) in enumerate(qTokens): + candMatchMap[i][qToken].add(qTokens) + + results = {} + + for b in buckets: + # compile the bucket into logical tokens + bTokensAll = getTokens(b) + bTokens = [x for x in bTokensAll if (x[1] or "").strip()] + bStrings = [] + bStringFirst = {} + bStringLast = {} + + for t, s in bTokens: + if len(bStrings) > 1 and bStrings[-1] == "-": + bStrings.pop() + bStrings[-1] += s + bStringLast[len(bStrings) - 1] = t + else: + bStrings.append(s) + bStringFirst[len(bStrings) - 1] = t + bStringLast[len(bStrings) - 1] = t + + bStrings = tuple(bStrings) + nBStrings = len(bStrings) + + # perform the search + i = 0 + + while i < nBStrings: + j = 0 + candidateMatches = None + matches = {} + + while i + j < nBStrings: + k = i + j + sj = bStrings[k] + newCandidates = candMatchMap.get(j, {}).get(sj, set()) + + if candidateMatches is None: + candidateMatches = newCandidates + else: + candidateMatches = candidateMatches & newCandidates + + matches[j] = [qt for qt in candidateMatches if len(qt) == j + 1] + j += 1 + + if len(candidateMatches) == 0: + break + + for m in range(j - 1, -1, -1): + resultMatches = matches[m] + + if len(resultMatches): + resultMatch = resultMatches[0] + firstT = bStringFirst[i] + lastT = bStringLast[i + m] + slots = tuple(range(firstT, lastT + 1)) + results.setdefault(resultMatch, []).append(slots) + break + + shift = m + 1 + i += shift + + return results + + +def occMatchOld(getTokens, b, qTokenSet, results): """Finds the occurrences of multiple sequences of tokens in a single bucket. Parameters @@ -337,7 +433,7 @@

Returns

Expand source code -Browse git +Browse git
def entityMatch(
     entityIndex,
@@ -529,7 +625,126 @@ 

Returns

-def occMatch(getTokens, b, qTokenSet, results) +def occMatch(getTokens, buckets, qTokenSet) +
+
+

Finds the occurrences of multiple sequences of tokens in a single bucket.

+

Parameters

+
+
getTokens : function
+
See Corpus.getTokens
+
buckets : tuple of integer
+
The bucket nodes in question
+
qTokenSet : set, optional set()
+
A set of sequences of tokens. Each sequence in the set will be used as a +search pattern, and it occurrences in the bucket are collected.
+
result : dict
+
A dictionary to collect the results in. +Keyed by each member of parameter qTokenSet the values are +the occurrences of that member in the corpus. +A single occurrence is represented as a tuple of slots.
+
+
+ +Expand source code +Browse git + +
def occMatch(getTokens, buckets, qTokenSet):
+    """Finds the occurrences of multiple sequences of tokens in a single bucket.
+
+    Parameters
+    ----------
+    getTokens: function
+        See `tf.browser.ner.corpus.Corpus.getTokens`
+    buckets: tuple of integer
+        The bucket nodes in question
+    qTokenSet: set, optional set()
+        A set of sequences of tokens. Each sequence in the set will be used as a
+        search pattern, and it occurrences in the bucket are collected.
+    result: dict
+        A dictionary to collect the results in.
+        Keyed by each member of parameter `qTokenSet` the values are
+        the occurrences of that member in the corpus.
+        A single occurrence is represented as a tuple of slots.
+    """
+
+    # compile the token sequences that we search for into data to optimize search
+    # we produce dicts, keyed by a postion number and valued by a dict whose
+    # keys are tokens and whose values are the token sequences that have that token
+    # at that position
+
+    candMatchMap = collections.defaultdict(lambda: collections.defaultdict(set))
+
+    for qTokens in qTokenSet:
+        for (i, qToken) in enumerate(qTokens):
+            candMatchMap[i][qToken].add(qTokens)
+
+    results = {}
+
+    for b in buckets:
+        # compile the bucket into logical tokens
+        bTokensAll = getTokens(b)
+        bTokens = [x for x in bTokensAll if (x[1] or "").strip()]
+        bStrings = []
+        bStringFirst = {}
+        bStringLast = {}
+
+        for t, s in bTokens:
+            if len(bStrings) > 1 and bStrings[-1] == "-":
+                bStrings.pop()
+                bStrings[-1] += s
+                bStringLast[len(bStrings) - 1] = t
+            else:
+                bStrings.append(s)
+                bStringFirst[len(bStrings) - 1] = t
+                bStringLast[len(bStrings) - 1] = t
+
+        bStrings = tuple(bStrings)
+        nBStrings = len(bStrings)
+
+        # perform the search
+        i = 0
+
+        while i < nBStrings:
+            j = 0
+            candidateMatches = None
+            matches = {}
+
+            while i + j < nBStrings:
+                k = i + j
+                sj = bStrings[k]
+                newCandidates = candMatchMap.get(j, {}).get(sj, set())
+
+                if candidateMatches is None:
+                    candidateMatches = newCandidates
+                else:
+                    candidateMatches = candidateMatches & newCandidates
+
+                matches[j] = [qt for qt in candidateMatches if len(qt) == j + 1]
+                j += 1
+
+                if len(candidateMatches) == 0:
+                    break
+
+            for m in range(j - 1, -1, -1):
+                resultMatches = matches[m]
+
+                if len(resultMatches):
+                    resultMatch = resultMatches[0]
+                    firstT = bStringFirst[i]
+                    lastT = bStringLast[i + m]
+                    slots = tuple(range(firstT, lastT + 1))
+                    results.setdefault(resultMatch, []).append(slots)
+                    break
+
+            shift = m + 1
+            i += shift
+
+    return results
+
+
+
+def occMatchOld(getTokens, b, qTokenSet, results)

Finds the occurrences of multiple sequences of tokens in a single bucket.

@@ -551,9 +766,9 @@

Parameters

Expand source code -Browse git +Browse git -
def occMatch(getTokens, b, qTokenSet, results):
+
def occMatchOld(getTokens, b, qTokenSet, results):
     """Finds the occurrences of multiple sequences of tokens in a single bucket.
 
     Parameters
@@ -679,6 +894,7 @@ 

Index

diff --git a/tf/browser/ner/ner.html b/tf/browser/ner/ner.html index df0a8ad5a..f910cc8de 100644 --- a/tf/browser/ner/ner.html +++ b/tf/browser/ner/ner.html @@ -196,7 +196,7 @@

Inspection

Expand source code -Browse git +Browse git
"""API for rule-based entity marking.
 
@@ -449,8 +449,9 @@ 

Inspection

if not self.properlySetup: return - self.instructions = None - """Will contain the information in a spreadsheet for marking up entities.""" + self.Trig = None + """Will contain the object that has compiled the triggers for named entities. + """ self.inventory = None """Will contain the locations of all surface forms in the current instructions. @@ -479,10 +480,9 @@

Inspection

if not self.properlySetup: return None - TRIG = Triggers(self) - TRIG.read(sheetName) - self.TRIG = TRIG - self.triggerInfo = TRIG.triggerInfo + Trig = Triggers(self) + Trig.read(sheetName) + self.Trig = Trig def makeInventory(self): """Explores the corpus for the surface forms mentioned in the instructions. @@ -498,14 +498,15 @@

Inspection

if not self.properlySetup: return - instructions = self.instructions settings = self.settings spaceEscaped = settings.spaceEscaped + Trig = self.Trig + instructions = Trig.instructions qSets = set() for info in instructions.values(): - for occSpec in info.occSpecs: + for occSpec in info["occSpecs"]: qSets.add(toTokens(occSpec, spaceEscaped=spaceEscaped)) app = self.app @@ -514,7 +515,7 @@

Inspection

self.inventory = self.findOccs(qSets) app.info("Done") - def showInventory(self): + def showInventory(self, expanded=False): """Shows the inventory. The surface forms in the inventory are put into the context of the entities @@ -529,11 +530,12 @@

Inspection

spaceEscaped = settings.spaceEscaped total = 0 + ins = 0 for eid, info in sorted(instructions.items()): - name = info.name - kind = info.kind - occSpecs = info.occSpecs + name = info["name"] + kind = info["kind"] + occSpecs = info["occSpecs"] for occSpec in occSpecs: matches = inventory.get( @@ -543,7 +545,9 @@

Inspection

continue n = len(matches) total += n - console(f"{eid:<24} {kind:<5} {occSpec:<20} {n:>5} x {name}") + if expanded or ins < 10: + console(f"{eid:<24} {kind:<5} {occSpec:<20} {n:>5} x {name}") + ins += 1 console(f"Total {total}") @@ -633,7 +637,7 @@

Parameters

Expand source code -Browse git +Browse git
class NER(Annotate):
     def __init__(self, app):
@@ -655,8 +659,9 @@ 

Parameters

if not self.properlySetup: return - self.instructions = None - """Will contain the information in a spreadsheet for marking up entities.""" + self.Trig = None + """Will contain the object that has compiled the triggers for named entities. + """ self.inventory = None """Will contain the locations of all surface forms in the current instructions. @@ -685,10 +690,9 @@

Parameters

if not self.properlySetup: return None - TRIG = Triggers(self) - TRIG.read(sheetName) - self.TRIG = TRIG - self.triggerInfo = TRIG.triggerInfo + Trig = Triggers(self) + Trig.read(sheetName) + self.Trig = Trig def makeInventory(self): """Explores the corpus for the surface forms mentioned in the instructions. @@ -704,14 +708,15 @@

Parameters

if not self.properlySetup: return - instructions = self.instructions settings = self.settings spaceEscaped = settings.spaceEscaped + Trig = self.Trig + instructions = Trig.instructions qSets = set() for info in instructions.values(): - for occSpec in info.occSpecs: + for occSpec in info["occSpecs"]: qSets.add(toTokens(occSpec, spaceEscaped=spaceEscaped)) app = self.app @@ -720,7 +725,7 @@

Parameters

self.inventory = self.findOccs(qSets) app.info("Done") - def showInventory(self): + def showInventory(self, expanded=False): """Shows the inventory. The surface forms in the inventory are put into the context of the entities @@ -735,11 +740,12 @@

Parameters

spaceEscaped = settings.spaceEscaped total = 0 + ins = 0 for eid, info in sorted(instructions.items()): - name = info.name - kind = info.kind - occSpecs = info.occSpecs + name = info["name"] + kind = info["kind"] + occSpecs = info["occSpecs"] for occSpec in occSpecs: matches = inventory.get( @@ -749,7 +755,9 @@

Parameters

continue n = len(matches) total += n - console(f"{eid:<24} {kind:<5} {occSpec:<20} {n:>5} x {name}") + if expanded or ins < 10: + console(f"{eid:<24} {kind:<5} {occSpec:<20} {n:>5} x {name}") + ins += 1 console(f"Total {total}") @@ -821,9 +829,9 @@

Ancestors

Instance variables

-
var instructions
+
var Trig
-

Will contain the information in a spreadsheet for marking up entities.

+

Will contain the object that has compiled the triggers for named entities.

var inventory
@@ -846,7 +854,7 @@

Parameters

Expand source code -Browse git +Browse git
def bakeEntities(self, versionExtension="e"):
     """Bakes the entities of the current set as nodes into a new TF data source.
@@ -873,7 +881,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def makeInventory(self):
     """Explores the corpus for the surface forms mentioned in the instructions.
@@ -889,14 +897,15 @@ 

Parameters

if not self.properlySetup: return - instructions = self.instructions settings = self.settings spaceEscaped = settings.spaceEscaped + Trig = self.Trig + instructions = Trig.instructions qSets = set() for info in instructions.values(): - for occSpec in info.occSpecs: + for occSpec in info["occSpecs"]: qSets.add(toTokens(occSpec, spaceEscaped=spaceEscaped)) app = self.app @@ -918,7 +927,7 @@

Parameters

Expand source code -Browse git +Browse git
def markEntities(self):
     """Marks up the members of the inventory as entities.
@@ -984,7 +993,7 @@ 

Parameters

Expand source code -Browse git +Browse git
def readInstructions(self, sheetName):
     """Reads the trigger specifications.
@@ -1009,14 +1018,13 @@ 

Parameters

if not self.properlySetup: return None - TRIG = Triggers(self) - TRIG.read(sheetName) - self.TRIG = TRIG - self.triggerInfo = TRIG.triggerInfo
+ Trig = Triggers(self) + Trig.read(sheetName) + self.Trig = Trig
-def showInventory(self) +def showInventory(self, expanded=False)

Shows the inventory.

@@ -1025,9 +1033,9 @@

Parameters

Expand source code -Browse git +Browse git -
def showInventory(self):
+
def showInventory(self, expanded=False):
     """Shows the inventory.
 
     The surface forms in the inventory are put into the context of the entities
@@ -1042,11 +1050,12 @@ 

Parameters

spaceEscaped = settings.spaceEscaped total = 0 + ins = 0 for eid, info in sorted(instructions.items()): - name = info.name - kind = info.kind - occSpecs = info.occSpecs + name = info["name"] + kind = info["kind"] + occSpecs = info["occSpecs"] for occSpec in occSpecs: matches = inventory.get( @@ -1056,7 +1065,9 @@

Parameters

continue n = len(matches) total += n - console(f"{eid:<24} {kind:<5} {occSpec:<20} {n:>5} x {name}") + if expanded or ins < 10: + console(f"{eid:<24} {kind:<5} {occSpec:<20} {n:>5} x {name}") + ins += 1 console(f"Total {total}")
@@ -1196,8 +1207,8 @@

Index

  • NER

      +
    • Trig
    • bakeEntities
    • -
    • instructions
    • inventory
    • makeInventory
    • markEntities
    • diff --git a/tf/browser/ner/request.html b/tf/browser/ner/request.html index 7629d65f0..5eeb5819d 100644 --- a/tf/browser/ner/request.html +++ b/tf/browser/ner/request.html @@ -34,7 +34,7 @@

      Module tf.browser.ner.request

      Expand source code -Browse git +Browse git
      """Auxiliary functions for managing request data.
       
      @@ -375,7 +375,7 @@ 

      Classes

      Expand source code -Browse git +Browse git
      class Request(Form):
           def __init__(self):
      @@ -693,7 +693,7 @@ 

      Parameters

      Expand source code -Browse git +Browse git
      def adaptValSelect(self):
           """Adapts the values contained in `valSelect` after a modification action.
      @@ -754,7 +754,7 @@ 

      Parameters

      Expand source code -Browse git +Browse git
      def findSetup(self):
           """Compiles the filter pattern into a regular expression.
      @@ -803,7 +803,7 @@ 

      Parameters

      Expand source code -Browse git +Browse git
      def getFormData(self):
           """Get form data.
      @@ -885,7 +885,7 @@ 

      Parameters

      Expand source code -Browse git +Browse git
      def initVars(self):
           """Initializes the computation of the new page.
      diff --git a/tf/browser/ner/serve.html b/tf/browser/ner/serve.html
      index 56b7d043e..4725c3ad1 100644
      --- a/tf/browser/ner/serve.html
      +++ b/tf/browser/ner/serve.html
      @@ -36,7 +36,7 @@ 

      Module tf.browser.ner.serve

      Expand source code -Browse git +Browse git
      """Main controller for Flask
       
      @@ -405,7 +405,7 @@ 

      Parameters

      Expand source code -Browse git +Browse git
      def serveNer(web):
           """Main controller to render a full page.
      @@ -437,7 +437,7 @@ 

      Parameters

      Expand source code -Browse git +Browse git
      def serveNerContext(web, node):
           """Controller to render a portion of a page.
      @@ -479,7 +479,7 @@ 

      Parameters

      Expand source code -Browse git +Browse git
      class Serve(Request, Fragments):
           def __init__(self, web):
      @@ -800,7 +800,7 @@ 

      Methods

      Expand source code -Browse git +Browse git
      def actionsFull(self):
           """Carries out requested actions before building the full page.
      @@ -826,7 +826,7 @@ 

      Methods

      Expand source code -Browse git +Browse git
      def actionsLean(self, node):
           """Carries out requested actions before building a portion of the page.
      @@ -868,7 +868,7 @@ 

      Parameters

      Expand source code -Browse git +Browse git
      def getBuckets(self, noFind=False, node=None):
           """Fetch a selection of buckets from the corpus.
      @@ -956,7 +956,7 @@ 

      Parameters

      Expand source code -Browse git +Browse git
      def setHandling(self):
           """Carries out the set-related actions before composing the page.
      @@ -1021,7 +1021,7 @@ 

      Parameters

      Expand source code -Browse git +Browse git
      def setupFull(self):
           """Prepares to serve a complete page.
      @@ -1050,7 +1050,7 @@ 

      Parameters

      Expand source code -Browse git +Browse git
      def setupLean(self):
           """Prepares to update a portion of the page.
      @@ -1075,7 +1075,7 @@ 

      Parameters

      Expand source code -Browse git +Browse git
      def updateHandling(self):
           """Carries out modification actions in the current annotation set.
      @@ -1148,7 +1148,7 @@ 

      Parameters

      Expand source code -Browse git +Browse git
      def wrapFull(self):
           """Builds the full page.
      @@ -1194,7 +1194,7 @@ 

      Returns

      Expand source code -Browse git +Browse git
      def wrapLean(self):
           """Builds a portion of the page.
      diff --git a/tf/browser/ner/sets.html b/tf/browser/ner/sets.html
      index 814b16323..ae7be18ba 100644
      --- a/tf/browser/ner/sets.html
      +++ b/tf/browser/ner/sets.html
      @@ -36,7 +36,7 @@ 

      Module tf.browser.ner.sets

      Expand source code -Browse git +Browse git
      """Annotation set management.
       
      @@ -382,7 +382,7 @@ 

      Parameters

      Expand source code -Browse git +Browse git
      class Sets(Data):
           def __init__(self, data=None):
      @@ -705,7 +705,7 @@ 

      Methods

      Expand source code -Browse git +Browse git
      def getSetData(self):
           """Deliver the data of the current set.
      @@ -727,7 +727,7 @@ 

      Methods

      Expand source code -Browse git +Browse git
      def readSets(self):
           """Read the list current annotation sets (again).
      @@ -748,7 +748,7 @@ 

      Methods

      Expand source code -Browse git +Browse git
      def resetSet(self):
           """Clear the current annotation set.
      @@ -802,7 +802,7 @@ 

      Parameters

      Expand source code -Browse git +Browse git
      def setDel(self, delSet):
           """Remove a named set.
      @@ -865,7 +865,7 @@ 

      Parameters

      Expand source code -Browse git +Browse git
      def setDup(self, dupSet):
           """Duplicates the current set to a set with a new name.
      @@ -942,7 +942,7 @@ 

      Parameters

      Expand source code -Browse git +Browse git
      def setMove(self, moveSet):
           """Renames a named set.
      @@ -1012,7 +1012,7 @@ 

      Parameters

      Expand source code -Browse git +Browse git
      def setSet(self, newAnnoSet):
           """Switch to a named annotation set.
      diff --git a/tf/browser/ner/settings.html b/tf/browser/ner/settings.html
      index 25db76141..bd4a43d78 100644
      --- a/tf/browser/ner/settings.html
      +++ b/tf/browser/ner/settings.html
      @@ -34,7 +34,7 @@ 

      Module tf.browser.ner.settings

      Expand source code -Browse git +Browse git
      """Corpus dependent setup of the annotation tool.
       
      @@ -393,7 +393,7 @@ 

      Classes

      Expand source code -Browse git +Browse git
      class Settings:
           def __init__(self):
      @@ -455,7 +455,7 @@ 

      Methods

      Expand source code -Browse git +Browse git
      def console(self, msg, **kwargs):
           """Print something to the output.
      diff --git a/tf/browser/ner/show.html b/tf/browser/ner/show.html
      index 5c77ec4a0..45d1eebe4 100644
      --- a/tf/browser/ner/show.html
      +++ b/tf/browser/ner/show.html
      @@ -34,7 +34,7 @@ 

      Module tf.browser.ner.show

      Expand source code -Browse git +Browse git
      """Rendering of corpus extracts with annotations.
       
      @@ -449,7 +449,7 @@ 

      Classes

      Expand source code -Browse git +Browse git
      class Show:
           def showEntityOverview(self):
      @@ -888,7 +888,7 @@ 

      Returns

      Expand source code -Browse git +Browse git
      def showContent(
           self,
      @@ -1159,7 +1159,7 @@ 

      Returns

      Expand source code -Browse git +Browse git
      def showEntities(
           self, activeEntity=None, sortKey=None, sortDir=None, cutOffFreq=None
      @@ -1297,7 +1297,7 @@ 

      Returns

      Expand source code -Browse git +Browse git
      def showEntityOverview(self):
           """Generates HTML for an overview of the entities.
      diff --git a/tf/browser/ner/triggers.html b/tf/browser/ner/triggers.html
      index df5d34007..ec294c5d1 100644
      --- a/tf/browser/ner/triggers.html
      +++ b/tf/browser/ner/triggers.html
      @@ -31,9 +31,11 @@ 

      Module tf.browser.ner.triggers

      Expand source code -Browse git +Browse git
      import re
      +from copy import deepcopy
      +
       from .helpers import normalize, toSmallId
       from ...core.helpers import console
       from ...core.files import dirContents
      @@ -55,6 +57,9 @@ 

      Module tf.browser.ner.triggers

      defaultValues = settings.defaultValues self.defaultKind = defaultValues.get(kindFeature, "") + self.instructions = None + """Will contain the information in a spreadsheet for marking up entities.""" + def readXls(self, sheetRela): loadXls = self.loadXls defaultKind = self.defaultKind @@ -186,9 +191,169 @@

      Module tf.browser.ner.triggers

      def compile(self): rawInfo = self.rawInfo + sheetName = self.sheetName + + sheetMain = rawInfo["main"] + sheetTweaked = rawInfo["sdr"] + + compiled = {"": dict(sheet=sheetMain)} + instructions = {} + self.instructions = instructions + + def compileDir(parentSheet, sdr, dest): + ranged = sdr.get("rng", {}) + single = sdr.get("sng", {}) + subdirs = sdr.get("sdr", {}) + + for (start, end), info in sorted(ranged.items()): + for i in range(start, end + 1): + dest.setdefault("tweaks", {}).setdefault( + i, dict(sheet=deepcopy(parentSheet)) + ) + parentCopy = dest["tweaks"][i]["sheet"] + + for kind, data in info.items(): + parentCopy.setdefault(kind, {}) + parentCopy[kind] |= data + + for i, info in single.items(): + dest.setdefault("tweaks", {}).setdefault( + i, dict(sheet=deepcopy(parentSheet)) + ) + parentCopy = dest["tweaks"][i]["sheet"] + + for kind, data in info.items(): + parentCopy.setdefault(kind, {}) + parentCopy[kind] |= data + + for i, info in subdirs.items(): + dest.setdefault("tweaks", {}).setdefault( + i, dict(sheet=deepcopy(parentSheet)) + ) + parentCopy = dest["tweaks"][i]["sheet"] + compileDir(parentCopy, info, dest["tweaks"][i]) + + compileDir(sheetMain, sheetTweaked, compiled) + + diags = set() + + def checkSheet(path, sheet): + sheetRep = sheetName if path == () else ".".join(str(x) for x in path) + console(f"Checking {sheetRep}") + + namesByOcc = {} + + name = sheet["name"] + kind = sheet["kind"] + occs = sheet["occs"] + allKeys = set(name) | set(kind) | set(occs) + + instr = {} + instructions[path] = instr + + for eid in sorted(allKeys): + nm = name.get(eid, "") + kd = kind.get(eid, "") + oc = occs.get(eid, set()) + + instr[eid] = dict(name=nm, kind=kd, occSpecs=oc) + + for occSpec in oc: + namesByOcc.setdefault(occSpec, []).append(nm) + + nEid = len(instr) + nOcc = sum(len(x) for x in occs.values()) + noOccs = sum(1 for x in occs.values() if len(x) == 0) + console(f" {nEid} entities with {nOcc} occurrence specs") + console(f" {noOccs} entities do not have occurrence specifiers") + + nm = 0 + + for occSpec, names in sorted(namesByOcc.items()): + if len(names) == 1: + continue + + diag = (occSpec, tuple(names)) + if diag not in diags: + diags.add(diag) + console(f""""{occSpec}" used for:""") + for name in names: + console(f"\t{name}") + nm += 1 + + if nm == 0: + console(" All occurrence specifiers are unambiguous") + else: + console(f" {nm} occurrence specifiers are ambiguous") + + def checkTweaks(path, tweaks): + for i in sorted(tweaks): + newPath = path + (i,) + subTweaks = tweaks[i] + checkSheet(newPath, subTweaks["sheet"]) + + if "tweaks" in subTweaks: + checkTweaks(newPath, subTweaks["tweaks"]) + + checkSheet((), compiled[""]["sheet"]) + checkTweaks((), compiled.get("tweaks", {})) + + def showInfo(self): + compiledInfo = self.compiledInfo + + def showSheet(parentInfo, info, tab): + parentName = parentInfo["name"] + parentKind = parentInfo["kind"] + parentOccs = parentInfo["occs"] + name = info["name"] + kind = info["kind"] + occs = info["occs"] + allParentKeys = set(parentName) | set(parentKind) | set(parentOccs) + allKeys = set(name) | set(kind) | set(occs) + + console(f"{tab} sheet with {len(allKeys)} keys") + + for eid in allParentKeys | allKeys: + parentNm = parentName.get(eid, None) + nm = name.get(eid, None) + parentKd = parentKind.get(eid, None) + kd = kind.get(eid, None) + parentOc = parentOccs.get(eid, None) + oc = occs.get(eid, None) + + diffNm = parentNm != nm + diffKd = parentKd != kd + diffOc = parentOc != oc + + if diffNm or diffKd or diffOc: + nmRep = f"{parentNm or 'ø'} => {nm or 'ø'}" if diffNm else f"{nm}" + kdRep = f"{parentKd or 'ø'} => {kd or 'ø'}" if diffKd else f"{kd}" + ocRep = f"{parentOc or 'ø'} => {oc or 'ø'}" if diffOc else f"{oc}" + + console(f"{tab} {eid:>30} {nmRep}, {kdRep}, {ocRep}") + + def showDir(parentSheet, info, level): + console("\n") + + tab = " " * level + console(f"{tab}") + + for i in sorted(info): + console(f"{tab}{i}") + + data = info[i] + + thisSheet = data["sheet"] + showSheet(parentSheet, thisSheet, tab) - triggerInfo = rawInfo - self.triggerInfo = triggerInfo + if "tweaks" in data: + showDir(thisSheet, data["tweaks"], level + 1) + + console("\n") + + mainSheet = compiledInfo[""]["sheet"] + showSheet(mainSheet, mainSheet, "") + showDir(mainSheet, compiledInfo["tweaks"], 0) def showRawInfo(self, main=False): rawInfo = self.rawInfo @@ -198,6 +363,7 @@

      Module tf.browser.ner.triggers

      kind = info["kind"] occs = info["occs"] allKeys = set(name) | set(kind) | set(occs) + for eid in sorted(allKeys): nm = name.get(eid, "") kd = kind.get(eid, "") @@ -218,7 +384,7 @@

      Module tf.browser.ner.triggers

      showSheet(sng[k], tab) rng = info.get("rng", {}) - for (b, e) in sorted(rng): + for b, e in sorted(rng): console(f"{tab}{b}-{e}.xslx") showSheet(rng[(b, e)], tab) @@ -231,44 +397,7 @@

      Module tf.browser.ner.triggers

      if main: showSheet(rawInfo["main"], "") - showDir("", rawInfo["sdr"], 0) - - def _remaining_logic(self, info): - namesByOcc = {} - - kindFeature = self.kindFeature - print(kindFeature) - - for eInfo in info.values(): - name = eInfo["name"] - occSpecs = eInfo["occSpecs"] - for occSpec in occSpecs: - namesByOcc.setdefault(occSpec, []).append(name) - - nEid = len(info) - nOcc = sum(len(x["occSpecs"]) for x in info.values()) - noOccs = sum(1 for x in info.values() if len(x["occSpecs"]) == 0) - console(f"{nEid} entities with {nOcc} occurrence specs") - console(f"{noOccs} entities do not have occurrence specifiers") - - nm = 0 - - for occSpec, names in sorted(namesByOcc.items()): - if len(names) == 1: - continue - - console(f""""{occSpec}" used for:""") - for name in names: - console(f"\t{name}") - nm += 1 - - if nm == 0: - console("All occurrence specifiers are unambiguous") - else: - console(f"{nm} occurrence specifiers are ambiguous") - - self.namesByOcc = namesByOcc - self.instructions = info
      + showDir("", rawInfo["sdr"], 0)
      @@ -289,7 +418,7 @@

      Classes

      Expand source code -Browse git +Browse git
      class Triggers:
           def __init__(self, Ner):
      @@ -303,6 +432,9 @@ 

      Classes

      defaultValues = settings.defaultValues self.defaultKind = defaultValues.get(kindFeature, "") + self.instructions = None + """Will contain the information in a spreadsheet for marking up entities.""" + def readXls(self, sheetRela): loadXls = self.loadXls defaultKind = self.defaultKind @@ -434,9 +566,169 @@

      Classes

      def compile(self): rawInfo = self.rawInfo + sheetName = self.sheetName + + sheetMain = rawInfo["main"] + sheetTweaked = rawInfo["sdr"] + + compiled = {"": dict(sheet=sheetMain)} + instructions = {} + self.instructions = instructions + + def compileDir(parentSheet, sdr, dest): + ranged = sdr.get("rng", {}) + single = sdr.get("sng", {}) + subdirs = sdr.get("sdr", {}) + + for (start, end), info in sorted(ranged.items()): + for i in range(start, end + 1): + dest.setdefault("tweaks", {}).setdefault( + i, dict(sheet=deepcopy(parentSheet)) + ) + parentCopy = dest["tweaks"][i]["sheet"] + + for kind, data in info.items(): + parentCopy.setdefault(kind, {}) + parentCopy[kind] |= data + + for i, info in single.items(): + dest.setdefault("tweaks", {}).setdefault( + i, dict(sheet=deepcopy(parentSheet)) + ) + parentCopy = dest["tweaks"][i]["sheet"] + + for kind, data in info.items(): + parentCopy.setdefault(kind, {}) + parentCopy[kind] |= data + + for i, info in subdirs.items(): + dest.setdefault("tweaks", {}).setdefault( + i, dict(sheet=deepcopy(parentSheet)) + ) + parentCopy = dest["tweaks"][i]["sheet"] + compileDir(parentCopy, info, dest["tweaks"][i]) + + compileDir(sheetMain, sheetTweaked, compiled) + + diags = set() + + def checkSheet(path, sheet): + sheetRep = sheetName if path == () else ".".join(str(x) for x in path) + console(f"Checking {sheetRep}") + + namesByOcc = {} + + name = sheet["name"] + kind = sheet["kind"] + occs = sheet["occs"] + allKeys = set(name) | set(kind) | set(occs) + + instr = {} + instructions[path] = instr + + for eid in sorted(allKeys): + nm = name.get(eid, "") + kd = kind.get(eid, "") + oc = occs.get(eid, set()) + + instr[eid] = dict(name=nm, kind=kd, occSpecs=oc) + + for occSpec in oc: + namesByOcc.setdefault(occSpec, []).append(nm) + + nEid = len(instr) + nOcc = sum(len(x) for x in occs.values()) + noOccs = sum(1 for x in occs.values() if len(x) == 0) + console(f" {nEid} entities with {nOcc} occurrence specs") + console(f" {noOccs} entities do not have occurrence specifiers") + + nm = 0 + + for occSpec, names in sorted(namesByOcc.items()): + if len(names) == 1: + continue + + diag = (occSpec, tuple(names)) + if diag not in diags: + diags.add(diag) + console(f""""{occSpec}" used for:""") + for name in names: + console(f"\t{name}") + nm += 1 + + if nm == 0: + console(" All occurrence specifiers are unambiguous") + else: + console(f" {nm} occurrence specifiers are ambiguous") + + def checkTweaks(path, tweaks): + for i in sorted(tweaks): + newPath = path + (i,) + subTweaks = tweaks[i] + checkSheet(newPath, subTweaks["sheet"]) - triggerInfo = rawInfo - self.triggerInfo = triggerInfo + if "tweaks" in subTweaks: + checkTweaks(newPath, subTweaks["tweaks"]) + + checkSheet((), compiled[""]["sheet"]) + checkTweaks((), compiled.get("tweaks", {})) + + def showInfo(self): + compiledInfo = self.compiledInfo + + def showSheet(parentInfo, info, tab): + parentName = parentInfo["name"] + parentKind = parentInfo["kind"] + parentOccs = parentInfo["occs"] + name = info["name"] + kind = info["kind"] + occs = info["occs"] + allParentKeys = set(parentName) | set(parentKind) | set(parentOccs) + allKeys = set(name) | set(kind) | set(occs) + + console(f"{tab} sheet with {len(allKeys)} keys") + + for eid in allParentKeys | allKeys: + parentNm = parentName.get(eid, None) + nm = name.get(eid, None) + parentKd = parentKind.get(eid, None) + kd = kind.get(eid, None) + parentOc = parentOccs.get(eid, None) + oc = occs.get(eid, None) + + diffNm = parentNm != nm + diffKd = parentKd != kd + diffOc = parentOc != oc + + if diffNm or diffKd or diffOc: + nmRep = f"{parentNm or 'ø'} => {nm or 'ø'}" if diffNm else f"{nm}" + kdRep = f"{parentKd or 'ø'} => {kd or 'ø'}" if diffKd else f"{kd}" + ocRep = f"{parentOc or 'ø'} => {oc or 'ø'}" if diffOc else f"{oc}" + + console(f"{tab} {eid:>30} {nmRep}, {kdRep}, {ocRep}") + + def showDir(parentSheet, info, level): + console("\n") + + tab = " " * level + console(f"{tab}") + + for i in sorted(info): + console(f"{tab}{i}") + + data = info[i] + + thisSheet = data["sheet"] + showSheet(parentSheet, thisSheet, tab) + + if "tweaks" in data: + showDir(thisSheet, data["tweaks"], level + 1) + + console("\n") + + mainSheet = compiledInfo[""]["sheet"] + showSheet(mainSheet, mainSheet, "") + showDir(mainSheet, compiledInfo["tweaks"], 0) def showRawInfo(self, main=False): rawInfo = self.rawInfo @@ -446,6 +738,7 @@

      Classes

      kind = info["kind"] occs = info["occs"] allKeys = set(name) | set(kind) | set(occs) + for eid in sorted(allKeys): nm = name.get(eid, "") kd = kind.get(eid, "") @@ -466,7 +759,7 @@

      Classes

      showSheet(sng[k], tab) rng = info.get("rng", {}) - for (b, e) in sorted(rng): + for b, e in sorted(rng): console(f"{tab}{b}-{e}.xslx") showSheet(rng[(b, e)], tab) @@ -479,25 +772,104 @@

      Classes

      if main: showSheet(rawInfo["main"], "") - showDir("", rawInfo["sdr"], 0) + showDir("", rawInfo["sdr"], 0)
      +
      +

      Instance variables

      +
      +
      var instructions
      +
      +

      Will contain the information in a spreadsheet for marking up entities.

      +
      +
      +

      Methods

      +
      +
      +def compile(self) +
      +
      +
      +
      + +Expand source code +Browse git + +
      def compile(self):
      +    rawInfo = self.rawInfo
      +    sheetName = self.sheetName
      +
      +    sheetMain = rawInfo["main"]
      +    sheetTweaked = rawInfo["sdr"]
      +
      +    compiled = {"": dict(sheet=sheetMain)}
      +    instructions = {}
      +    self.instructions = instructions
      +
      +    def compileDir(parentSheet, sdr, dest):
      +        ranged = sdr.get("rng", {})
      +        single = sdr.get("sng", {})
      +        subdirs = sdr.get("sdr", {})
      +
      +        for (start, end), info in sorted(ranged.items()):
      +            for i in range(start, end + 1):
      +                dest.setdefault("tweaks", {}).setdefault(
      +                    i, dict(sheet=deepcopy(parentSheet))
      +                )
      +                parentCopy = dest["tweaks"][i]["sheet"]
      +
      +                for kind, data in info.items():
      +                    parentCopy.setdefault(kind, {})
      +                    parentCopy[kind] |= data
      +
      +        for i, info in single.items():
      +            dest.setdefault("tweaks", {}).setdefault(
      +                i, dict(sheet=deepcopy(parentSheet))
      +            )
      +            parentCopy = dest["tweaks"][i]["sheet"]
      +
      +            for kind, data in info.items():
      +                parentCopy.setdefault(kind, {})
      +                parentCopy[kind] |= data
      +
      +        for i, info in subdirs.items():
      +            dest.setdefault("tweaks", {}).setdefault(
      +                i, dict(sheet=deepcopy(parentSheet))
      +            )
      +            parentCopy = dest["tweaks"][i]["sheet"]
      +            compileDir(parentCopy, info, dest["tweaks"][i])
      +
      +    compileDir(sheetMain, sheetTweaked, compiled)
      +
      +    diags = set()
      +
      +    def checkSheet(path, sheet):
      +        sheetRep = sheetName if path == () else ".".join(str(x) for x in path)
      +        console(f"Checking {sheetRep}")
       
      -    def _remaining_logic(self, info):
               namesByOcc = {}
       
      -        kindFeature = self.kindFeature
      -        print(kindFeature)
      +        name = sheet["name"]
      +        kind = sheet["kind"]
      +        occs = sheet["occs"]
      +        allKeys = set(name) | set(kind) | set(occs)
      +
      +        instr = {}
      +        instructions[path] = instr
      +
      +        for eid in sorted(allKeys):
      +            nm = name.get(eid, "")
      +            kd = kind.get(eid, "")
      +            oc = occs.get(eid, set())
      +
      +            instr[eid] = dict(name=nm, kind=kd, occSpecs=oc)
       
      -        for eInfo in info.values():
      -            name = eInfo["name"]
      -            occSpecs = eInfo["occSpecs"]
      -            for occSpec in occSpecs:
      -                namesByOcc.setdefault(occSpec, []).append(name)
      +            for occSpec in oc:
      +                namesByOcc.setdefault(occSpec, []).append(nm)
       
      -        nEid = len(info)
      -        nOcc = sum(len(x["occSpecs"]) for x in info.values())
      -        noOccs = sum(1 for x in info.values() if len(x["occSpecs"]) == 0)
      -        console(f"{nEid} entities with {nOcc} occurrence specs")
      -        console(f"{noOccs} entities do not have occurrence specifiers")
      +        nEid = len(instr)
      +        nOcc = sum(len(x) for x in occs.values())
      +        noOccs = sum(1 for x in occs.values() if len(x) == 0)
      +        console(f"  {nEid} entities with {nOcc} occurrence specs")
      +        console(f"  {noOccs} entities do not have occurrence specifiers")
       
               nm = 0
       
      @@ -505,36 +877,30 @@ 

      Classes

      if len(names) == 1: continue - console(f""""{occSpec}" used for:""") - for name in names: - console(f"\t{name}") + diag = (occSpec, tuple(names)) + if diag not in diags: + diags.add(diag) + console(f""""{occSpec}" used for:""") + for name in names: + console(f"\t{name}") nm += 1 if nm == 0: - console("All occurrence specifiers are unambiguous") + console(" All occurrence specifiers are unambiguous") else: - console(f"{nm} occurrence specifiers are ambiguous") + console(f" {nm} occurrence specifiers are ambiguous") - self.namesByOcc = namesByOcc - self.instructions = info
      -
      -

      Methods

      -
      -
      -def compile(self) -
      -
      -
      -
      - -Expand source code -Browse git - -
      def compile(self):
      -    rawInfo = self.rawInfo
      +    def checkTweaks(path, tweaks):
      +        for i in sorted(tweaks):
      +            newPath = path + (i,)
      +            subTweaks = tweaks[i]
      +            checkSheet(newPath, subTweaks["sheet"])
       
      -    triggerInfo = rawInfo
      -    self.triggerInfo = triggerInfo
      + if "tweaks" in subTweaks: + checkTweaks(newPath, subTweaks["tweaks"]) + + checkSheet((), compiled[""]["sheet"]) + checkTweaks((), compiled.get("tweaks", {}))
  • @@ -545,7 +911,7 @@

    Methods

    Expand source code -Browse git +Browse git
    def read(self, sheetName):
         self.sheetName = sheetName
    @@ -565,7 +931,7 @@ 

    Methods

    Expand source code -Browse git +Browse git
    def readDir(self, sheetRela, level):
         sheetDir = self.sheetDir
    @@ -617,7 +983,7 @@ 

    Methods

    Expand source code -Browse git +Browse git
    def readXls(self, sheetRela):
         loadXls = self.loadXls
    @@ -699,6 +1065,74 @@ 

    Methods

    return info
    +
    +def showInfo(self) +
    +
    +
    +
    + +Expand source code +Browse git + +
    def showInfo(self):
    +    compiledInfo = self.compiledInfo
    +
    +    def showSheet(parentInfo, info, tab):
    +        parentName = parentInfo["name"]
    +        parentKind = parentInfo["kind"]
    +        parentOccs = parentInfo["occs"]
    +        name = info["name"]
    +        kind = info["kind"]
    +        occs = info["occs"]
    +        allParentKeys = set(parentName) | set(parentKind) | set(parentOccs)
    +        allKeys = set(name) | set(kind) | set(occs)
    +
    +        console(f"{tab}  sheet with {len(allKeys)} keys")
    +
    +        for eid in allParentKeys | allKeys:
    +            parentNm = parentName.get(eid, None)
    +            nm = name.get(eid, None)
    +            parentKd = parentKind.get(eid, None)
    +            kd = kind.get(eid, None)
    +            parentOc = parentOccs.get(eid, None)
    +            oc = occs.get(eid, None)
    +
    +            diffNm = parentNm != nm
    +            diffKd = parentKd != kd
    +            diffOc = parentOc != oc
    +
    +            if diffNm or diffKd or diffOc:
    +                nmRep = f"{parentNm or 'ø'} => {nm or 'ø'}" if diffNm else f"{nm}"
    +                kdRep = f"{parentKd or 'ø'} => {kd or 'ø'}" if diffKd else f"{kd}"
    +                ocRep = f"{parentOc or 'ø'} => {oc or 'ø'}" if diffOc else f"{oc}"
    +
    +                console(f"{tab}  {eid:>30} {nmRep}, {kdRep}, {ocRep}")
    +
    +    def showDir(parentSheet, info, level):
    +        console("\n")
    +
    +        tab = "  " * level
    +        console(f"{tab}")
    +
    +        for i in sorted(info):
    +            console(f"{tab}{i}")
    +
    +            data = info[i]
    +
    +            thisSheet = data["sheet"]
    +            showSheet(parentSheet, thisSheet, tab)
    +
    +            if "tweaks" in data:
    +                showDir(thisSheet, data["tweaks"], level + 1)
    +
    +        console("\n")
    +
    +    mainSheet = compiledInfo[""]["sheet"]
    +    showSheet(mainSheet, mainSheet, "")
    +    showDir(mainSheet, compiledInfo["tweaks"], 0)
    +
    +
    def showRawInfo(self, main=False)
    @@ -707,7 +1141,7 @@

    Methods

    Expand source code -Browse git +Browse git
    def showRawInfo(self, main=False):
         rawInfo = self.rawInfo
    @@ -717,6 +1151,7 @@ 

    Methods

    kind = info["kind"] occs = info["occs"] allKeys = set(name) | set(kind) | set(occs) + for eid in sorted(allKeys): nm = name.get(eid, "") kd = kind.get(eid, "") @@ -737,7 +1172,7 @@

    Methods

    showSheet(sng[k], tab) rng = info.get("rng", {}) - for (b, e) in sorted(rng): + for b, e in sorted(rng): console(f"{tab}{b}-{e}.xslx") showSheet(rng[(b, e)], tab) @@ -824,11 +1259,13 @@

    Index

    • Triggers

      -
        + diff --git a/tf/browser/ner/web.html b/tf/browser/ner/web.html index 864f1e3bc..4cc092d80 100644 --- a/tf/browser/ner/web.html +++ b/tf/browser/ner/web.html @@ -34,7 +34,7 @@

        Module tf.browser.ner.web

        Expand source code -Browse git +Browse git
        """Flask sub web app in the TF browser.
         
        @@ -169,7 +169,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def factory(web):
             """A sub web app, to be inserted into the TF browser web app.
        diff --git a/tf/browser/serve.html b/tf/browser/serve.html
        index 281bbab42..7899b6be9 100644
        --- a/tf/browser/serve.html
        +++ b/tf/browser/serve.html
        @@ -37,7 +37,7 @@ 

        Dress TF nodes up for serving
        Expand source code -Browse git +Browse git
        """
         # Dress TF nodes up for serving on the web
        @@ -531,7 +531,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def serveAll(web, anything):
             aContext = web.context
        @@ -662,7 +662,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def serveDownload(web, jobOnly):
             aContext = web.context
        @@ -761,7 +761,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def serveExport(web):
             aContext = web.context
        @@ -835,7 +835,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def servePassage(web, getx=None):
             kernelApi = web.kernelApi
        @@ -885,7 +885,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def serveQuery(web, getx=None, asDict=False):
             kernelApi = web.kernelApi
        @@ -978,7 +978,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def serveTable(web, kind, getx=None, asDict=False):
             kernelApi = web.kernelApi
        diff --git a/tf/browser/servelib.html b/tf/browser/servelib.html
        index a843cc199..f735b96ce 100644
        --- a/tf/browser/servelib.html
        +++ b/tf/browser/servelib.html
        @@ -39,7 +39,7 @@ 

        About

        Expand source code -Browse git +Browse git
        """
         # Common Server Related Functions
        @@ -320,7 +320,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def batchAround(nResults, position, batch):
             halfBatch = int((batch + 1) / 2)
        @@ -342,7 +342,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def getAbout(colophon, header, provenance, form):
             return f"""
        @@ -396,7 +396,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def getFormData(interfaceDefaults):
             """Get form data.
        @@ -557,7 +557,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def getInt(x, default=1):
             if len(x) > 15:
        @@ -575,7 +575,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def zipTables(csvs, tupleResultsX, queryResultsX, about, form):
             appName = form["appName"]
        diff --git a/tf/browser/start.html b/tf/browser/start.html
        index be917dd98..931983bb6 100644
        --- a/tf/browser/start.html
        +++ b/tf/browser/start.html
        @@ -89,7 +89,7 @@ 

        Implementation notes

        Expand source code -Browse git +Browse git
        """
         # Start the TF browser
        @@ -368,7 +368,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def bMsg(url):
             return f"\n\tOpen a webbrowser and navigate to url {url}\n"
        @@ -382,7 +382,7 @@

        Functions

        Expand source code -Browse git +Browse git
        def main(cargs=sys.argv[1:]):
             console(BANNER)
        @@ -441,7 +441,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def startBrowser(url, forceChrome, debug):
             opened = False
        diff --git a/tf/browser/web.html b/tf/browser/web.html
        index 0da8249db..ba79d22dc 100644
        --- a/tf/browser/web.html
        +++ b/tf/browser/web.html
        @@ -114,7 +114,7 @@ 

        JavaScript

        Expand source code -Browse git +Browse git
        """
         # Web interface
        @@ -407,7 +407,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def factory(web):
             app = Flask(__name__)
        @@ -495,7 +495,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def runWeb(webapp, debug, portWeb):
             run_simple(
        @@ -519,7 +519,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def setup(debug, *args):
             appSpecs = argApp(args, False)
        @@ -595,7 +595,7 @@ 

        Classes

        Expand source code -Browse git +Browse git
        class Web:
             def __init__(self, kernelApi):
        @@ -619,7 +619,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def console(self, msg):
             if self.debug:
        diff --git a/tf/browser/wrap.html b/tf/browser/wrap.html
        index 3af3533e4..3bc2bece6 100644
        --- a/tf/browser/wrap.html
        +++ b/tf/browser/wrap.html
        @@ -33,7 +33,7 @@ 

        Wrap material into HTML

        Expand source code -Browse git +Browse git
        """
         # Wrap material into HTML
        @@ -592,7 +592,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def pageLinks(nResults, position, spread=10):
             """Provide navigation links for results sets, big or small.
        @@ -675,7 +675,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def passageLinks(passages, sec0Type, sec0, sec1, tillLevel):
             """Provide navigation links for passages,
        @@ -728,7 +728,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def wrapColorMap(form):
             """Wraps the color map for query result highlighting into HTML.
        @@ -813,7 +813,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def wrapEColorMap(form):
             """Wraps the edge color map for edge highlighting into HTML.
        @@ -922,7 +922,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def wrapOptions(context, form):
             """Wraps the boolean options, including the app-specific ones, into HTML."""
        @@ -962,7 +962,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def wrapProvenance(form, provenance, setNames):
             utc_offset_sec = time.altzone if time.localtime().tm_isdst else time.timezone
        @@ -1138,7 +1138,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def wrapSelect(option, allowedValues, value, group, item, multiple):
             """Provides a buttoned chooser for the node types.
        diff --git a/tf/capable.html b/tf/capable.html
        index 99be99f42..152d0429c 100644
        --- a/tf/capable.html
        +++ b/tf/capable.html
        @@ -86,7 +86,7 @@ 

        Optional dependencies

        Expand source code -Browse git +Browse git
        """Dependency management.
         
        @@ -500,7 +500,7 @@ 

        Classes

        Expand source code -Browse git +Browse git
        class Capable:
             """Import modules for back-end communication if possible.
        @@ -615,7 +615,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def can(self, extra):
             if extra in {"github", "gitlab"}:
        @@ -646,7 +646,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def load(self, module):
             modules = self.modules
        @@ -671,7 +671,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def loadFrom(self, module, *members):
             loaded = self.load(module)
        @@ -692,7 +692,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def tryImport(self, *extras):
             backendProviders = self.backendProviders
        @@ -771,7 +771,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        class CheckImport:
             def __init__(self, *modules, optional=False):
        @@ -969,7 +969,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def importGet(self):
             """Delivers the imported modules.
        @@ -1008,7 +1008,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def importOK(self, hint=False):
             """Reports the result of the import attempts.
        diff --git a/tf/cheatsheet.html b/tf/cheatsheet.html
        index 16bf8c034..04ff6d0a0 100644
        --- a/tf/cheatsheet.html
        +++ b/tf/cheatsheet.html
        @@ -1661,7 +1661,7 @@ 

        Command-line tools

        Expand source code -Browse git +Browse git
        """
         .. include:: docs/main/cheatsheet.md
        diff --git a/tf/clean.html b/tf/clean.html
        index b44005b9c..19271de92 100644
        --- a/tf/clean.html
        +++ b/tf/clean.html
        @@ -40,7 +40,7 @@ 

        Clean

        Expand source code -Browse git +Browse git
        """
         # Clean
        @@ -207,7 +207,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def clean(tfd=True, backend=None, dry=True, specific=None, current=False):
             """Clean up older compressed `.tfx` files.
        @@ -293,7 +293,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def err(msg):
             """Write to standard error output immediately."""
        @@ -309,7 +309,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def out(msg):
             """Write to standard normal output immediately."""
        diff --git a/tf/client/index.html b/tf/client/index.html
        index f059c4a09..57be6c81f 100644
        --- a/tf/client/index.html
        +++ b/tf/client/index.html
        @@ -57,7 +57,7 @@ 

        Acknowledgments

        Expand source code -Browse git +Browse git
        """
         # Layered Search
        diff --git a/tf/client/make/build.html b/tf/client/make/build.html
        index a6e809462..ae17824be 100644
        --- a/tf/client/make/build.html
        +++ b/tf/client/make/build.html
        @@ -81,7 +81,7 @@ 

        Commands

        Expand source code -Browse git +Browse git
        """
         # Usage
        @@ -1497,7 +1497,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def console(*args, error=False):
             device = sys.stderr if error else sys.stdout
        @@ -1513,7 +1513,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def invertMap(legend):
             return (
        @@ -1533,7 +1533,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def main():
             Args = readArgsLegacy()
        @@ -1594,7 +1594,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def makeSearchClients(dataset, folder, appFolder, backend=None, dataDir=None):
             DEBUG_STATE = "off"
        @@ -1640,7 +1640,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def readArgsLegacy():
             class Args:
        @@ -1753,7 +1753,7 @@ 

        Classes

        Expand source code -Browse git +Browse git
        class Make:
             def __init__(
        @@ -2862,7 +2862,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def adjustDebug(self):
             C = self.C
        @@ -2894,7 +2894,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def adjustVersion(self):
             C = self.C
        @@ -2917,7 +2917,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def compress(self, data):
             sets = {}
        @@ -2944,7 +2944,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def config(self):
             C = self.C
        @@ -3220,7 +3220,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def doCommand(self, command):
             if command == "serve":
        @@ -3257,7 +3257,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def dumpConfig(self):
             C = self.C
        @@ -3283,7 +3283,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def dumpCorpus(self):
             C = self.C
        @@ -3412,7 +3412,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def getAllClients(self):
             C = self.C
        @@ -3437,7 +3437,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def getDebugs(self):
             C = self.C
        @@ -3470,7 +3470,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def importMake(self, c=None):
             client = self.client
        @@ -3510,7 +3510,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def incVersion(self):
             C = self.C
        @@ -3530,7 +3530,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def loadTf(self):
             C = self.C
        @@ -3552,7 +3552,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def make(self):
             self.makeConfig()
        @@ -3586,7 +3586,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def makeClient(self):
             """
        @@ -3670,7 +3670,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def makeClientSettings(self):
             C = self.C
        @@ -3814,7 +3814,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def makeCombined(self):
             C = self.C
        @@ -3884,7 +3884,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def makeConfig(self):
             if not getattr(self, "A", None):
        @@ -3902,7 +3902,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def makeCorpus(self):
             if not getattr(self, "A", None):
        @@ -3929,7 +3929,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def makeHtml(self):
             C = self.C
        @@ -4010,7 +4010,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def makeLinks(self):
             C = self.C
        @@ -4041,7 +4041,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def publish(self, allClients=True):
             C = self.C
        @@ -4074,7 +4074,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def replaceDebug(self, mask, value):
             def subVersion(match):
        @@ -4091,7 +4091,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def serve(self):
             dataset = self.dataset
        @@ -4134,7 +4134,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def ship(self, publish=True):
             self.adjustVersion()
        @@ -4155,7 +4155,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def showDebug(self):
             debugInfo = self.getDebugs()
        @@ -4175,7 +4175,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def showVersion(self):
             C = self.C
        @@ -4192,7 +4192,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def zipApp(self):
             C = self.C
        diff --git a/tf/client/make/gh.html b/tf/client/make/gh.html
        index 7181505af..b91fe8445 100644
        --- a/tf/client/make/gh.html
        +++ b/tf/client/make/gh.html
        @@ -31,7 +31,7 @@ 

        Module tf.client.make.gh

        Expand source code -Browse git +Browse git
        import sys
         import os
        @@ -210,7 +210,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def console(*args):
             sys.stdout.write(" ".join(args) + "\n")
        @@ -225,7 +225,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def deploy(org, repo):
             (result, error) = _ghp_import()
        diff --git a/tf/client/make/help.html b/tf/client/make/help.html
        index 709ac2688..31d06666a 100644
        --- a/tf/client/make/help.html
        +++ b/tf/client/make/help.html
        @@ -31,7 +31,7 @@ 

        Module tf.client.make.help

        Expand source code -Browse git +Browse git
        HELP = """
         tf-make [--backend={backend} {org}/{repo} serve {folder}
        diff --git a/tf/client/make/index.html b/tf/client/make/index.html
        index dbd75f479..0c04a6058 100644
        --- a/tf/client/make/index.html
        +++ b/tf/client/make/index.html
        @@ -32,7 +32,7 @@ 

        Module tf.client.make

        Expand source code -Browse git +Browse git
        """
         The search app make program
        diff --git a/tf/convert/addnlp.html b/tf/convert/addnlp.html
        index 0bcd9f1e2..c796ff94b 100644
        --- a/tf/convert/addnlp.html
        +++ b/tf/convert/addnlp.html
        @@ -114,7 +114,7 @@ 

        Examples

        Expand source code -Browse git +Browse git
        """Add data from an NLP pipeline.
         
        @@ -1760,7 +1760,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def main():
             (good, tasks, params, flags) = readArgs("tf-addnlp", HELP, TASKS, PARAMS, FLAGS)
        @@ -1859,7 +1859,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        class NLPipeline(CheckImport):
             def __init__(
        @@ -3296,7 +3296,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def generatePlain(self):
             """Generates a plain text out of a data source.
        @@ -3529,7 +3529,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def getElementInfo(self, verbose=None):
             """Analyse the schema.
        @@ -3653,7 +3653,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def ingest(
             self,
        @@ -4176,7 +4176,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def ingestNlpOutput(self, positions, tkStream, sentenceStream, entityStream):
             """Ingests NLP output such as tokens in a dataset. Tokens become the new slots.
        @@ -4511,7 +4511,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def lingo(self, *args, **kwargs):
             if not self.importOK():
        @@ -4541,7 +4541,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def loadApp(self, app=None, verbose=None):
             """Loads a given TF app or loads the TF app based on the working directory.
        @@ -4650,7 +4650,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def task(
             self,
        diff --git a/tf/convert/app/app.html b/tf/convert/app/app.html
        index 7eb3e49ac..6af446db0 100644
        --- a/tf/convert/app/app.html
        +++ b/tf/convert/app/app.html
        @@ -31,7 +31,7 @@ 

        Module tf.convert.app.app

        Expand source code -Browse git +Browse git
        import types
         from tf.advanced.app import App
        @@ -91,7 +91,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def fmt_layout(app, n, **kwargs):
             return app._wrapHtml(n)
        @@ -146,7 +146,7 @@

        Parameters

        Expand source code -Browse git +Browse git
        class TfApp(App):
             def __init__(app, *args, **kwargs):
        diff --git a/tf/convert/helpers.html b/tf/convert/helpers.html
        index 287279b99..914560455 100644
        --- a/tf/convert/helpers.html
        +++ b/tf/convert/helpers.html
        @@ -31,7 +31,7 @@ 

        Module tf.convert.helpers

        Expand source code -Browse git +Browse git
        import re
         from textwrap import dedent
        @@ -835,7 +835,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def checkModel(kind, thisModel, verbose):
             modelDefault = (
        @@ -925,7 +925,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def getWhites(text):
             match = W_BEFORE.match(text)
        @@ -997,7 +997,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def lookupSource(cv, cur, tokenAsSlot, specs):
             """Looks up information from the current XML stack.
        @@ -1116,7 +1116,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def matchModel(properties, tag, atts):
             if tag == properties["element"]:
        @@ -1144,7 +1144,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def repTokens(tokens):
             text = []
        @@ -1161,7 +1161,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def setUp(kind):
             helpText = f"""
        @@ -1214,7 +1214,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def tokenize(line):
             tokens = []
        @@ -1242,7 +1242,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def tweakTrans(
             template,
        diff --git a/tf/convert/index.html b/tf/convert/index.html
        index acb1955f5..65e2dbeba 100644
        --- a/tf/convert/index.html
        +++ b/tf/convert/index.html
        @@ -39,7 +39,7 @@ 

        Various forms of data interchange

        Expand source code -Browse git +Browse git
        """
         # Various forms of data interchange
        diff --git a/tf/convert/makewatm.html b/tf/convert/makewatm.html
        index 47bd82d43..5ae3c669e 100644
        --- a/tf/convert/makewatm.html
        +++ b/tf/convert/makewatm.html
        @@ -31,7 +31,7 @@ 

        Module tf.convert.makewatm

        Expand source code -Browse git +Browse git
        import sys
         from textwrap import dedent
        @@ -515,7 +515,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        class MakeWATM:
             """Base class for running conversions to WATM.
        @@ -939,7 +939,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def doTask_page2tf(self):
             good = self.good
        @@ -996,7 +996,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def doTask_tei2tf(self):
             good = self.good
        @@ -1086,7 +1086,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def doTask_watm(self):
             good = self.good
        @@ -1130,7 +1130,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def doTask_watms(self):
             good = self.good
        @@ -1160,7 +1160,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def main(self, cmdLine=None, cargs=sys.argv[1:]):
             FLAGS = self.FLAGS
        @@ -1232,7 +1232,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def prepareRun(self, tasks):
             return
        @@ -1246,7 +1246,7 @@

        Methods

        Expand source code -Browse git +Browse git
        def run(self, tasks):
             TASKS = self.TASKS
        @@ -1269,7 +1269,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def setOptions(
             self,
        diff --git a/tf/convert/mql.html b/tf/convert/mql.html
        index 043285b02..77ad75c15 100644
        --- a/tf/convert/mql.html
        +++ b/tf/convert/mql.html
        @@ -140,7 +140,7 @@ 

        Naming of features in MQL

        Expand source code -Browse git +Browse git
        """
         # MQL
        @@ -1223,7 +1223,7 @@ 

        See Also

        Expand source code -Browse git +Browse git
        def exportMQL(app, mqlDb, exportDir=None):
             """Exports the complete TF dataset into single MQL database.
        @@ -1340,7 +1340,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def importMQL(mqlFile, saveDir, silent=None, slotType=None, otext=None, meta=None):
             """Converts an MQL database dump to a TF dataset.
        @@ -1426,7 +1426,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def makeuni(match):
             """Make proper UNICODE of a text that contains byte escape codes
        @@ -1444,7 +1444,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def parseMql(mqlFile, tmObj):
             info = tmObj.info
        @@ -1658,7 +1658,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def tfFromData(tmObj, objectTypes, tables, nodeF, edgeF, slotType, otext, meta):
             info = tmObj.info
        @@ -1787,7 +1787,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def tfFromMql(mqlFile, tmObj, slotType=None, otext=None, meta=None):
             """Generate TF from MQL
        @@ -1819,7 +1819,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def uni(line):
             return uniscan.sub(makeuni, line)
        @@ -1839,7 +1839,7 @@

        Classes

        Expand source code -Browse git +Browse git
        class MQL:
             def __init__(self, app, mqlDb, exportDir, silent=SILENT_D):
        @@ -2240,7 +2240,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def write(self):
             silent = self.silent
        diff --git a/tf/convert/pagexml.html b/tf/convert/pagexml.html
        index 9dbd14e46..37cd366dc 100644
        --- a/tf/convert/pagexml.html
        +++ b/tf/convert/pagexml.html
        @@ -31,7 +31,7 @@ 

        Module tf.convert.pagexml

        Expand source code -Browse git +Browse git
        import sys
         from subprocess import run
        @@ -1113,7 +1113,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def diverge(cv, s, rtx, rsp, ltx, lsp):
             if ltx != rtx:
        @@ -1130,7 +1130,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def emptySlot(cv):
             s = cv.slot()
        @@ -1145,7 +1145,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def linebreakSlot(cv):
             s = cv.slot()
        @@ -1160,7 +1160,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def main():
             (good, tasks, params, flags) = readArgs(
        @@ -1183,7 +1183,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def setUp():
             helpText = """
        @@ -1234,7 +1234,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def tokenLogic(cv, s, token, hangover, isFirst, isSecondLast, isLast):
             (rtx, rsp) = token
        @@ -1299,7 +1299,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def walkObject(cv, cur, xObj):
             """Internal function to deal with a single element.
        @@ -1488,7 +1488,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        class PageXML(CheckImport):
             def __init__(
        @@ -2367,7 +2367,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def appTask(self):
             """Implementation of the "app" task.
        @@ -2551,7 +2551,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def browseTask(self):
             """Implementation of the "browse" task.
        @@ -2615,7 +2615,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def convertTask(self):
             """Implementation of the "convert" task.
        @@ -2698,7 +2698,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def getConverter(self, doc):
             """Initializes a converter.
        @@ -2737,7 +2737,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def getDirector(self, doc, docMeta, pageSource, pageFiles):
             """Factory for the director function.
        @@ -2823,7 +2823,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def loadTask(self):
             """Implementation of the "load" task.
        @@ -2914,7 +2914,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def task(
             self,
        diff --git a/tf/convert/pandas.html b/tf/convert/pandas.html
        index 7d69e4bed..544e65583 100644
        --- a/tf/convert/pandas.html
        +++ b/tf/convert/pandas.html
        @@ -61,7 +61,7 @@ 

        Examples

        Expand source code -Browse git +Browse git
        """
         # Export a TF dataset to a `pandas` data frame.
        @@ -440,7 +440,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def exportPandas(app, inTypes=None, exportDir=None):
             """Export a currently loaded TF dataset to `pandas`.
        diff --git a/tf/convert/recorder.html b/tf/convert/recorder.html
        index be89a2395..a80e1f76f 100644
        --- a/tf/convert/recorder.html
        +++ b/tf/convert/recorder.html
        @@ -185,7 +185,7 @@ 

        Usage

        Expand source code -Browse git +Browse git
        """
         # Recorder
        @@ -964,7 +964,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        class Recorder:
             def __init__(self, api=None):
        @@ -1633,7 +1633,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def add(self, string, empty=ZWJ):
             """Add text to the accumulator.
        @@ -1671,7 +1671,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def end(self, n):
             """End a node.
        @@ -1722,7 +1722,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def iPositions(self, byType=False, logical=True, asEntries=False):
             """Get the character positions as mapping from nodes.
        @@ -1830,7 +1830,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def makeFeatures(self, featurePath, headers=True):
             """Read a tab-separated file of annotation data and convert it to features.
        @@ -1935,7 +1935,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def positions(self, byType=False, simple=False):
             """Get the node positions as mapping from character positions.
        @@ -2098,7 +2098,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def rPositions(self, acceptMaterialOutsideNodes=False):
             """Get the first textual position for each node
        @@ -2267,7 +2267,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def read(self, textPath, posPath=None):
             """Read recorder information from disk.
        @@ -2317,7 +2317,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def start(self, n):
             """Start a node.
        @@ -2345,7 +2345,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def text(self):
             """Get the accumulated text.
        @@ -2404,7 +2404,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def write(
             self, textPath, inverted=False, posPath=None, byType=False, optimize=True
        diff --git a/tf/convert/tei.html b/tf/convert/tei.html
        index d910b0e87..1d4fc5065 100644
        --- a/tf/convert/tei.html
        +++ b/tf/convert/tei.html
        @@ -452,7 +452,7 @@ 

        Examples

        Expand source code -Browse git +Browse git
        """
         # TEI import
        @@ -5118,7 +5118,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def getRefs(tag, atts, xmlFile):
             refAtt = REFERENCING.get(tag, None)
        @@ -5148,7 +5148,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def main():
             (good, tasks, params, flags) = readArgs(
        @@ -5171,7 +5171,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def makeCssInfo():
             """Make the CSS info for the style sheet."""
        @@ -5319,7 +5319,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        class TEI(CheckImport):
             def __init__(
        @@ -9141,7 +9141,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def appTask(self, tokenBased=False):
             """Implementation of the "app" task.
        @@ -9530,7 +9530,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def browseTask(self):
             """Implementation of the "browse" task.
        @@ -9598,7 +9598,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def checkTask(self):
             """Implementation of the "check" task.
        @@ -10318,7 +10318,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def convertTask(self):
             """Implementation of the "convert" task.
        @@ -10405,7 +10405,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def getConverter(self):
             """Initializes a converter.
        @@ -10446,7 +10446,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def getDirector(self):
             """Factory for the director function.
        @@ -12078,7 +12078,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def getParser(self):
             """Configure the LXML parser.
        @@ -12113,7 +12113,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def getSwitches(self, xmlPath):
             verbose = self.verbose
        @@ -12179,7 +12179,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def getXML(self):
             """Make an inventory of the TEI source files.
        @@ -12277,7 +12277,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def loadTask(self):
             """Implementation of the "load" task.
        @@ -12335,7 +12335,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def readSchemas(self):
             schemaDir = self.schemaDir
        @@ -12419,7 +12419,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def task(
             self,
        diff --git a/tf/convert/tf.html b/tf/convert/tf.html
        index b97aa6eca..a50e94626 100644
        --- a/tf/convert/tf.html
        +++ b/tf/convert/tf.html
        @@ -32,7 +32,7 @@ 

        Raw, unoptimised data from TF files<
        Expand source code -Browse git +Browse git
        """
         # Raw, unoptimised data from TF files
        @@ -419,7 +419,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def explode(inPath, outPath):
             """Explodes `.tf` files into non-optimised `.tf` files without metadata.
        diff --git a/tf/convert/variants.html b/tf/convert/variants.html
        index a680b41c4..3eb613416 100644
        --- a/tf/convert/variants.html
        +++ b/tf/convert/variants.html
        @@ -38,7 +38,7 @@ 

        Variants

        Expand source code -Browse git +Browse git
        """
         # Variants
        @@ -676,7 +676,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        class Variants:
             def __init__(self, cv, cur, baseWitness, sentType, checkPunc, addWarning, addError):
        @@ -1215,7 +1215,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def checkSent(self, trans, punc):
             """Checks whether there is a "sentence" boundary at this point.
        @@ -1263,7 +1263,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def collectWitnesses(self, node):
             """Collect all witnesses.
        @@ -1333,7 +1333,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def endApp(self, tag):
             """Actions at the end of `app`- `lem`- and `rdg`-elements.
        @@ -1393,7 +1393,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def endSent(self):
             """Ends a "sentence" if there is a current sentence.
        @@ -1432,7 +1432,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def initApps(self):
             """Initialize app- processing and witness collection.
        @@ -1461,7 +1461,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def resetApps(self):
             """Initialize app- and "sentence" processing.
        @@ -1504,7 +1504,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def startApp(self, tag, atts):
             """Actions at the start of `app`- `lem`- and `rdg`-elements.
        @@ -1585,7 +1585,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def startSent(self):
             """Starts a "sentence" if there is no current sentence.
        diff --git a/tf/convert/walker.html b/tf/convert/walker.html
        index 3062870fb..b8c837296 100644
        --- a/tf/convert/walker.html
        +++ b/tf/convert/walker.html
        @@ -157,7 +157,7 @@ 

        Action methods

        Expand source code -Browse git +Browse git
        """
         # Walker
        @@ -1971,7 +1971,7 @@ 

        Classes

        Expand source code -Browse git +Browse git
        class CV:
             S = "slot"
        @@ -3653,7 +3653,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def active(self, node):
             """Returns whether a node is currently active.
        @@ -3707,7 +3707,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def activeNodes(self, nTypes=None):
             """The currently active nodes, i.e. the embedders.
        @@ -3755,7 +3755,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def activeTypes(self):
             """The node types of the currently active nodes, i.e. the embedders.
        @@ -3799,7 +3799,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def delete(self, node):
             """**deletes** a node.
        @@ -3867,7 +3867,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def edge(self, nodeFrom, nodeTo, **features):
             """Adds **edge features**.
        @@ -3932,7 +3932,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def feature(self, node, **features):
             """Adds **node features**.
        @@ -3982,7 +3982,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def features(self):
             """Gets the list of all features.
        @@ -4030,7 +4030,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def get(self, feature, *args):
             """Retrieves feature values.
        @@ -4102,7 +4102,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def link(self, node, slots):
             """Links the given, existing slots to a node.
        @@ -4166,7 +4166,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def linked(self, node):
             """Returns the slots `ss` to which a node is currently linked.
        @@ -4227,7 +4227,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def meta(self, feat, **metadata):
             """Adds, modifies, deletes metadata fields of features.
        @@ -4330,7 +4330,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def node(self, nType, slots=None):
             """Makes a non-slot node and return the handle to it in `n`.
        @@ -4448,7 +4448,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def occurs(self, feat):
             """Whether the feature `featureName` occurs in the resulting data so far.
        @@ -4512,7 +4512,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def resume(self, node):
             """**resumes** a node.
        @@ -4588,7 +4588,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def slot(self, key=None):
             """Makes a slot node and return the handle to it in `n`.
        @@ -4680,7 +4680,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def stop(self, msg):
             """Stops the director. No further input will be read.
        @@ -4735,7 +4735,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def terminate(self, node):
             """**terminates** a node.
        @@ -4850,7 +4850,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def walk(
             self,
        diff --git a/tf/convert/watm.html b/tf/convert/watm.html
        index aa21361c2..0add15aca 100644
        --- a/tf/convert/watm.html
        +++ b/tf/convert/watm.html
        @@ -589,7 +589,7 @@ 

        Caveat

        Expand source code -Browse git +Browse git
        """Export to Web Annotation Text Model
         
        @@ -3106,7 +3106,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def getResultDir(baseDir, headPart, version, prod):
             """Determines the directory for the resulting WATM.
        @@ -3223,7 +3223,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def rep(status):
             """Represent a boolean status for a message to the console.
        @@ -3279,7 +3279,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        class WATM:
             """The export machinery is exposed as a class, wrapped around a TF dataset."""
        @@ -4899,7 +4899,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        @staticmethod
         def numEqual(nTF, nWA, silent):
        @@ -4948,7 +4948,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        @staticmethod
         def strEqual(tf, wa, silent):
        @@ -5020,7 +5020,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def makeAnno(self):
             """Make all annotations.
        @@ -5238,7 +5238,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def makeText(self):
             """Creates the text data.
        @@ -5328,7 +5328,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def mkAnno(self, kind, ns, body, target):
             """Make a single annotation and return its id.
        @@ -5374,7 +5374,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def testAll(self, condensed=False):
             """Test all aspects of the WATM conversion.
        @@ -5458,7 +5458,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def testAttributes(self):
             """Test the attributes.
        @@ -5691,7 +5691,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def testEdges(self):
             """Test the edges.
        @@ -5892,7 +5892,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def testElements(self):
             """Test the elements.
        @@ -6084,7 +6084,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def testExtra(self):
             """Test the extra data for on-the-fly annotations.
        @@ -6186,7 +6186,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def testSetup(self):
             """Prepare the tests.
        @@ -6359,7 +6359,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def testText(self):
             """Test the text.
        @@ -6438,7 +6438,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def writeAll(self, prod=False, resultVersion=None):
             """Write text and annotation data to disk.
        @@ -6678,7 +6678,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        class WATMS:
             """Export corpora that are divided over multiple TF datasets.
        @@ -6838,7 +6838,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def produce(self, doc=None, prod=False):
             """Convert all relevant TF datasets.
        diff --git a/tf/convert/xml.html b/tf/convert/xml.html
        index 8bfbb5c56..85c8ff385 100644
        --- a/tf/convert/xml.html
        +++ b/tf/convert/xml.html
        @@ -135,7 +135,7 @@ 

        Examples

        Expand source code -Browse git +Browse git
        """
         # XML import
        @@ -1399,7 +1399,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def main():
             (good, tasks, params, flags) = readArgs(
        @@ -1539,7 +1539,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        class XML(CheckImport):
             def __init__(
        @@ -2613,7 +2613,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def appTask(self, tokenBased=False):
             """Implementation of the "app" task.
        @@ -2862,7 +2862,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def browseTask(self):
             """Implementation of the "browse" task.
        @@ -2928,7 +2928,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def checkTask(self):
             """Implementation of the "check" task.
        @@ -3175,7 +3175,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def convertTask(self):
             """Implementation of the "convert" task.
        @@ -3213,7 +3213,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def getConverter(self):
             """Initializes a converter.
        @@ -3245,7 +3245,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def getParser(self):
             """Configure the LXML parser.
        @@ -3288,7 +3288,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def getXML(self):
             """Make an inventory of the XML source files.
        @@ -3348,7 +3348,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def loadTask(self):
             """Implementation of the "load" task.
        @@ -3432,7 +3432,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def task(
             self,
        diff --git a/tf/convert/xmlCustom.html b/tf/convert/xmlCustom.html
        index b0543b5a5..ea63ab392 100644
        --- a/tf/convert/xmlCustom.html
        +++ b/tf/convert/xmlCustom.html
        @@ -31,7 +31,7 @@ 

        Module tf.convert.xmlCustom

        Expand source code -Browse git +Browse git
        import re
         from io import BytesIO
        @@ -384,7 +384,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def convertTaskDefault(etree):
             if etree is None:
        @@ -482,7 +482,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def getDirector(self, etree):
             """Factory for the director function.
        diff --git a/tf/core/api.html b/tf/core/api.html
        index fb2b83345..4e31fbd12 100644
        --- a/tf/core/api.html
        +++ b/tf/core/api.html
        @@ -33,7 +33,7 @@ 

        The core API of TF.

        Expand source code -Browse git +Browse git
        """
         # The core API of TF.
        @@ -639,7 +639,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def addLocality(api):
             api.L = Locality(api)
        @@ -654,7 +654,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def addNodes(api):
             api.N = Nodes(api)
        @@ -669,7 +669,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def addOtype(api):
             setattr(api.F.otype, "all", tuple(o[0] for o in api.C.levels.data))
        @@ -686,7 +686,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def addSearch(api, silent=SILENT_D):
             silent = silentConvert(silent)
        @@ -702,7 +702,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def addText(api):
             api.T = Text(api)
        @@ -723,7 +723,7 @@ 

        Classes

        Expand source code -Browse git +Browse git
        class Api:
             def __init__(self, TF):
        @@ -1250,7 +1250,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def Call(self):
             """Returns a sorted list of all usable, loaded computed data names."""
        @@ -1279,7 +1279,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def Cs(self, fName, warn=True):
             """Get the computed data sub API.
        @@ -1321,7 +1321,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def Eall(self, warp=True):
             """Returns a sorted list of all usable, loaded edge feature names.
        @@ -1356,7 +1356,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def Es(self, fName, warn=True):
             """Get the edge feature sub API.
        @@ -1398,7 +1398,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def Fall(self, warp=True):
             """Returns a sorted list of all usable, loaded node feature names.
        @@ -1433,7 +1433,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def Fs(self, fName, warn=True):
             """Get the node feature sub API.
        @@ -1484,7 +1484,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def ensureLoaded(self, features):
             """Checks if features are loaded and if not loads them.
        @@ -1552,7 +1552,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def footprint(self, recompute=False, bySize=True):
             """Computes the memory footprint in RAM of the loaded TF data.
        @@ -1673,7 +1673,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def isLoaded(
             self, features=None, pretty=True, valueType=True, path=False, meta="description"
        @@ -1951,7 +1951,7 @@ 

        Notes

        Expand source code -Browse git +Browse git
        def makeAvailableIn(self, scope):
             """Exports members of the API to the global namespace.
        diff --git a/tf/core/command.html b/tf/core/command.html
        index c93db3267..bc3ca5953 100644
        --- a/tf/core/command.html
        +++ b/tf/core/command.html
        @@ -31,7 +31,7 @@ 

        Module tf.core.command

        Expand source code -Browse git +Browse git
        import sys
         from textwrap import dedent
        @@ -250,7 +250,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def readArgs(
             command, descr, possibleTasks, possibleParams, possibleFlags, notInAll=set()
        diff --git a/tf/core/computed.html b/tf/core/computed.html
        index 9ea6998f7..f8561826e 100644
        --- a/tf/core/computed.html
        +++ b/tf/core/computed.html
        @@ -52,7 +52,7 @@ 

        Pre-computed data components

        Expand source code -Browse git +Browse git
        """
         # Pre-computed data components
        @@ -117,7 +117,7 @@ 

        Classes

        Expand source code -Browse git +Browse git
        class Computed:
             """Provides access to pre-computed data.
        @@ -138,7 +138,7 @@ 

        Classes

        Expand source code -Browse git +Browse git
        class Computeds:
             pass
        diff --git a/tf/core/data.html b/tf/core/data.html index b093d18ff..c5fa8fc57 100644 --- a/tf/core/data.html +++ b/tf/core/data.html @@ -31,7 +31,7 @@

        Module tf.core.data

        Expand source code -Browse git +Browse git
        import array
         import gc
        @@ -775,7 +775,7 @@ 

        Classes

        Expand source code -Browse git +Browse git
        class Data:
             def __init__(
        @@ -1466,7 +1466,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def cleanDataBin(self):
             fileRemove(self.binPath)
        @@ -1483,7 +1483,7 @@

        Methods

        Expand source code -Browse git +Browse git
        def load(self, metaOnly=False, silent=SILENT_D, _withGc=True):
             """Load a feature.
        @@ -1604,7 +1604,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def save(self, overwrite=False, nodeRanges=False, silent=SILENT_D):
             silent = silentConvert(silent)
        @@ -1627,7 +1627,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def unload(self):
             self.data = None
        diff --git a/tf/core/edgefeature.html b/tf/core/edgefeature.html
        index 5a28adfd8..5df9c3ed7 100644
        --- a/tf/core/edgefeature.html
        +++ b/tf/core/edgefeature.html
        @@ -46,7 +46,7 @@ 

        Module tf.core.edgefeature

        Expand source code -Browse git +Browse git
        """
         Mappings from edges to values.
        @@ -347,7 +347,7 @@ 

        Classes

        Expand source code -Browse git +Browse git
        class EdgeFeature:
             """Provides access to (edge) feature data.
        @@ -672,7 +672,7 @@ 

        Notes

        Expand source code -Browse git +Browse git
        def b(self, n):
             """Query *both* incoming edges to, and outgoing edges from a node.
        @@ -783,7 +783,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def f(self, n):
             """Get outgoing edges *from* a node.
        @@ -848,7 +848,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def freqList(self, nodeTypesFrom=None, nodeTypesTo=None):
             """Frequency list of the values of this feature.
        @@ -925,7 +925,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def items(self):
             """A generator that yields the items of the feature, seen as a mapping.
        @@ -971,7 +971,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def t(self, n):
             """Get incoming edges *to* a node.
        @@ -1018,7 +1018,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        class EdgeFeatures:
             pass
        diff --git a/tf/core/fabric.html b/tf/core/fabric.html index b745bf8e2..d97558a7f 100644 --- a/tf/core/fabric.html +++ b/tf/core/fabric.html @@ -41,7 +41,7 @@

        Expand source code -Browse git +Browse git
        """
         # `FabricCore`
        @@ -1205,7 +1205,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        class FabricCore:
             """Initialize the core API for a corpus.
        @@ -2189,7 +2189,7 @@ 

        See Also

        Expand source code -Browse git +Browse git
        def clearCache(self):
             """Clears the cache of compiled TF data.
        @@ -2254,7 +2254,7 @@ 

        Notes

        Expand source code -Browse git +Browse git
        def explore(self, silent=SILENT_D, show=True):
             """Makes categorization of all features in the dataset.
        @@ -2363,7 +2363,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def load(self, features, add=False, silent=SILENT_D):
             """Loads features from disk into RAM memory.
        @@ -2541,7 +2541,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def loadAll(self, silent=SILENT_D):
             """Load all loadable features.
        @@ -2642,7 +2642,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def save(
             self,
        diff --git a/tf/core/files.html b/tf/core/files.html
        index 1a02831c5..b4f66be82 100644
        --- a/tf/core/files.html
        +++ b/tf/core/files.html
        @@ -31,7 +31,7 @@ 

        Module tf.core.files

        Expand source code -Browse git +Browse git
        import os
         import yaml
        @@ -881,7 +881,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def abspath(path):
             return normpath(os.path.abspath(path))
        @@ -912,7 +912,7 @@

        Returns

        Expand source code -Browse git +Browse git
        def annotateDir(app, tool):
             """Return the input and output directories for a specific annotation tool.
        @@ -994,7 +994,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def backendRep(be, kind, default=None):
             """Various back-end dependent values.
        @@ -1118,7 +1118,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def chDir(directory):
             """Change to other directory.
        @@ -1146,7 +1146,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def clearTree(path):
             """Remove all files from a directory, recursively, but leave subdirectories.
        @@ -1203,7 +1203,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def dirAllFiles(path, ignore=None):
             """Gets all the files found by `path`.
        @@ -1272,7 +1272,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def dirContents(path):
             """Gets the contents of a directory.
        @@ -1317,7 +1317,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def dirCopy(pathSrc, pathDst, noclobber=False):
             """Copies a directory if it exists as directory.
        @@ -1343,7 +1343,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def dirEmpty(target):
             target = normpath(target)
        @@ -1358,7 +1358,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def dirExists(path):
             """Whether a path exists as directory on the file system."""
        @@ -1381,7 +1381,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def dirMake(path):
             """Creates a directory if it does not already exist as directory."""
        @@ -1398,7 +1398,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def dirMove(pathSrc, pathDst):
             """Moves a directory if it exists as directory.
        @@ -1419,7 +1419,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def dirNm(path):
             """Get the directory part of a file name."""
        @@ -1434,7 +1434,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def dirRemove(path):
             """Removes a directory if it exists as directory."""
        @@ -1450,7 +1450,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def expandDir(obj, dirName):
             if dirName.startswith("~"):
        @@ -1470,7 +1470,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def expanduser(path):
             nPath = normpath(path)
        @@ -1490,7 +1490,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def extNm(path):
             """Get the extension part of a file name.
        @@ -1511,7 +1511,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def fileCopy(pathSrc, pathDst):
             """Copies a file if it exists as file.
        @@ -1531,7 +1531,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def fileExists(path):
             """Whether a path exists as file on the file system."""
        @@ -1547,7 +1547,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def fileMove(pathSrc, pathDst):
             """Moves a file if it exists as file.
        @@ -1567,7 +1567,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def fileNm(path):
             """Get the file part of a file name."""
        @@ -1585,7 +1585,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def fileOpen(*args, **kwargs):
             """Wrapper around `open()`, making sure `encoding="utf8" is passed.
        @@ -1608,7 +1608,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def fileRemove(path):
             """Removes a file if it exists as file."""
        @@ -1629,7 +1629,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def getCwd():
             """Get current directory.
        @@ -1671,7 +1671,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def getLocation(targetDir=None):
             """Get back-end, org, repo, relative of directory.
        @@ -1752,7 +1752,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def initTree(path, fresh=False, gentle=False):
             """Make sure a directory exists, optionally clean it.
        @@ -1794,7 +1794,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def isDir(path):
             """Whether path exists and is a directory."""
        @@ -1809,7 +1809,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def isFile(path):
             """Whether path exists and is a file."""
        @@ -1824,7 +1824,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def normpath(path):
             if path is None:
        @@ -1841,7 +1841,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def prefixSlash(path):
             """Prefix a / before a path if it is non-empty and not already starts with it."""
        @@ -1856,7 +1856,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def readYaml(text=None, plain=False, asFile=None, preferTuples=True):
             kwargs = dict(Loader=yaml.FullLoader)
        @@ -1881,7 +1881,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def replaceExt(path, newExt):
             """Replace the extension of a path by another one. Specify it without dot."""
        @@ -1897,7 +1897,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def setDir(obj):
             obj.homeDir = expanduser("~")
        @@ -1913,7 +1913,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def splitPath(path):
             """Split a file name in a directory part and a file part."""
        @@ -1929,7 +1929,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def str_presenter(dumper, data):
             """configures yaml for dumping multiline strings
        @@ -1949,7 +1949,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def stripExt(path):
             """Strip the extension of a file name, if there is one."""
        @@ -1966,7 +1966,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def unexpanduser(path):
             nPath = normpath(path)
        @@ -1984,7 +1984,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def writeYaml(data, asFile=None, sorted=False):
             kwargs = dict(allow_unicode=True, sort_keys=sorted)
        diff --git a/tf/core/generic.html b/tf/core/generic.html
        index 340314d33..80ea52427 100644
        --- a/tf/core/generic.html
        +++ b/tf/core/generic.html
        @@ -31,7 +31,7 @@ 

        Module tf.core.generic

        Expand source code -Browse git +Browse git
        class AttrDict(dict):
             """Turn a dict into an object with attributes.
        @@ -190,7 +190,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def deepAttrDict(info, preferTuples=False):
             """Turn a `dict` into an `AttrDict`, recursively.
        @@ -254,7 +254,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def deepdict(info):
             """Turns an `AttrDict` into a `dict`, recursively.
        @@ -304,7 +304,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def isIterable(value):
             """Whether a value is a non-string iterable.
        @@ -346,7 +346,7 @@ 

        Classes

        Expand source code -Browse git +Browse git
        class AttrDict(dict):
             """Turn a dict into an object with attributes.
        @@ -401,7 +401,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def deepdict(self):
             return deepdict(self)
        diff --git a/tf/core/helpers.html b/tf/core/helpers.html index 5286f9545..babb34afa 100644 --- a/tf/core/helpers.html +++ b/tf/core/helpers.html @@ -31,7 +31,7 @@

        Module tf.core.helpers

        Expand source code -Browse git +Browse git
        import os
         import sys
        @@ -732,7 +732,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def camel(name):
             if not name:
        @@ -749,7 +749,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def check32():
             warn = ""
        @@ -770,7 +770,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def cleanName(name):
             clean = "".join(c if c in VALID else "_" for c in name)
        @@ -787,7 +787,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def collectFormats(config):
             featureSet = set()
        @@ -824,7 +824,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def console(*msg, error=False, newline=True):
             msg = " ".join(m if type(m) is str else repr(m) for m in msg)
        @@ -852,7 +852,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def deepSize(o, handlers={}, verbose=False, seen=None):
             """Returns the approximate memory footprint an object and all of its contents.
        @@ -911,7 +911,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def fitemize(value):
             if not value:
        @@ -931,7 +931,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def flattenToSet(features):
             theseFeatures = set()
        @@ -968,7 +968,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def formatMeta(featureMeta):
             """Reorder meta data.
        @@ -1017,7 +1017,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def getAllRealFeatures(api):
             """Get all configuration features and all loaded node and edge features.
        @@ -1062,7 +1062,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def htmlEsc(val, math=False):
             """Escape certain HTML characters by HTML entities.
        @@ -1102,7 +1102,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def isClean(name):
             if name is None or len(name) == 0 or name[0] not in LETTER:
        @@ -1118,7 +1118,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def isInt(val):
             try:
        @@ -1136,7 +1136,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def itemize(string, sep=None):
             if not string:
        @@ -1154,7 +1154,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def makeExamples(nodeList):
             lN = len(nodeList)
        @@ -1177,7 +1177,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def makeIndex(data):
             inv = {}
        @@ -1194,7 +1194,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def makeInverse(data):
             inverse = {}
        @@ -1212,7 +1212,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def makeInverseVal(data):
             inverse = {}
        @@ -1232,7 +1232,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def mathEsc(val):
             """Escape dollar signs to `<span>$</span>`.
        @@ -1260,7 +1260,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def mdEsc(val, math=False):
             """Escape certain markdown characters.
        @@ -1300,7 +1300,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def mdhtmlEsc(val, math=False):
             """Escape certain Markdown characters by HTML entities or span elements.
        @@ -1354,7 +1354,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def mergeDict(source, overrides):
             """Merge overrides into a source dictionary recursively.
        @@ -1382,7 +1382,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def mergeDictOfSets(d1, d2):
             for n, ms in d2.items():
        @@ -1400,7 +1400,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def nbytes(by):
             units = ["B", "KB", "MB", "GB", "TB"]
        @@ -1421,7 +1421,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def pandasEsc(x):
             """Escapes the character that will be used as the `pandas` quote char.
        @@ -1446,7 +1446,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def project(iterableOfTuples, maxDimension):
             if maxDimension == 1:
        @@ -1462,7 +1462,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def rangesFromList(nodeList):  # the list must be sorted
             curstart = None
        @@ -1489,7 +1489,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def rangesFromSet(nodeSet):
             # ranges = []
        @@ -1531,7 +1531,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def run(cmdline, workDir=None):
             """Runs a shell command and returns all relevant info.
        @@ -1575,7 +1575,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def setFromSpec(spec):
             covered = set()
        @@ -1601,7 +1601,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def setFromStr(x):
             if x is None:
        @@ -1618,7 +1618,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def setFromValue(x, asInt=False):
             if x is None:
        @@ -1643,7 +1643,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def specFromRanges(ranges):  # ranges must be normalized
             return ",".join(
        @@ -1659,7 +1659,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def specFromRangesLogical(ranges):  # ranges must be normalized
             return [r[0] if r[0] == r[1] else [r[0], r[1]] for r in ranges]
        @@ -1673,7 +1673,7 @@

        Parameters

        Expand source code -Browse git +Browse git
        def tfFromValue(val):
             valTp = type(val)
        @@ -1699,7 +1699,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def tsvEsc(x):
             """Escapes a double quote for strings to be included in TSV data.
        @@ -1719,7 +1719,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def valueFromTf(tf):
             return "\\".join(
        @@ -1745,7 +1745,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def var(envVar):
             """Retrieves the value of an environment variable.
        @@ -1771,7 +1771,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def versionSort(x):
             parts = []
        @@ -1792,7 +1792,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def wrapMessages(messages):
             if type(messages) is str:
        @@ -1827,7 +1827,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def xmlEsc(val):
             """Escape certain HTML characters by XML entities.
        diff --git a/tf/core/index.html b/tf/core/index.html
        index ff19740a1..6645936b7 100644
        --- a/tf/core/index.html
        +++ b/tf/core/index.html
        @@ -44,7 +44,7 @@ 

        Core API of TF

        Expand source code -Browse git +Browse git
        """
         # Core API of TF
        diff --git a/tf/core/locality.html b/tf/core/locality.html
        index e1528b576..4f4e7fdf5 100644
        --- a/tf/core/locality.html
        +++ b/tf/core/locality.html
        @@ -32,7 +32,7 @@ 

        Local navigation between nodes.

        Expand source code -Browse git +Browse git
        """
         # Local navigation between nodes.
        @@ -404,7 +404,7 @@ 

        Classes

        Expand source code -Browse git +Browse git
        class Locality:
             """Methods by which you can navigate from a node to its neighbourhood.
        @@ -742,7 +742,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def d(self, n, otype=None):
             """Produces an ordered tuple of *downward* nodes.
        @@ -836,7 +836,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def i(self, n, otype=None):
             """Produces an ordered tuple of *intersecting* nodes
        @@ -918,7 +918,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def n(self, n, otype=None):
             """Produces an ordered tuple of *next* nodes.
        @@ -994,7 +994,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def p(self, n, otype=None):
             """Produces an ordered tuple of *previous* nodes.
        @@ -1075,7 +1075,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def u(self, n, otype=None):
             """Produces an ordered tuple of *upward* nodes.
        diff --git a/tf/core/nodefeature.html b/tf/core/nodefeature.html
        index 0334e22ba..15faeb7c4 100644
        --- a/tf/core/nodefeature.html
        +++ b/tf/core/nodefeature.html
        @@ -41,7 +41,7 @@ 

        Mappings from nodes to values.

        Expand source code -Browse git +Browse git
        """
         # Mappings from nodes to values.
        @@ -197,7 +197,7 @@ 

        Classes

        Expand source code -Browse git +Browse git
        class NodeFeature:
             """Provides access to (node) feature data.
        @@ -339,7 +339,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def freqList(self, nodeTypes=None):
             """Frequency list of the values of this feature.
        @@ -386,7 +386,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def items(self):
             """A generator that yields the items of the feature, seen as a mapping.
        @@ -427,7 +427,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def s(self, val):
             """Query all nodes having a specified feature value.
        @@ -475,7 +475,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def v(self, n):
             """Get the value of a feature for a node.
        @@ -506,7 +506,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        class NodeFeatures:
             pass
        diff --git a/tf/core/nodes.html b/tf/core/nodes.html index c1f3cc8ac..6e4e06883 100644 --- a/tf/core/nodes.html +++ b/tf/core/nodes.html @@ -81,7 +81,7 @@

        Canonical Order

        Expand source code -Browse git +Browse git
        """
         # Node organization
        @@ -399,7 +399,7 @@ 

        Classes

        Expand source code -Browse git +Browse git
        class Nodes:
             def __init__(self, api):
        @@ -710,7 +710,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def makeSortKeyChunk(self):
             api = self.api
        @@ -802,7 +802,7 @@ 

        See Also

        Expand source code -Browse git +Browse git
        def sortNodes(self, nodeSet):
             """Delivers a tuple of nodes sorted by the *canonical ordering*.
        @@ -871,7 +871,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def walk(self, nodes=None, events=False):
             """Generates all nodes in the *canonical order*.
        diff --git a/tf/core/oslotsfeature.html b/tf/core/oslotsfeature.html
        index 80f8a30a9..57d66dc91 100644
        --- a/tf/core/oslotsfeature.html
        +++ b/tf/core/oslotsfeature.html
        @@ -35,7 +35,7 @@ 

        Access to oslots feature dat
        Expand source code -Browse git +Browse git
        """
         # Access to `oslots` feature data.
        @@ -120,7 +120,7 @@ 

        Classes

        Expand source code -Browse git +Browse git
        class OslotsFeature:
             def __init__(self, api, metaData, data):
        @@ -196,7 +196,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def items(self):
             """A generator that yields the non-slot nodes with their slots.
        @@ -235,7 +235,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def s(self, n):
             """Get the slots of a (non-slot) node.
        diff --git a/tf/core/otypefeature.html b/tf/core/otypefeature.html
        index 6a1795fe5..0ae104bbc 100644
        --- a/tf/core/otypefeature.html
        +++ b/tf/core/otypefeature.html
        @@ -35,7 +35,7 @@ 

        Access to otype feature data.
        Expand source code -Browse git +Browse git
        """
         # Access to `otype` feature data.
        @@ -190,7 +190,7 @@ 

        Classes

        Expand source code -Browse git +Browse git
        class OtypeFeature:
             def __init__(self, api, metaData, data):
        @@ -351,7 +351,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def items(self):
             """As in `tf.core.nodefeature.NodeFeature.items`."""
        @@ -392,7 +392,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def s(self, val):
             """Query all nodes having a specified node type.
        @@ -452,7 +452,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def sInterval(self, val):
             """The interval of nodes having a specified node type.
        @@ -498,7 +498,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def v(self, n):
             """Get the node type of a node.
        diff --git a/tf/core/prepare.html b/tf/core/prepare.html
        index efe49cbdd..816bf7dba 100644
        --- a/tf/core/prepare.html
        +++ b/tf/core/prepare.html
        @@ -39,7 +39,7 @@ 

        Pre-compute data.

        Expand source code -Browse git +Browse git
        """
         # Pre-compute data.
        @@ -872,7 +872,7 @@ 

        Notes

        Expand source code -Browse git +Browse git
        def boundary(info, error, otype, oslots, rank):
             """Computes boundary data.
        @@ -971,7 +971,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def characters(info, error, otext, tFormats, *tFeats):
             """Computes character data.
        @@ -1071,7 +1071,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def levDown(info, error, otype, levUp, rank):
             """Computes level-down data.
        @@ -1170,7 +1170,7 @@ 

        Warnings

        Expand source code -Browse git +Browse git
        def levUp(info, error, otype, oslots, rank):
             """Computes level-up data.
        @@ -1320,7 +1320,7 @@ 

        Notes

        Expand source code -Browse git +Browse git
        def levels(info, error, otype, oslots, otext):
             """Computes level data.
        @@ -1472,7 +1472,7 @@ 

        See Also

        Expand source code -Browse git +Browse git
        def order(info, error, otype, oslots, levels):
             """Computes order data for the canonical ordering.
        @@ -1577,7 +1577,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def rank(info, error, otype, order):
             """Computes rank data.
        @@ -1664,7 +1664,7 @@ 

        Warnings

        Expand source code -Browse git +Browse git
        def sections(info, error, otype, oslots, otext, levUp, levels, *sFeats):
             """Computes section data.
        @@ -1852,7 +1852,7 @@ 

        Notes

        Expand source code -Browse git +Browse git
        def structure(info, error, otype, oslots, otext, rank, levUp, *sFeats):
             """Computes structure data.
        diff --git a/tf/core/text.html b/tf/core/text.html
        index 9cbeecd97..9748d20dd 100644
        --- a/tf/core/text.html
        +++ b/tf/core/text.html
        @@ -374,7 +374,7 @@ 

        The T.text() function

        Expand source code -Browse git +Browse git
        """
         # Text API
        @@ -1683,7 +1683,7 @@ 

        Classes

        Expand source code -Browse git +Browse git
        class Text:
             """Low level text representation, including section headings.
        @@ -2632,7 +2632,7 @@ 

        Notes

        Expand source code -Browse git +Browse git
        def down(self, n):
             """Gives the children of a structural node.
        @@ -2704,7 +2704,7 @@ 

        Notes

        Expand source code -Browse git +Browse git
        def headingFromNode(self, n):
             """Gives the full heading of a structural node.
        @@ -2776,7 +2776,7 @@ 

        Notes

        Expand source code -Browse git +Browse git
        def nodeFromHeading(self, head):
             """Gives the node corresponding to a heading, provided it exists.
        @@ -2841,7 +2841,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def nodeFromSection(self, section, lang="en"):
             """Given a section tuple, return the node of it.
        @@ -2925,7 +2925,7 @@ 

        Warnings

        Expand source code -Browse git +Browse git
        def sectionFromNode(self, n, lastSlot=False, lang="en", fillup=False):
             """Gives the full heading of a section node.
        @@ -3024,7 +3024,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def sectionTuple(self, n, lastSlot=False, fillup=False):
             """Gives a tuple of nodes that correspond to a section.
        @@ -3129,7 +3129,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def splitDefaultFormat(self, tpl):
             api = self.api
        @@ -3152,7 +3152,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def splitFormat(self, tpl):
             api = self.api
        @@ -3186,7 +3186,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def structure(self, node=None):
             """Gives the structure of node and everything below it as a tuple.
        @@ -3239,7 +3239,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
            def structureInfo(self):
                 """Gives a summary of how structure has been configured in the dataset.
        @@ -3334,7 +3334,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def structurePretty(self, node=None, fullHeading=False):
             """Gives the structure of node and everything below it as a string.
        @@ -3435,7 +3435,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
            def text(self, nodes, fmt=None, descend=None, func=None, explain=False, **kwargs):
                 """Gives the text that corresponds to a bunch of nodes.
        @@ -3660,7 +3660,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def top(self):
             """Gives all top-level structural nodes in the dataset.
        @@ -3704,7 +3704,7 @@ 

        Notes

        Expand source code -Browse git +Browse git
        def up(self, n):
             """Gives the parent of a structural node.
        diff --git a/tf/core/timestamp.html b/tf/core/timestamp.html
        index 969320ab4..9aacffd1e 100644
        --- a/tf/core/timestamp.html
        +++ b/tf/core/timestamp.html
        @@ -34,7 +34,7 @@ 

        Timed messages

        Expand source code -Browse git +Browse git
        """
         # Timed messages
        @@ -414,7 +414,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def silentConvert(arg):
             if arg is None:
        @@ -476,7 +476,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        class Timestamp:
             def __init__(self, silent=SILENT_D, level=None):
        @@ -778,7 +778,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def cache(self, _asString=False):
             if _asString:
        @@ -824,7 +824,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def debug(self, msg, tm=True, nl=True, cache=0, force=False):
             """Sends a debug message to the standard output.
        @@ -879,7 +879,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def error(self, msg, tm=True, nl=True, cache=0, force=True):
             """Sends an warning message to the standard error.
        @@ -928,7 +928,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def indent(self, level=None, reset=False, _verbose=None):
             """Changes the indentation and timing of forthcoming messages.
        @@ -996,7 +996,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def info(self, msg, tm=True, nl=True, cache=0, force=False):
             """Sends an informational message to the standard output.
        @@ -1038,7 +1038,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def isSilent(self):
             """The current verbosity.
        @@ -1059,7 +1059,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def raw_msg(self, msg, tm=True, nl=True, cache=0, error=False):
             # cache is a list: append to cache, do not output anything
        @@ -1096,7 +1096,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def reset(self):
             self.log = []
        @@ -1115,7 +1115,7 @@

        Parameters

        Expand source code -Browse git +Browse git
        def setSilent(self, silent):
             """Set the verbosity.
        @@ -1138,7 +1138,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def silentOff(self):
             """Enable informational messages."""
        @@ -1160,7 +1160,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def silentOn(self, deep=False):
             """Suppress informational messages.
        @@ -1203,7 +1203,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def warning(self, msg, tm=True, nl=True, cache=0, force=False):
             """Sends an warning message to the standard output.
        diff --git a/tf/dataset/index.html b/tf/dataset/index.html
        index f82bcae67..f470f4536 100644
        --- a/tf/dataset/index.html
        +++ b/tf/dataset/index.html
        @@ -43,7 +43,7 @@ 

        Dataset operations

        Expand source code -Browse git +Browse git
        """
         # Dataset operations
        diff --git a/tf/dataset/modify.html b/tf/dataset/modify.html
        index 60b4350b9..ff891dd94 100644
        --- a/tf/dataset/modify.html
        +++ b/tf/dataset/modify.html
        @@ -48,7 +48,7 @@ 

        Usage

        Expand source code -Browse git +Browse git
        """
         # Modify
        @@ -1881,7 +1881,7 @@ 

        Example

        Expand source code -Browse git +Browse git
        def modify(
             location,
        diff --git a/tf/dataset/nodemaps.html b/tf/dataset/nodemaps.html
        index 634ef61e6..61e05c999 100644
        --- a/tf/dataset/nodemaps.html
        +++ b/tf/dataset/nodemaps.html
        @@ -138,7 +138,7 @@ 

        Usage

        Expand source code -Browse git +Browse git
        """
         # Node maps
        @@ -893,7 +893,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        class Versions:
             def __init__(self, api, va, vb, silent=SILENT_D, slotMap=None):
        @@ -1459,7 +1459,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
            def caption(self, level, heading, good=None, newLine=True, continuation=False):
                 silent = self.silent
        @@ -1535,7 +1535,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def exploreNodeMapping(self, nodeType):
             va = self.va
        @@ -1604,7 +1604,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def getDiagnosis(self, node=None, label=None):
             """Show the diagnosis of a mapping.
        @@ -1684,7 +1684,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def legend(self):
             """Show the labels and descriptions of the diagnosis classes.
        @@ -1708,7 +1708,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def makeNodeMapping(self, nodeType):
             edge = self.edge
        @@ -1799,7 +1799,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def makeVersionMapping(self):
             Fa = self.Fa
        @@ -1855,7 +1855,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def migrateFeatures(self, featureNames, silent=None, location=None):
             """Migrate features from one version to another based on a node map.
        @@ -2050,7 +2050,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def omapName(self):
             va = self.va
        @@ -2066,7 +2066,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def writeMap(self):
             TFb = self.TFb
        diff --git a/tf/fabric.html b/tf/fabric.html
        index dcc20b4b9..85cc12114 100644
        --- a/tf/fabric.html
        +++ b/tf/fabric.html
        @@ -52,7 +52,7 @@ 

        Fabri
        Expand source code -Browse git +Browse git
        """
         # `Fabric`
        @@ -346,7 +346,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        class Fabric(FabricCore):
             """Initialize the core API for a corpus.
        @@ -572,7 +572,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def collect(
             self,
        @@ -628,7 +628,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def extract(
             self, volumes=True, byTitle=True, silent=SILENT_D, overwrite=None, show=False
        @@ -675,7 +675,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def getVolumes(self):
             """Lists available volumes within the dataset.
        diff --git a/tf/index.html b/tf/index.html
        index aa1f0be76..7c8f9e88c 100644
        --- a/tf/index.html
        +++ b/tf/index.html
        @@ -154,7 +154,7 @@ 

        More resources

        Expand source code -Browse git +Browse git
        """
         .. include:: docs/main/top.md
        diff --git a/tf/lib.html b/tf/lib.html
        index 09fccae9e..d42110013 100644
        --- a/tf/lib.html
        +++ b/tf/lib.html
        @@ -33,7 +33,7 @@ 

        Utility functions

        Expand source code -Browse git +Browse git
        """
         # Utility functions
        @@ -237,7 +237,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def readList(source):
             """Reads list of tuples from a TSV file.
        @@ -300,7 +300,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def readSets(source):
             """Reads a dictionary of named sets from file.
        @@ -370,7 +370,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def writeList(data, dest, intCols=None):
             """Writes a list of tuples sets to a TSV file.
        @@ -457,7 +457,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def writeSets(sets, dest):
             """Writes a dictionary of named sets to file.
        diff --git a/tf/parameters.html b/tf/parameters.html
        index 791158d02..5a6918572 100644
        --- a/tf/parameters.html
        +++ b/tf/parameters.html
        @@ -33,7 +33,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        """
         # Parameters
        diff --git a/tf/search/graph.html b/tf/search/graph.html
        index 7543ce031..d7035a482 100644
        --- a/tf/search/graph.html
        +++ b/tf/search/graph.html
        @@ -32,7 +32,7 @@ 

        Graph oriented functions nee
        Expand source code -Browse git +Browse git
        """
         # Graph oriented functions needed for search
        @@ -290,7 +290,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def connectedness(searchExe):
             error = searchExe.api.TF.error
        @@ -342,7 +342,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def displayEdge(searchExe, e, dir, nodesSeen):
             info = searchExe.api.TF.info
        @@ -396,7 +396,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def displayNode(searchExe, q, pos2=False):
             info = searchExe.api.TF.info
        @@ -424,7 +424,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def displayPlan(searchExe, details=False):
             if not searchExe.good:
        @@ -497,7 +497,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def multiEdges(searchExe):
             relations = searchExe.relations
        diff --git a/tf/search/index.html b/tf/search/index.html
        index 21458092a..6178c913b 100644
        --- a/tf/search/index.html
        +++ b/tf/search/index.html
        @@ -37,7 +37,7 @@ 

        Guidance for searching

        Expand source code -Browse git +Browse git
        """
         # Guidance for searching
        diff --git a/tf/search/relations.html b/tf/search/relations.html
        index 2121cb831..b88117676 100644
        --- a/tf/search/relations.html
        +++ b/tf/search/relations.html
        @@ -32,7 +32,7 @@ 

        Search by relational patter
        Expand source code -Browse git +Browse git
        """
         # Search by relational patterns between nodes
        @@ -1865,7 +1865,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def add_F_Relations(searchExe, varRels):
             relations = searchExe.relations
        @@ -1946,7 +1946,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def add_K_Relations(searchExe, varRels):
             relations = searchExe.relations
        @@ -1999,7 +1999,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def add_V_Relations(searchExe, varRels):
             relations = searchExe.relations
        @@ -2064,7 +2064,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def basicRelations(searchExe, api):
             C = api.C
        diff --git a/tf/search/search.html b/tf/search/search.html
        index 6aacff4e4..78f931ff1 100644
        --- a/tf/search/search.html
        +++ b/tf/search/search.html
        @@ -32,7 +32,7 @@ 

        Search (top-level)

        Expand source code -Browse git +Browse git
        """
         # Search (top-level)
        @@ -596,7 +596,7 @@ 

        Classes

        Expand source code -Browse git +Browse git
        class Search:
             """ """
        @@ -1176,7 +1176,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def count(self, progress=None, limit=None):
             """Counts the results, with progress messages, optionally up to a limit.
        @@ -1278,7 +1278,7 @@ 

        Notes

        Expand source code -Browse git +Browse git
        def fetch(self, limit=None, _msgCache=False):
             """Retrieves query results, up to a limit.
        @@ -1390,7 +1390,7 @@ 

        Notes

        Expand source code -Browse git +Browse git
        def glean(self, tup):
             """Renders a single result into something human readable.
        @@ -1476,7 +1476,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def relationsLegend(self):
             """Dynamic info about the basic relations that can be used in templates.
        @@ -1547,7 +1547,7 @@ 

        Notes

        Expand source code -Browse git +Browse git
        def search(
             self,
        @@ -1657,7 +1657,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def showPlan(self, details=False):
             """Show the result of the latest study of a template.
        @@ -1734,7 +1734,7 @@ 

        See Also

        Expand source code -Browse git +Browse git
        def study(
             self,
        @@ -1917,7 +1917,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def tweakPerformance(self, silent=SILENT_D, **kwargs):
             """Tweak parameters that influence the search process.
        diff --git a/tf/search/searchexe.html b/tf/search/searchexe.html
        index 329c07a22..01e69e3c3 100644
        --- a/tf/search/searchexe.html
        +++ b/tf/search/searchexe.html
        @@ -32,7 +32,7 @@ 

        Search execution management

        Expand source code -Browse git +Browse git
        """
         # Search execution management
        @@ -300,7 +300,7 @@ 

        Classes

        Expand source code -Browse git +Browse git
        class SearchExe:
             perfDefaults = dict(
        @@ -553,7 +553,7 @@ 

        Static methods

        Expand source code -Browse git +Browse git
        @classmethod
         def setPerfParams(cls, params):
        @@ -571,7 +571,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def count(self, progress=None, limit=None):
             TF = self.api.TF
        @@ -637,7 +637,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def fetch(self, limit=None):
             api = self.api
        @@ -683,7 +683,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def search(self, limit=None):
             api = self.api
        @@ -703,7 +703,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def showOuterTemplate(self, _msgCache):
             error = self.api.TF.error
        @@ -724,7 +724,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def showPlan(self, details=False):
             displayPlan(self, details=details)
        @@ -738,7 +738,7 @@

        Methods

        Expand source code -Browse git +Browse git
        def study(self, strategy=None):
             api = self.api
        diff --git a/tf/search/semantics.html b/tf/search/semantics.html
        index 22f45c6eb..f5e65c686 100644
        --- a/tf/search/semantics.html
        +++ b/tf/search/semantics.html
        @@ -32,7 +32,7 @@ 

        Semantics of search templates

        Expand source code -Browse git +Browse git
        """
         # Semantics of search templates
        @@ -566,7 +566,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def semantics(searchExe):
             if not searchExe.good:
        diff --git a/tf/search/spin.html b/tf/search/spin.html
        index 556116869..d51bec90d 100644
        --- a/tf/search/spin.html
        +++ b/tf/search/spin.html
        @@ -32,7 +32,7 @@ 

        Search pre-processing

        Expand source code -Browse git +Browse git
        """
         # Search pre-processing
        @@ -484,7 +484,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def estimateSpreads(searchExe, both=False):
             TRY_LIMIT_F = searchExe.perfParams["tryLimitFrom"]
        @@ -562,7 +562,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def spinAtoms(searchExe):
             qnodes = searchExe.qnodes
        @@ -578,7 +578,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def spinEdges(searchExe):
             qnodes = searchExe.qnodes
        diff --git a/tf/search/stitch.html b/tf/search/stitch.html
        index 1374966e5..725d875bf 100644
        --- a/tf/search/stitch.html
        +++ b/tf/search/stitch.html
        @@ -32,7 +32,7 @@ 

        Search result finding

        Expand source code -Browse git +Browse git
        """
         # Search result finding
        @@ -937,7 +937,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def setStrategy(searchExe, strategy, keep=False):
             error = searchExe.api.TF.error
        @@ -971,7 +971,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def stitch(searchExe):
             estimateSpreads(searchExe, both=True)
        diff --git a/tf/search/syntax.html b/tf/search/syntax.html
        index 1e808cacb..ff43d0b8d 100644
        --- a/tf/search/syntax.html
        +++ b/tf/search/syntax.html
        @@ -32,7 +32,7 @@ 

        Syntax of search templates

        Expand source code -Browse git +Browse git
        """
         # Syntax of search templates
        @@ -730,7 +730,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def cleanParent(atom, parentName):
             (kind, data) = parseLine(atom)
        @@ -748,7 +748,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def deContext(quantifier, parentName):
             (quKind, quTemplates, ln) = quantifier
        @@ -804,7 +804,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def parseFeatureVals(searchExe, featStr, features, i, asEdge=False):
             if asEdge:
        @@ -879,7 +879,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def parseLine(line):
             for x in [True]:
        @@ -936,7 +936,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def syntax(searchExe):
             error = searchExe.api.TF.error
        diff --git a/tf/tools/checkdiffs.html b/tf/tools/checkdiffs.html
        index f991b64b0..5bd0c7783 100644
        --- a/tf/tools/checkdiffs.html
        +++ b/tf/tools/checkdiffs.html
        @@ -31,7 +31,7 @@ 

        Module tf.tools.checkdiffs

        Expand source code -Browse git +Browse git
        import sys
         from itertools import zip_longest
        @@ -130,7 +130,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def checkDiffs(path1, path2):
             """Check differences between runs of TF generations.
        diff --git a/tf/tools/index.html b/tf/tools/index.html
        index 95ebe39d2..c0ee8da00 100644
        --- a/tf/tools/index.html
        +++ b/tf/tools/index.html
        @@ -32,7 +32,7 @@ 

        Module tf.tools

        Expand source code -Browse git +Browse git
        """Various tools for workflows around TF."""
        diff --git a/tf/tools/myspacy.html b/tf/tools/myspacy.html index 25a68651a..3a6b50717 100644 --- a/tf/tools/myspacy.html +++ b/tf/tools/myspacy.html @@ -41,7 +41,7 @@

        Module tf.tools.myspacy

        Expand source code -Browse git +Browse git
        """Get words and tokens from a plain text with the help of Spacy.
         
        @@ -484,7 +484,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def nlpOutput(text, lang="en", ner=False, parser=False):
             """Runs the Spacy NLP pipeline and delivers the results.
        @@ -554,7 +554,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        class Spacy(CheckImport):
             def __init__(self, lang=None, parser=False):
        @@ -885,7 +885,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def getEntities(self):
             """Get the resulting named entities.
        @@ -949,7 +949,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def getSentences(self):
             """Get the resulting sentences.
        @@ -1032,7 +1032,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def getTokens(self):
             """Get the resulting tokens.
        @@ -1099,7 +1099,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def read(self, text):
             """Process a plain text.
        diff --git a/tf/tools/nbconvert.html b/tf/tools/nbconvert.html
        index 8dc06b8b8..3078cdaa3 100644
        --- a/tf/tools/nbconvert.html
        +++ b/tf/tools/nbconvert.html
        @@ -31,7 +31,7 @@ 

        Module tf.tools.nbconvert

        Expand source code -Browse git +Browse git
        import sys
         import re
        @@ -310,7 +310,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def convertDir(inputDir, outputDir):
             inPlace = outputDir == "-"
        @@ -409,7 +409,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def main():
             args = sys.argv[1:]
        @@ -428,7 +428,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def makeIndex(inputDir):
             htmlStart = dedent(
        @@ -536,7 +536,7 @@ 

        Index Mode

        Expand source code -Browse git +Browse git
        def task(*args):
             inputDir = args[0]
        diff --git a/tf/tools/pdocs.html b/tf/tools/pdocs.html
        index 1fafef841..6284e3a10 100644
        --- a/tf/tools/pdocs.html
        +++ b/tf/tools/pdocs.html
        @@ -31,7 +31,7 @@ 

        Module tf.tools.pdocs

        Expand source code -Browse git +Browse git
        import sys
         import os
        @@ -277,7 +277,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def console(*args):
             sys.stderr.write(" ".join(args) + "\n")
        @@ -292,7 +292,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def getCommand(pkg, asString=False):
             templateLoc = TEMPLATE_LOC.format(pkg)
        @@ -317,7 +317,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def pdoc3(pkg):
             """Build the docs into site."""
        @@ -346,7 +346,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def pdoc3serve(pkg):
             """Build the docs into site and serve them."""
        @@ -369,7 +369,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def servePdocs(pkg):
             run("python -m http.server 9000", cwd=SITE, shell=True)
        @@ -383,7 +383,7 @@

        Functions

        Expand source code -Browse git +Browse git
        def shipDocs(org, repo, pkg, pdoc=True):
             """Build the docs into site and ship them."""
        diff --git a/tf/tools/release.html b/tf/tools/release.html
        index 3f6e81789..af63e9ffd 100644
        --- a/tf/tools/release.html
        +++ b/tf/tools/release.html
        @@ -31,7 +31,7 @@ 

        Module tf.tools.release

        Expand source code -Browse git +Browse git
        import sys
         
        @@ -110,7 +110,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def makeRelease(org, repo, tag, name, msg, silent=True):
             ghPerson = var("GHPERS")
        diff --git a/tf/tools/xmlschema.html b/tf/tools/xmlschema.html
        index e35cec9e0..f0a52fb18 100644
        --- a/tf/tools/xmlschema.html
        +++ b/tf/tools/xmlschema.html
        @@ -107,7 +107,7 @@ 

        As library

        Expand source code -Browse git +Browse git
        """
         ## Meaningful information from XML schemas.
        @@ -1180,7 +1180,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def main():
             A = Analysis()
        @@ -1209,7 +1209,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        class Analysis(CheckImport):
             @staticmethod
        @@ -1655,7 +1655,7 @@ 

        Static methods

        Expand source code -Browse git +Browse git
        @staticmethod
         def help():
        @@ -1696,7 +1696,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def analyser(self, baseSchema, override):
             """Initializes an analyser for a schema.
        @@ -1755,7 +1755,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def elements(self, baseSchema, override):
             """Makes a list of elements and their properties.
        @@ -1821,7 +1821,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def fromrelax(self, baseSchema, schemaOut):
             """Converts a RelaxNG schema to an XSD schema.
        @@ -1868,7 +1868,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def getBaseSchema(self):
             """Get the base schema.
        @@ -1910,7 +1910,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def getElementInfo(self, baseSchema, overrides, verbose=None):
             """Analyse the schema and its overrides.
        @@ -1970,7 +1970,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def getModel(self, xmlContent):
             modelRe = self.modelRe
        @@ -2007,7 +2007,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def run(self):
             """Run a task specified by arguments on the command-line.
        @@ -2084,7 +2084,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def setModes(self, debug=False, verbose=-1):
             """Sets debug and verbose modes.
        @@ -2117,7 +2117,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def task(self, task, *args, verbose=None):
             """Implements a higher level task.
        @@ -2207,7 +2207,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def validate(self, schema, instances):
             """Validates an instance against a schema.
        @@ -2295,7 +2295,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        class Elements(CheckImport):
             types = set(
        @@ -2832,7 +2832,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        @staticmethod
         def eKey(x):
        @@ -2869,7 +2869,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        @staticmethod
         def repKind(k):
        @@ -2884,7 +2884,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        @staticmethod
         def repMixed(m):
        @@ -2914,7 +2914,7 @@ 

        Parameters

        Expand source code -Browse git +Browse git
        def configure(self, baseSchema, override=None, roots=None):
             """Configure for an XML schema and overrides
        @@ -3059,7 +3059,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def getDefs(self, asTsv=False):
             """Delivers the analysis results.
        @@ -3118,7 +3118,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def interpret(self):
             """Reads the XSD and interprets the element definitions.
        @@ -3290,7 +3290,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def resolve(self, definitions):
             """Resolve indirections in the definitions.
        @@ -3359,7 +3359,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def showElems(self):
             """Shows the current state of definitions.
        @@ -3396,7 +3396,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def showOverrides(self):
             """Shows the overriding definitions."""
        @@ -3429,7 +3429,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def writeDefs(self, outputDir):
             """Writes the definitions of the elements to a file.
        diff --git a/tf/volumes/collect.html b/tf/volumes/collect.html
        index 19f2544df..f03604f4a 100644
        --- a/tf/volumes/collect.html
        +++ b/tf/volumes/collect.html
        @@ -54,7 +54,7 @@ 

        Usage

        Expand source code -Browse git +Browse git
        """
         # Collect
        @@ -1187,7 +1187,7 @@ 

        Example

        Expand source code -Browse git +Browse git
        def collect(
             volumes,
        diff --git a/tf/volumes/extract.html b/tf/volumes/extract.html
        index bf8cbd167..d2e72b930 100644
        --- a/tf/volumes/extract.html
        +++ b/tf/volumes/extract.html
        @@ -40,7 +40,7 @@ 

        Usage

        Expand source code -Browse git +Browse git
        """
         # Extract
        @@ -949,7 +949,7 @@ 

        Example

        Expand source code -Browse git +Browse git
        def extract(
             workLocation,
        @@ -1625,7 +1625,7 @@ 

        Returns

        Expand source code -Browse git +Browse git
        def getVolumes(volumesLocation):
             """Lists volumes of a work that exist in a given directory.
        diff --git a/tf/volumes/index.html b/tf/volumes/index.html
        index 9c31614ad..7f426e88b 100644
        --- a/tf/volumes/index.html
        +++ b/tf/volumes/index.html
        @@ -38,7 +38,7 @@ 

        Volume operations

        Expand source code -Browse git +Browse git
        """
         # Volume operations
        diff --git a/tf/writing/arabic.html b/tf/writing/arabic.html
        index 2a7f752e0..092b76a43 100644
        --- a/tf/writing/arabic.html
        +++ b/tf/writing/arabic.html
        @@ -1019,7 +1019,7 @@ 

        See also

        Expand source code -Browse git +Browse git
        """
         .. include:: ../docs/writing/arabic.md
        diff --git a/tf/writing/greek.html b/tf/writing/greek.html
        index c2030a9af..d8577caa6 100644
        --- a/tf/writing/greek.html
        +++ b/tf/writing/greek.html
        @@ -33,7 +33,7 @@ 

        Greek characters

        Expand source code -Browse git +Browse git
        """
         .. include:: ../docs/writing/greek.md
        diff --git a/tf/writing/hebrew.html b/tf/writing/hebrew.html
        index b6fc89365..19ecc260f 100644
        --- a/tf/writing/hebrew.html
        +++ b/tf/writing/hebrew.html
        @@ -1243,7 +1243,7 @@ 

        Text-critical

        Expand source code -Browse git +Browse git
        """
         .. include:: ../docs/writing/hebrew.md
        diff --git a/tf/writing/index.html b/tf/writing/index.html
        index a062dcf87..770e9191c 100644
        --- a/tf/writing/index.html
        +++ b/tf/writing/index.html
        @@ -79,7 +79,7 @@ 

        Writing systems support

        Expand source code -Browse git +Browse git
        """
         # Writing systems support
        diff --git a/tf/writing/neoaramaic.html b/tf/writing/neoaramaic.html
        index 73ed7abc9..ca8010d94 100644
        --- a/tf/writing/neoaramaic.html
        +++ b/tf/writing/neoaramaic.html
        @@ -148,7 +148,7 @@ 

        Consonant phonem
        Expand source code -Browse git +Browse git
        """
         .. include:: ../docs/writing/neoaramaic.md
        diff --git a/tf/writing/syriac.html b/tf/writing/syriac.html
        index 276d4fd34..4abeb54b5 100644
        --- a/tf/writing/syriac.html
        +++ b/tf/writing/syriac.html
        @@ -609,7 +609,7 @@ 

        Pericope markers

        Expand source code -Browse git +Browse git
        """
         .. include:: ../docs/writing/syriac.md
        diff --git a/tf/writing/transcription.html b/tf/writing/transcription.html
        index ae576b18d..db3b6b3f5 100644
        --- a/tf/writing/transcription.html
        +++ b/tf/writing/transcription.html
        @@ -56,7 +56,7 @@ 

        cld Neo Aramaic

        Expand source code -Browse git +Browse git
        """
         # Transcription
        @@ -1264,7 +1264,7 @@ 

        Classes

        Expand source code -Browse git +Browse git
        class Transcription:
             """Conversion between UNICODE and various transcriptions.
        @@ -2572,7 +2572,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def asciiFromArabic(word):
             return "".join(Transcription.arabicTransAscii.get(x, x) for x in word)
        @@ -2586,7 +2586,7 @@

        Methods

        Expand source code -Browse git +Browse git
        def can_from_syriac(self, word):
             return all(c in self.syriac_mappingi for c in word if c != " ")
        @@ -2600,7 +2600,7 @@

        Methods

        Expand source code -Browse git +Browse git
        def can_to_syriac(self, word):
             return all(
        @@ -2625,7 +2625,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def from_arabic(word):
             """
        @@ -2663,7 +2663,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def from_hebrew(self, word):
             """
        @@ -2703,7 +2703,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def from_syriac(self, word):
             """
        @@ -2741,7 +2741,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def from_ugaritic(word):
             """
        @@ -2772,7 +2772,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def latinFromArabic(word):
             return "".join(Transcription.arabicTransLatin.get(x, x) for x in word)
        @@ -2799,7 +2799,7 @@

        Methods

        Expand source code -Browse git +Browse git
        def ph_simplify(pword):
             """
        @@ -2837,7 +2837,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def quranFromArabic(word):
             return "".join(Transcription.arabicTransQuran.get(x, x) for x in word)
        @@ -2851,7 +2851,7 @@

        Methods

        Expand source code -Browse git +Browse git
        def standardFromArabic(word):
             return "".join(Transcription.arabicTransStandard.get(x, x) for x in word)
        @@ -2884,7 +2884,7 @@

        Methods

        Expand source code -Browse git +Browse git
        def suffix_and_finales(word):
             """
        @@ -2970,7 +2970,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def suppress_space(word):
             """
        @@ -3006,7 +3006,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def sycSplitPunc(self):
             pass
        @@ -3027,7 +3027,7 @@

        Methods

        Expand source code -Browse git +Browse git
        def to_arabic(word):
             """
        @@ -3067,7 +3067,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def to_etcbc_c(word):
             """
        @@ -3116,7 +3116,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def to_etcbc_v(word):
             """
        @@ -3156,7 +3156,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def to_hebrew(word):
             """
        @@ -3198,7 +3198,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def to_hebrew_c(word):
             """
        @@ -3240,7 +3240,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def to_hebrew_v(word):
             """
        @@ -3282,7 +3282,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def to_hebrew_x(word):
             """
        @@ -3322,7 +3322,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def to_syriac(self, word):
             """
        @@ -3362,7 +3362,7 @@ 

        Methods

        Expand source code -Browse git +Browse git
        def to_ugaritic(word):
             """
        diff --git a/tf/writing/ugaritic.html b/tf/writing/ugaritic.html
        index 1c83be0c9..09cfce278 100644
        --- a/tf/writing/ugaritic.html
        +++ b/tf/writing/ugaritic.html
        @@ -352,7 +352,7 @@ 

        Letters and word separator

        Expand source code -Browse git +Browse git
        """
         .. include:: ../docs/writing/ugaritic.md
        diff --git a/tf/zip.html b/tf/zip.html
        index decac25f1..66d8d5b11 100644
        --- a/tf/zip.html
        +++ b/tf/zip.html
        @@ -31,7 +31,7 @@ 

        Module tf.zip

        Expand source code -Browse git +Browse git
        from .advanced.app import loadApp
         from .core.timestamp import DEEP
        @@ -85,7 +85,7 @@ 

        Functions

        Expand source code -Browse git +Browse git
        def main():
             """Makes a complete zip file.