Skip to main content

djangotextsplitter

This package is meant as a django-extension for the pdftextsplitter package. As such, the pdftextsplitter package should be installed before this package.

This django-extension provides an out-of-the-box django-app with database models for the python-classes in pdftextsplitter. As such, it becomes possible to store the results of the pdftextsplitter package in the django database.

The django-application in this package does not contain any views, urls, templates, static files or any other functionality. Only database models (including admin-registration) and load/write functions. These models and load/write functions can then be used in other django applications, together with the pdftextsplitter engine.

Installation works like: pip install djangopdftextsplitter

List of database models

The database models in this application are:

  • textpart (corresponds to the textpart-class from the pdftextsplitter-package)
  • fontregion (corresponds to the fonregion-class from the pdftextsplitter-package)
  • lineregion (corresponds to the lineregion-class from the pdftextsplitter-package)
  • readingline (needed to store certain information, but does not have an equivalent in the pdftextsplitter-package)
  • readinghistogram (needed to store certain information, but does not have an equivalent in the pdftextsplitter-package)
  • title (corresponds to the title-class from the pdftextsplitter-package)
  • body (corresponds to the body-class from the pdftextsplitter-package)
  • footer (corresponds to the footer-class from the pdftextsplitter-package)
  • headlines (corresponds to the headlines-class from the pdftextsplitter-package)
  • headlines_hierarchy (needed to store certain information, but does not have an equivalent in the pdftextsplitter-package)
  • enumeration (corresponds to the enumeration-class from the pdftextsplitter-package)
  • enumeration_hierarchy (needed to store certain information, but does not have an equivalent in the pdftextsplitter-package)
  • textsplitter (corresponds to the textsplitter-class from the pdftextsplitter-package)
  • native_toc_element (corresponds to the native_toc_element-class from the pdftextsplitter-package)
  • breakdown_decision (needed to store certain information, but does not have an equivalent in the pdftextsplitter-package)
  • textalinea (corresponds to the textalinea-class from the pdftextsplitter-package)

Getting started

Within a django-environment (if the djangotextsplitter is installed in the virtual environment and registered in the django), one can simpy have access to the model by calling
from djangotextsplitter.models import textsplitter as db_textsplitter
We recommend using the 'as db_' to distinguish django database models from base classes in the pdftextsplitter-package.
Loading/writing operations can be accessed with:
from djangotextsplitter.loads import load_textsplitter
Each model that has an associated class in pdftextsplitter, has a load-function, a newwrite-function, an overwrite-function and a delete-function.
They can be called as:
from pdftextsplitter import textsplitter
from djangotextsplitter.models import textsplitter as db_textsplitter
from djangotextsplitter.loads import load_textsplitter
from djangotextsplitter.newwrites import newwrite_textsplitter
from djangotextsplitter.overwrites import overwrite_textsplitter
from djangotextsplitter.deletes import delete_textsplitter
mysplitter = load_textsplitter(31) # 31 is database primary key; in django the pk
db_splitter = newwrite_textsplitter(mysplitter) # No need for a key here, as it is appended to the list
db_splitter = overwrite_textsplitter(31,mysplitter) # 31 is database primary key; in django the pk
delete_textsplitter(31) # 31 is database primary key; in django the pk

For further details, we refer the user to the documentation of pdftextsplitter, or to the mode details documentation in the docs-folder of this package.
djangotextsplitter is not very complicated. It just provides the database models and load/newwrite/overwrite/delete functions to the pdftextsplitter package, so the pdftextsplitter package can be efficiently used from within a django webapplication.

Permissions

The admin registration of the models is done in such a way that only superusers have access to the models in the admin function, even if other users have admin-access and the permissions to view/add/change/delete them. This is done to enforce people to only change the models using the load/newwrite/overwrite/delete functions. If someone would manually change the structure of the models somewhere in the hierarchy, this could cause major disruptions.

Release files for djangotextsplitter 1.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for djangotextsplitter 1.2.1
File Size Uploaded
djangotextsplitter-1.2.1.tar.gz 560.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for djangotextsplitter 1.2.1
File Interpreter ABI Platform
djangotextsplitter-1.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 622.6 kB

Release files / djangotextsplitter-1.2.1.tar.gz

Download URL djangotextsplitter-1.2.1.tar.gz
Size 560.8 kB
Tags Source
SHA-256 checksum
How to use checksums
0f8b87a76b10676381256d25117ef1545775fdee735cfa64af8fc5bc0a47ce25
BLAKE2b-256 checksum
How to use checksums
5fb75dcd1c08fb8f9aad431fba267e9aa91755d6b0860114f6c34713b9509cf6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.13

Release files / djangotextsplitter-1.2.1-py3-none-any.whl

Download URL djangotextsplitter-1.2.1-py3-none-any.whl
Size 61.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0ab89b6762a814e01395ce0745268fdf0f4e1821052ab13d638d628187068c6e
BLAKE2b-256 checksum
How to use checksums
447cb434dfcf1f4db95d9da2537ad96a2587dc984a979753dff7ed9b0a56ff34
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.13

Release history Release notifications | RSS feed

This release

1.2.1 This release

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.2

2 release files

1.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page