#!/usr/bin/env python # coding: utf-8 # # Text Formats ins and outs # # See also the [docs](https://annotation.github.io/text-fabric/Api/Text/#text-representation) # In[1]: get_ipython().run_line_magic('load_ext', 'autoreload') get_ipython().run_line_magic('autoreload', '2') # In[2]: import os from tf.fabric import Fabric # In[3]: GH_BASE = os.path.expanduser('~/github') ORG = 'annotation' REPO = 'banks' FOLDER = 'tf' TF_DIR = f'{GH_BASE}/{ORG}/{REPO}/{FOLDER}' VERSION = '0.2' TF_PATH = f'{TF_DIR}/{VERSION}' TF = Fabric(locations=TF_PATH) # We ask for a list of all features: # In[4]: allFeatures = TF.explore(silent=True, show=True) loadableFeatures = allFeatures['nodes'] + allFeatures['edges'] loadableFeatures # We load all features: # In[5]: api = TF.load(loadableFeatures, silent=False) T = api.T F = api.F # In[6]: T.formats # In[7]: words = F.otype.s('word') lines = F.otype.s('line') sents = F.otype.s('sentence') # In[8]: explain = True # # single line # In[20]: T.text(lines[0], explain=explain) # In[21]: T.text(lines[0], descend=True, explain=explain) # In[19]: T.text(lines[0], fmt='line-term', explain=explain) # # two lines # In[25]: T.text(lines[0:2], explain=explain) # In[26]: T.text(lines[0:2], descend=True, explain=explain) # In[27]: T.text(lines[0:2], fmt='line-term', explain=explain) # # single sentence # In[29]: T.text(sents[0], explain=explain) # In[31]: T.text(sents[0], descend=False, explain=explain) # In[32]: T.text(sents[0], fmt='line-term', explain=explain) # # two sentences # In[33]: T.text(sents[0:2], explain=explain) # In[35]: T.text(sents[0:2], descend=False, explain=explain) # In[36]: T.text(sents[0:2], fmt='line-term', explain=explain) # # mixed content # In[48]: content = list(words[50:53]) + list(lines[4:6]) + list(sents[0:2]) # In[49]: T.text(content, explain=explain) # In[50]: T.text(content, descend=False, explain=explain) # In[51]: T.text(content, fmt='line-term', explain=explain) # In[63]: def test(): var = locals() def verbose(x): exec(x, var) verbose('x = "aap"') verbose('print(x)') verbose('print("noot")') return 'OK' # In[64]: test() # In[ ]: