Technical manual

Modules

jedli_main

This is the module that initiates the GUI (graphical user interface). In the executable version of the program, it is called jedli_main.exe

jedli_gui

Contains the code for the main window of the Jedli GUI

jedli_logic

Contains the code for the main Jedli search tools (Indexer, Highlighter, Context Search)

core_mining_functions

Contains the functions that are used by all jedli tools

Core functions for working with Arabic sources

modules.core_mining_functions.deNoise(text)

This function eliminates all diacriticals from the text in order to faciliate its computational processing

modules.core_mining_functions.deNoise2(text)

This function converts all notes in the text to percentage symbols in order to eliminate these redundant digits that might interfer in the anlaysis of the text

modules.core_mining_functions.eraseNotes(text)

This function eliminates all end of page notes, as their presence might interfer with the computational analysis of the text. I think that the function is not very effective yet

modules.core_mining_functions.ignore_interword_characters(clause)

replace space in the search term with a regex that ignores spaces, footnote references, line breaks, punctuation etc

modules.core_mining_functions.natural_sort(l, x)

This function natural-sorts a list of lists (l), taking the element at index “x” as key natural sorting sorts alphabetical parts of a string alphabetically and numerical parts of a string numerically therefore, this function splits the string into alphabetical and numerical parts

jedli_global.py

Contains important global variables

modules.jedli_global.print(*args)
modules.jedli_global.rClickbinder(r, readonly=False)

alternative to binding the rClicker to every widget separately: make the rClicker available to every Entry/Text/Listbox/Label widget see https://stackoverflow.com/a/4552646/4045481 use rClickbinder(self.top) to make the right-click menu available for all widgets in self.top

modules.jedli_global.rClicker(e, readonly=False)

right click context menu for all Tk Entry and Text widgets see https://stackoverflow.com/a/4552646/4045481 use self.textf.bind(‘<Button-3>’,rClicker, add=’‘) to bind the right-click menu to the self.texf widget

jedli_logger.py

Contains the code for the log screen that opens alongside the main Jedli window

class modules.jedli_logger.Logger
hideWindow()
make_text_frame()
class modules.jedli_logger.RedirectLogging(widget, color_var)

Used to redirect logging output to the widget passed in parameters

write(string)
modules.jedli_logger.main()
modules.jedli_logger.main2()

jedli_EpubConverter

Contains an epub converter for Shamela texts

modules.jedli_EpubConverter.epubConverter()

jedli_search_options

Contains the code for the search options window GUI

class modules.jedli_search_options.Search_options
Check_beginning()
Check_ending()
Check_option()
Disable_beginning()
Disable_ending()
Disable_prefixes()
Disable_restricted()
Disable_suffixes()
Enable_beginning()
Enable_ending()
Enable_prefixes()
Enable_restricted()
Enable_suffixes()
alifs(word)
apply_options(word)
close_search_options()
defineVariables()
displaySearchregexes()
exampleSearch()
getValues()
getValuesAndDisplay()
makeButtons()
setInitialSettings()
unhideExampleFrame()

source_selection

Contains the code for the source selection window GUI

sourceUpdate

Contains the code for the source update window GUI

setDefaultValues

Contains the code for the set default values window GUI

date_plot

Contains the code for the plotly graph that represents the spread of results over time

chronoplot

Contains the code for the plotly scatter/line plot that represents the distribution of the sets of search words within the text