pyarchinit-mini - API Reference
Complete API documentation with classes, methods, and functions.
Generated: 2025-10-16 16:43:57
Module: cli_interface/cli_app.py
File Path: cli_interface/cli_app.py
Classes
PyArchInitCLI
Interactive CLI for PyArchInit-Mini
Methods:
__init__(self, database_url: str)
Initializes a new instance of the PyArchInitCLI class. This method sets up the database connection, initializes the database schema and management components, and creates service objects required for site, unit, inventory management, matrix generation and visualization, and PDF generation. If no database URL is provided, it defaults to an environment variable or a local SQLite database.
Parameters:
selfdatabase_url(str)
create_site(self)
Create new site
Parameters:
self
generate_harris_matrix(self)
Generate Harris Matrix for a site
Parameters:
self
list_sites(self)
List all sites
Parameters:
self
list_us(self)
List all US
Parameters:
self
run(self)
Run the CLI application
Parameters:
self
show_help(self)
Show help information
Parameters:
self
show_welcome(self)
Show welcome screen
Parameters:
self
view_site(self)
View site details
Parameters:
self
PyArchInitCLI
Interactive CLI for PyArchInit-Mini
Methods:
__init__(self, database_url: str)
Initializes a new instance of the PyArchInitCLI class. This method sets up the application console, configures the database connection (using the provided database_url or a default value), creates required database tables, and initializes all core service components needed for the CLI to function.
Parameters:
selfdatabase_url(str)
create_site(self)
Create new site
Parameters:
self
generate_harris_matrix(self)
Generate Harris Matrix for a site
Parameters:
self
harris_matrix_menu(self)
Harris Matrix menu
Parameters:
self
list_sites(self)
List all sites
Parameters:
self
list_us(self)
List all US
Parameters:
self
run(self)
Run the CLI application
Parameters:
self
show_help(self)
Show help information
Parameters:
self
show_main_menu(self)
Show main menu and handle selection
Parameters:
self
show_welcome(self)
Show welcome screen
Parameters:
self
sites_menu(self)
Sites management menu
Parameters:
self
statistics_menu(self)
Statistics and reports menu
Parameters:
self
us_menu(self)
US management menu
Parameters:
self
view_site(self)
View site details
Parameters:
self
PyArchInitCLI
Interactive CLI for PyArchInit-Mini
Methods:
__init__(self, database_url: str)
Initializes a new instance of the PyArchInitCLI class.
This method sets up the command-line interface environment by configuring the database connection, initializing the database schema, and instantiating all core services required for site, stratigraphic unit, inventory management, Harris matrix generation, visualization, and PDF export. An optional database_url parameter can be provided; otherwise, a default or environment-specified database is used.
Parameters:
selfdatabase_url(str)
create_site(self)
Create new site
Parameters:
self
generate_harris_matrix(self)
Generate Harris Matrix for a site
Parameters:
self
harris_matrix_menu(self)
Harris Matrix menu
Parameters:
self
list_sites(self)
List all sites
Parameters:
self
list_us(self)
List all US
Parameters:
self
run(self)
Run the CLI application
Parameters:
self
show_help(self)
Show help information
Parameters:
self
show_main_menu(self)
Show main menu and handle selection
Parameters:
self
show_welcome(self)
Show welcome screen
Parameters:
self
sites_menu(self)
Sites management menu
Parameters:
self
statistics_menu(self)
Statistics and reports menu
Parameters:
self
us_menu(self)
US management menu
Parameters:
self
view_site(self)
View site details
Parameters:
self
Functions
main(database_url, version)
PyArchInit-Mini Interactive CLI
Parameters:
database_urlversion
Decorators: click.command, click.option, click.option
main(database_url, version)
PyArchInit-Mini Interactive CLI
Parameters:
database_urlversion
Decorators: click.command, click.option, click.option
main(database_url, version)
PyArchInit-Mini Interactive CLI
Parameters:
database_urlversion
Decorators: click.command, click.option, click.option
\newpage
Module: desktop_gui/__init__.py
File Path: desktop_gui/__init__.py
\newpage
Module: desktop_gui/dialogs.py
File Path: desktop_gui/dialogs.py
Classes
BaseDialog
Base class for dialog windows
Methods:
__init__(self, parent, title, width, height)
Initializes a new instance of the BaseDialog class by creating and configuring a modal dialog window with the specified parent, title, width, and height. This method sets up the dialog’s main, content, and button frames, ensures the window is centered on the parent, and enables resizing and modality for user interaction.
Parameters:
selfparenttitlewidthheight
cancel(self)
Cancel button handler
Parameters:
self
center_window(self)
Center dialog window on parent
Parameters:
self
ok(self)
OK button handler - to be overridden
Parameters:
self
BaseDialog
Base class for dialog windows
Methods:
__init__(self, parent, title, width, height)
Initializes a new instance of the BaseDialog class.
This method creates and configures a modal dialog window as a child of the specified parent, sets its title and dimensions, centers it on the screen, and sets up the main layout frames for content and buttons.
Optional parameters allow customization of the dialog’s width and height.
Parameters:
selfparenttitlewidthheight
cancel(self)
Cancel button handler
Parameters:
self
center_window(self)
Center dialog window on parent
Parameters:
self
create_buttons(self, ok_text, cancel_text)
Create standard OK/Cancel buttons
Parameters:
selfok_textcancel_text
ok(self)
OK button handler - to be overridden
Parameters:
self
BaseDialog
Base class for dialog windows
Methods:
__init__(self, parent, title, width, height)
Initializes a new instance of the BaseDialog class by creating and configuring a dialog window as a child of the specified parent widget. Sets the dialog’s title, size, and modality, centers it on the parent, and constructs the main, content, and button frames for further customization. This method also initializes attributes for storing the dialog result and an optional callback.
Parameters:
selfparenttitlewidthheight
cancel(self)
Cancel button handler
Parameters:
self
center_window(self)
Center dialog window on parent
Parameters:
self
create_buttons(self, ok_text, cancel_text)
Create standard OK/Cancel buttons
Parameters:
selfok_textcancel_text
ok(self)
OK button handler - to be overridden
Parameters:
self
DatabaseConfigDialog
Dialog for database configuration
Inherits from: BaseDialog
Methods:
__init__(self, parent, callback)
__init__ Method Documentation:
Initializes the object by setting up the plotting axes and canvas for displaying images or data. It configures the axis limits to adjust automatically and triggers an initial rendering of the canvas to reflect the current state. This setup ensures that the display is ready for further interactions, such as zooming or data updates.
Parameters:
selfparentcallback
browse_sqlite_file(self)
Browse for SQLite file
Parameters:
self
build_postgres_connection_string(self)
Build PostgreSQL connection string
Parameters:
self
create_interface(self)
Create database configuration interface
Parameters:
self
ok(self)
Connect to selected database
Parameters:
self
on_db_type_change(self)
Handle database type change
Parameters:
self
test_connection(self)
Test PostgreSQL connection
Parameters:
self
DatabaseConfigDialog
Dialog for database configuration
Inherits from: BaseDialog
Methods:
__init__(self, parent, callback)
Initializes a new instance of the class, setting up all necessary attributes and dependencies required for operation. This method typically prepares services and resources that the class will use, ensuring the object is in a valid, ready-to-use state after creation.
Parameters:
selfparentcallback
browse_sqlite_file(self)
Browse for SQLite file
Parameters:
self
build_postgres_connection_string(self)
Build PostgreSQL connection string
Parameters:
self
create_interface(self)
Create database configuration interface
Parameters:
self
ok(self)
Connect to selected database
Parameters:
self
on_db_type_change(self)
Handle database type change
Parameters:
self
test_connection(self)
Test PostgreSQL connection
Parameters:
self
DatabaseConfigDialog
Dialog for database configuration
Inherits from: BaseDialog
Methods:
__init__(self, parent, callback)
Initializes a new instance of the DatabaseConfigDialog class.
Sets up the dialog window with a specified parent, optional callback function, and predefined dimensions and title.
Also initializes the user interface and dialog buttons for database configuration.
Parameters:
selfparentcallback
browse_sqlite_file(self)
Browse for SQLite file
Parameters:
self
build_postgres_connection_string(self)
Build PostgreSQL connection string
Parameters:
self
create_interface(self)
Create database configuration interface
Parameters:
self
create_new_database(self)
Create a new empty database
Parameters:
self
create_sample_database(self)
Create sample database
Parameters:
self
import_database(self)
Import database from file
Parameters:
self
ok(self)
Connect to selected database
Parameters:
self
on_db_type_change(self)
Handle database type change
Parameters:
self
test_connection(self)
Test PostgreSQL connection
Parameters:
self
use_sample_database(self)
Use the sample database
Parameters:
self
HarrisMatrixDialog
Dialog for generating and viewing Harris Matrix
Inherits from: BaseDialog
Methods:
__init__(self, parent, matrix_generator, matrix_visualizer, sites)
Initializes a new instance of the class, setting up the necessary fields and user interface components for inventory data entry. This method also prepares the form for creating a new inventory item or updating an existing one, depending on whether inventory data is provided. It ensures that all input fields are properly configured and linked to the underlying inventory management service.
Parameters:
selfparentmatrix_generatormatrix_visualizersites
create_interface(self)
Create Harris Matrix interface
Parameters:
self
display_levels(self)
Display matrix levels
Parameters:
self
display_statistics(self, stats)
Display matrix statistics
Parameters:
selfstats
export_matrix(self)
Export Harris Matrix to files
Parameters:
self
generate_matrix(self)
Generate Harris Matrix for selected site
Parameters:
self
open_advanced_editor(self)
Open advanced Harris Matrix editor
Parameters:
self
HarrisMatrixDialog
Dialog for generating and viewing Harris Matrix
Inherits from: BaseDialog
Methods:
__init__(self, parent, matrix_generator, matrix_visualizer, sites, site_service, us_service, db_manager)
Initializes a new instance of the HarrisMatrixDialog class, setting up the dialog window for generating and viewing a Harris Matrix. This method assigns the provided matrix generator, matrix visualizer, list of sites, and optional services to instance variables, then constructs the user interface and customizes the dialog buttons to display only a “Close” option.
Parameters:
selfparentmatrix_generatormatrix_visualizersitessite_serviceus_servicedb_manager
create_interface(self)
Create Harris Matrix interface
Parameters:
self
display_levels(self)
Display matrix levels
Parameters:
self
display_statistics(self, stats)
Display matrix statistics
Parameters:
selfstats
export_matrix(self)
Export Harris Matrix to files
Parameters:
self
generate_matrix(self)
Generate Harris Matrix for selected site
Parameters:
self
open_advanced_editor(self)
Open advanced Harris Matrix editor
Parameters:
self
HarrisMatrixDialog
Dialog for generating and viewing Harris Matrix
Inherits from: BaseDialog
Methods:
__init__(self, parent, matrix_generator, matrix_visualizer, sites, site_service, us_service, db_manager)
Initializes a new instance of the HarrisMatrixDialog class. This constructor sets up the dialog window with the provided matrix generator, matrix visualizer, list of sites, and optional service and database manager dependencies. It also configures the user interface and customizes the dialog buttons to display only a “Close” option.
Parameters:
selfparentmatrix_generatormatrix_visualizersitessite_serviceus_servicedb_manager
create_interface(self)
Create Harris Matrix interface
Parameters:
self
display_levels(self)
Display matrix levels
Parameters:
self
display_statistics(self, stats)
Display matrix statistics
Parameters:
selfstats
export_matrix(self)
Export Harris Matrix to files
Parameters:
self
generate_matrix(self)
Generate Harris Matrix for selected site
Parameters:
self
on_layout_changed(self, event)
Handle layout option change
Parameters:
selfevent
on_mouse_move(self, event)
Handle mouse movement for pan
Parameters:
selfevent
on_scroll(self, event)
Handle mouse wheel zoom
Parameters:
selfevent
open_advanced_editor(self)
Open advanced Harris Matrix editor
Parameters:
self
visualize_matrix(self)
Visualize Harris Matrix using PyArchInit-style Graphviz
Parameters:
self
zoom_fit(self)
Fit matrix to window
Parameters:
self
zoom_in(self)
Zoom in on the matrix
Parameters:
self
zoom_out(self)
Zoom out on the matrix
Parameters:
self
InventarioDialog
Dialog for creating/editing inventory items
Inherits from: BaseDialog
Methods:
__init__(self, parent, inventario_service, site_names, inventario, callback)
Initializes the form by setting up the data fields and populating them with existing values if an “US” (Unità Stratigrafica) instance is provided. It prepares the form for either creating a new US record or updating an existing one, ensuring proper handling and validation of input fields.
Parameters:
selfparentinventario_servicesite_namesinventariocallback
create_form(self)
Create inventory form
Parameters:
self
ok(self)
Save inventory data
Parameters:
self
populate_form(self)
Populate form with existing inventory data
Parameters:
self
InventarioDialog
Dialog for creating/editing inventory items
Inherits from: BaseDialog
Methods:
__init__(self, parent, inventario_service, site_names, inventario, callback)
Initializes a new instance of the InventarioDialog class for creating or editing inventory items.
This method sets up the dialog window, initializes its attributes with the provided inventory service, site names, existing inventory item (if any), and callback function, and creates the input form and action buttons. If an existing inventory item is provided, the form is pre-populated with its data.
Parameters:
selfparentinventario_servicesite_namesinventariocallback
create_form(self)
Create inventory form
Parameters:
self
ok(self)
Save inventory data
Parameters:
self
populate_form(self)
Populate form with existing inventory data
Parameters:
self
InventarioDialog
Dialog for creating/editing inventory items
Inherits from: BaseDialog
Methods:
__init__(self, parent, inventario_service, site_names, inventario, callback)
Initializes a new instance of the InventarioDialog class, setting up the dialog window for creating or editing inventory items. It configures the dialog title, dimensions, and fields based on whether an existing inventory item is provided, initializes necessary services and callbacks, and prepares the form and action buttons. If an inventory item is supplied, the form is pre-populated with its data.
Parameters:
selfparentinventario_servicesite_namesinventariocallback
create_form(self)
Create inventory form
Parameters:
self
ok(self)
Save inventory data
Parameters:
self
populate_form(self)
Populate form with existing inventory data
Parameters:
self
MediaManagerDialog
Dialog for media management
Inherits from: BaseDialog
Methods:
__init__(self, parent, media_handler)
Initializes the class by setting up the required service dependencies and a list of available sites. It also constructs the user interface for PDF export by invoking methods to create the interface elements and action buttons.
Parameters:
selfparentmedia_handler
create_interface(self)
Create media management interface
Parameters:
self
select_file(self)
Select file to upload
Parameters:
self
upload_file(self)
Upload selected file
Parameters:
self
MediaManagerDialog
Dialog for media management
Inherits from: BaseDialog
Methods:
__init__(self, parent, media_handler)
Initializes the class instance and prepares the necessary data structures for handling inventory records. This method extracts relevant attributes from inventory objects, assembles them into dictionaries, and manages the generation and saving of inventory PDF reports. It also provides user feedback upon successful completion of the PDF generation process.
Parameters:
selfparentmedia_handler
create_interface(self)
Create media management interface
Parameters:
self
select_file(self)
Select file to upload
Parameters:
self
upload_file(self)
Upload selected file
Parameters:
self
MediaManagerDialog
Dialog for media management
Inherits from: BaseDialog
Methods:
__init__(self, parent, media_handler)
init(self, parent, media_handler):
Initializes a new instance of the MediaManagerDialog class, setting up the dialog window for media management. It configures the dialog’s title, size, and associates it with the provided media handler, then creates the user interface and customizes the dialog buttons to display only the “Close” option.
Parameters:
selfparentmedia_handler
create_interface(self)
Create media management interface
Parameters:
self
select_file(self)
Select file to upload
Parameters:
self
upload_file(self)
Upload selected file
Parameters:
self
PDFExportDialog
Dialog for PDF export
Inherits from: BaseDialog
Methods:
__init__(self, parent, pdf_generator, site_service, us_service, inventario_service, sites)
Initializes the object by setting the current site, displaying matrix statistics and levels, and visualizing the matrix. Upon successful completion, it shows a confirmation message; if an error occurs during the process, it displays an error message. This method ensures that the UI is updated with the latest matrix information for the selected site.
Parameters:
selfparentpdf_generatorsite_serviceus_serviceinventario_servicesites
create_interface(self)
Create PDF export interface
Parameters:
self
ok(self)
Generate PDF report
Parameters:
self
select_output_file(self)
Select output file
Parameters:
self
PDFExportDialog
Dialog for PDF export
Inherits from: BaseDialog
Methods:
__init__(self, parent, pdf_generator, site_service, us_service, inventario_service, sites)
Initializes the visualizer for the Harris Matrix using PyArchInit-style rendering. This method retrieves the current layout setting, configures visualization parameters for optimal readability, and generates a high-resolution matrix image, saving the output to a temporary file. The path to the generated image is stored for further use.
Parameters:
selfparentpdf_generatorsite_serviceus_serviceinventario_servicesites
create_interface(self)
Create PDF export interface
Parameters:
self
ok(self)
Generate PDF report
Parameters:
self
select_output_file(self)
Select output file
Parameters:
self
PDFExportDialog
Dialog for PDF export
Inherits from: BaseDialog
Methods:
__init__(self, parent, pdf_generator, site_service, us_service, inventario_service, sites)
Initializes a new instance of the PDFExportDialog class. This constructor sets up the dialog window for exporting PDFs by initializing required services and data, and creates the user interface and dialog buttons. It requires references to the parent window, a PDF generator, various service objects, and a list of available sites.
Parameters:
selfparentpdf_generatorsite_serviceus_serviceinventario_servicesites
create_interface(self)
Create PDF export interface
Parameters:
self
ok(self)
Generate PDF report
Parameters:
self
select_output_file(self)
Select output file
Parameters:
self
SiteDialog
Dialog for creating/editing sites with media support
Inherits from: BaseDialog
Methods:
__init__(self, parent, site_service, media_service, site, callback)
Initializes a new instance of the SiteDialog class for creating or editing a site, with optional media support. It sets up the dialog window, initializes services and site data, creates the media directory, and constructs the form and action buttons. If an existing site is provided, the form is pre-populated and associated media are loaded.
Parameters:
selfparentsite_servicemedia_servicesitecallback
add_media_file(self, event)
Add media file with file dialog
Parameters:
selfevent
create_basic_tab(self)
Create basic information tab
Parameters:
self
create_description_tab(self)
Create description tab
Parameters:
self
create_form(self)
Create site form with tabs
Parameters:
self
create_media_directory(self)
Create media directory for the site
Parameters:
self
create_media_tab(self)
Create media management tab with thumbnails and drag & drop
Parameters:
self
format_file_size(self, size_bytes)
Format file size in human readable format
Parameters:
selfsize_bytes
load_media(self)
Load existing media files for the site
Parameters:
self
ok(self)
Save site data
Parameters:
self
on_media_select(self, event)
Handle media selection
Parameters:
selfevent
populate_form(self)
Populate form with existing site data
Parameters:
self
preview_media(self)
Preview selected media file
Parameters:
self
process_media_file(self, file_path)
Process and add media file to the list
Parameters:
selffile_path
refresh_media_list(self)
Refresh the media list display
Parameters:
self
remove_media_file(self)
Remove selected media file
Parameters:
self
SiteDialog
Dialog for creating/editing sites with media support
Inherits from: BaseDialog
Methods:
__init__(self, parent, site_service, media_service, site, callback)
Initializes a new instance of the SiteDialog class, setting up the dialog window for creating or editing a site, with optional media support. This method configures the dialog’s title, associates the required services, initializes form elements and buttons, and, if editing an existing site, pre-populates the form and loads associated media.
Parameters:
selfparentsite_servicemedia_servicesitecallback
add_media_file(self, event)
Add media file with file dialog
Parameters:
selfevent
create_basic_tab(self)
Create basic information tab
Parameters:
self
create_description_tab(self)
Create description tab
Parameters:
self
create_form(self)
Create site form with tabs
Parameters:
self
create_media_directory(self)
Create media directory for the site
Parameters:
self
create_media_tab(self)
Create media management tab with thumbnails and drag & drop
Parameters:
self
format_file_size(self, size_bytes)
Format file size in human readable format
Parameters:
selfsize_bytes
load_media(self)
Load existing media files for the site
Parameters:
self
ok(self)
Save site data
Parameters:
self
on_media_select(self, event)
Handle media selection
Parameters:
selfevent
populate_form(self)
Populate form with existing site data
Parameters:
self
preview_media(self)
Preview selected media file
Parameters:
self
process_media_file(self, file_path)
Process and add media file to the list
Parameters:
selffile_path
refresh_media_list(self)
Refresh the media list display
Parameters:
self
remove_media_file(self)
Remove selected media file
Parameters:
self
SiteDialog
Dialog for creating/editing sites with media support
Inherits from: BaseDialog
Methods:
__init__(self, parent, site_service, media_service, site, callback)
Initializes a new instance of the SiteDialog class for creating or editing a site, optionally with media support. This method sets up the dialog window, initializes service references, prepares the media directory, and populates the form and media list if an existing site is provided. It also configures the dialog’s form fields and action buttons.
Parameters:
selfparentsite_servicemedia_servicesitecallback
add_media_file(self, event)
Add media file with file dialog
Parameters:
selfevent
create_basic_tab(self)
Create basic information tab
Parameters:
self
create_description_tab(self)
Create description tab
Parameters:
self
create_form(self)
Create site form with tabs
Parameters:
self
create_media_directory(self)
Create media directory for the site
Parameters:
self
create_media_tab(self)
Create media management tab with thumbnails and drag & drop
Parameters:
self
format_file_size(self, size_bytes)
Format file size in human readable format
Parameters:
selfsize_bytes
load_media(self)
Load existing media files for the site
Parameters:
self
ok(self)
Save site data
Parameters:
self
on_media_select(self, event)
Handle media selection
Parameters:
selfevent
populate_form(self)
Populate form with existing site data
Parameters:
self
preview_media(self)
Preview selected media file
Parameters:
self
process_media_file(self, file_path)
Process and add media file to the list
Parameters:
selffile_path
refresh_media_list(self)
Refresh the media list display
Parameters:
self
remove_media_file(self)
Remove selected media file
Parameters:
self
StatisticsDialog
Dialog for viewing statistics
Inherits from: BaseDialog
Methods:
__init__(self, parent, site_service, us_service, inventario_service)
Initializes the object by processing a list of inventory items related to a specific site. If no items are found for the given site, it displays a warning message to the user. Otherwise, it converts each inventory item into a dictionary format, ensuring all relevant attributes are included for further use.
Parameters:
selfparentsite_serviceus_serviceinventario_service
create_interface(self)
Create statistics interface
Parameters:
self
load_statistics(self)
Load and display statistics
Parameters:
self
StatisticsDialog
Dialog for viewing statistics
Inherits from: BaseDialog
Methods:
__init__(self, parent, site_service, us_service, inventario_service)
Initializes the user interface components for configuring PostgreSQL database connections within the application. This method creates and arranges input fields for host, port, and database name, assigning default values and organizing them within a labeled frame for easy user access. It also sets up an “Import Database” button to facilitate database import operations.
Parameters:
selfparentsite_serviceus_serviceinventario_service
create_interface(self)
Create statistics interface
Parameters:
self
load_statistics(self)
Load and display statistics
Parameters:
self
StatisticsDialog
Dialog for viewing statistics
Inherits from: BaseDialog
Methods:
__init__(self, parent, site_service, us_service, inventario_service)
Initializes a new instance of the StatisticsDialog class.
This method sets up the dialog window with the provided parent and service objects, creates the user interface components, configures the dialog buttons to only display “Chiudi” (Close), and loads the initial statistics into the interface.
Parameters:
selfparentsite_serviceus_serviceinventario_service
create_interface(self)
Create statistics interface
Parameters:
self
load_statistics(self)
Load and display statistics
Parameters:
self
USDialog
Dialog for creating/editing US
Inherits from: BaseDialog
Methods:
__init__(self, parent, us_service, site_names, us, callback)
Initializes the form for creating or editing a site, setting up the necessary UI fields and internal variables. If an existing site is provided, it prepares the form with the site’s current data for editing; otherwise, it initializes the form for creating a new site. This method also configures the connections to the site service for handling data retrieval and submission.
Parameters:
selfparentus_servicesite_namesuscallback
create_form(self)
Create US form
Parameters:
self
ok(self)
Save US data
Parameters:
self
populate_form(self)
Populate form with existing US data
Parameters:
self
USDialog
Dialog for creating/editing US
Inherits from: BaseDialog
Methods:
__init__(self, parent, us_service, site_names, us, callback)
Initializes a new instance of the USDialog class for creating or editing a US (Unità Stratigrafica). Sets up the dialog window with form fields, action buttons, and optionally populates the form with existing US data if provided. Also stores references to the US service, site names, and an optional callback for further processing.
Parameters:
selfparentus_servicesite_namesuscallback
create_form(self)
Create US form
Parameters:
self
ok(self)
Save US data
Parameters:
self
populate_form(self)
Populate form with existing US data
Parameters:
self
USDialog
Dialog for creating/editing US
Inherits from: BaseDialog
Methods:
__init__(self, parent, us_service, site_names, us, callback)
Initializes a new instance of the USDialog class for creating or editing a “US” entity. Sets up the dialog window with the appropriate title and size, stores provided services and data, and creates the form and action buttons. If an existing “US” is provided, the form is pre-populated with its data.
Parameters:
selfparentus_servicesite_namesuscallback
create_form(self)
Create US form
Parameters:
self
ok(self)
Save US data
Parameters:
self
populate_form(self)
Populate form with existing US data
Parameters:
self
Functions
get_attr(obj, attr_name, default)
The get_attr function is a helper designed to retrieve an attribute value from an object, which can be either a dictionary or a data transfer object (DTO). It attempts to access the specified attribute using getattr if present, or falls back to the get method if the object is a dictionary, returning a default value if the attribute is not found or is falsy. This ensures flexible and safe attribute access across different object types.
Parameters:
objattr_namedefault
get_attr(obj, attr_name, default)
The get_attr function is a utility that retrieves the value of a specified attribute from an object, supporting both standard Python objects (using attribute access) and dictionary-like objects (using key access). If the attribute or key does not exist, or if the retrieved value is falsy, it returns a provided default value (empty string by default). This ensures flexible and safe extraction of data from heterogeneous objects.
Parameters:
objattr_namedefault
\newpage
Module: desktop_gui/gui_app.py
File Path: desktop_gui/gui_app.py
Functions
check_dependencies()
Check if all required dependencies are available
check_dependencies()
Check if all required dependencies are available
check_dependencies()
Check if all required dependencies are available
main()
Main application entry point
main()
Main application entry point
main()
Main application entry point
\newpage
Module: desktop_gui/harris_matrix_editor.py
File Path: desktop_gui/harris_matrix_editor.py
Classes
HarrisMatrixEditor
Advanced Harris Matrix editor with relationship management and validation
Methods:
__init__(self, parent, matrix_generator, matrix_visualizer, site_service, us_service)
Initializes a new instance of the Advanced Harris Matrix editor, setting up the main window, interface components, and required services for matrix generation, visualization, and site/unit management. This constructor also initializes data structures for managing current site, area, relationships, and the underlying graph, and makes the editor window modal relative to the parent.
Parameters:
selfparentmatrix_generatormatrix_visualizersite_serviceus_service
add_relationship(self)
Add new stratigraphic relationship
Parameters:
self
auto_fix_matrix(self)
Attempt automatic fixes for matrix issues
Parameters:
self
create_control_panel(self, parent)
Create site selection and main controls
Parameters:
selfparent
create_interface(self)
Create the main interface
Parameters:
self
create_left_panel(self, parent)
Create left panel with relationships and tools
Parameters:
selfparent
create_relationships_tab(self, parent)
Create relationships management tab
Parameters:
selfparent
create_right_panel(self, parent)
Create right panel with matrix visualization
Parameters:
selfparent
create_us_list_tab(self, parent)
Create US list tab
Parameters:
selfparent
create_validation_tab(self, parent)
Create validation tab
Parameters:
selfparent
delete_relationship(self)
Delete selected relationship
Parameters:
self
edit_relationship(self)
Edit selected relationship
Parameters:
self
export_matrix_image(self)
Export matrix as image
Parameters:
self
export_validation_report(self)
Export validation report
Parameters:
self
generate_matrix(self)
Generate new matrix from relationships
Parameters:
self
highlight_us_in_matrix(self)
Highlight selected US in matrix
Parameters:
self
load_areas(self)
Load areas for selected site
Parameters:
self
load_matrix(self)
Load existing matrix for the site
Parameters:
self
load_sites(self)
Load available sites
Parameters:
self
load_us_list(self)
Load US list for selected site/area
Parameters:
self
on_area_changed(self, event)
Handle area selection change
Parameters:
selfevent
on_layout_changed(self, event)
Handle layout change
Parameters:
selfevent
on_site_changed(self, event)
Handle site selection change
Parameters:
selfevent
refresh_relationships(self)
Refresh relationships list
Parameters:
self
reset_view(self)
Reset matrix view
Parameters:
self
save_matrix(self)
Save current matrix
Parameters:
self
select_us_for_relation(self)
Select US from list for relationship creation
Parameters:
self
validate_matrix(self)
Validate current matrix
Parameters:
self
visualize_matrix(self)
Visualize the Harris Matrix
Parameters:
self
zoom_in(self)
Zoom in the matrix view
Parameters:
self
zoom_out(self)
Zoom out the matrix view
Parameters:
self
HarrisMatrixEditor
Advanced Harris Matrix editor with relationship management and validation
Methods:
__init__(self, parent, matrix_generator, matrix_visualizer, site_service, us_service)
Initializes a new instance of the Advanced Harris Matrix editor, setting up the main window, user interface, and essential services for matrix generation, visualization, and site/unit management. This constructor configures the application’s state, loads initial site data, and ensures the editor window operates as a modal dialog relative to its parent.
Parameters:
selfparentmatrix_generatormatrix_visualizersite_serviceus_service
add_relationship(self)
Add new stratigraphic relationship
Parameters:
self
auto_fix_matrix(self)
Attempt automatic fixes for matrix issues
Parameters:
self
create_control_panel(self, parent)
Create site selection and main controls
Parameters:
selfparent
create_interface(self)
Create the main interface
Parameters:
self
create_left_panel(self, parent)
Create left panel with relationships and tools
Parameters:
selfparent
create_relationships_tab(self, parent)
Create relationships management tab
Parameters:
selfparent
create_right_panel(self, parent)
Create right panel with matrix visualization
Parameters:
selfparent
create_us_list_tab(self, parent)
Create US list tab
Parameters:
selfparent
create_validation_tab(self, parent)
Create validation tab
Parameters:
selfparent
delete_relationship(self)
Delete selected relationship
Parameters:
self
edit_relationship(self)
Edit selected relationship
Parameters:
self
export_matrix_image(self)
Export matrix as image
Parameters:
self
export_validation_report(self)
Export validation report
Parameters:
self
generate_matrix(self)
Generate new matrix from relationships
Parameters:
self
highlight_us_in_matrix(self)
Highlight selected US in matrix
Parameters:
self
load_areas(self)
Load areas for selected site
Parameters:
self
load_matrix(self)
Load existing matrix for the site
Parameters:
self
load_sites(self)
Load available sites
Parameters:
self
load_us_list(self)
Load US list for selected site/area
Parameters:
self
on_area_changed(self, event)
Handle area selection change
Parameters:
selfevent
on_layout_changed(self, event)
Handle layout change
Parameters:
selfevent
on_site_changed(self, event)
Handle site selection change
Parameters:
selfevent
refresh_relationships(self)
Refresh relationships list
Parameters:
self
reset_view(self)
Reset matrix view
Parameters:
self
save_matrix(self)
Save current matrix
Parameters:
self
select_us_for_relation(self)
Select US from list for relationship creation
Parameters:
self
validate_matrix(self)
Validate current matrix
Parameters:
self
visualize_matrix(self)
Visualize the Harris Matrix
Parameters:
self
zoom_in(self)
Zoom in the matrix view
Parameters:
self
zoom_out(self)
Zoom out the matrix view
Parameters:
self
HarrisMatrixEditor
Advanced Harris Matrix editor with relationship management and validation
Methods:
__init__(self, parent, matrix_generator, matrix_visualizer, site_service, us_service)
Initializes a new instance of the Advanced Harris Matrix editor, setting up required services, data structures, and the main application window. This method configures the editor’s interface, loads initial site data, and ensures the window operates modally relative to its parent. It prepares the editor for managing and visualizing Harris Matrix relationships.
Parameters:
selfparentmatrix_generatormatrix_visualizersite_serviceus_service
add_relationship(self)
Add new stratigraphic relationship
Parameters:
self
auto_fix_matrix(self)
Attempt automatic fixes for matrix issues
Parameters:
self
create_control_panel(self, parent)
Create site selection and main controls
Parameters:
selfparent
create_interface(self)
Create the main interface
Parameters:
self
create_left_panel(self, parent)
Create left panel with relationships and tools
Parameters:
selfparent
create_relationships_tab(self, parent)
Create relationships management tab
Parameters:
selfparent
create_right_panel(self, parent)
Create right panel with matrix visualization
Parameters:
selfparent
create_us_list_tab(self, parent)
Create US list tab
Parameters:
selfparent
create_validation_tab(self, parent)
Create validation tab
Parameters:
selfparent
delete_relationship(self)
Delete selected relationship
Parameters:
self
edit_relationship(self)
Edit selected relationship
Parameters:
self
export_matrix_image(self)
Export matrix as image
Parameters:
self
export_validation_report(self)
Export validation report
Parameters:
self
generate_matrix(self)
Generate new matrix from relationships
Parameters:
self
highlight_us_in_matrix(self)
Highlight selected US in matrix
Parameters:
self
load_areas(self)
Load areas for selected site
Parameters:
self
load_matrix(self)
Load existing matrix for the site
Parameters:
self
load_sites(self)
Load available sites
Parameters:
self
load_us_list(self)
Load US list for selected site/area
Parameters:
self
on_area_changed(self, event)
Handle area selection change
Parameters:
selfevent
on_layout_changed(self, event)
Handle layout change
Parameters:
selfevent
on_site_changed(self, event)
Handle site selection change
Parameters:
selfevent
refresh_relationships(self)
Refresh relationships list
Parameters:
self
reset_view(self)
Reset matrix view
Parameters:
self
save_matrix(self)
Save current matrix
Parameters:
self
select_us_for_relation(self)
Select US from list for relationship creation
Parameters:
self
validate_matrix(self)
Validate current matrix
Parameters:
self
visualize_matrix(self)
Visualize the Harris Matrix using PyArchInit-style Graphviz
Parameters:
self
zoom_in(self)
Zoom in the matrix view
Parameters:
self
zoom_out(self)
Zoom out the matrix view
Parameters:
self
Functions
save_changes()
The save_changes function updates a relationship between two nodes in a graph based on user input from a GUI form. It removes the old edge, adds a new edge with the specified type, refreshes the interface to reflect the changes, and displays a success or error message as appropriate.
\newpage
Module: desktop_gui/inventario_dialog_extended.py
File Path: desktop_gui/inventario_dialog_extended.py
Classes
ExtendedInventarioDialog
Extended Inventory Dialog with all fields from PyArchInit plugin Includes media management and thesaurus integration
Methods:
__init__(self, parent, inventario_service, site_service, thesaurus_service, media_service, inventario, callback)
Initializes the Extended Inventory Dialog, setting up the user interface with all relevant inventory fields from the PyArchInit plugin, including media management and thesaurus integration. Configures dialog properties, creates and arranges all UI tabs, and loads existing inventory data and associated media if provided. This method establishes all necessary services and prepares the dialog for user interaction.
Parameters:
selfparentinventario_servicesite_servicethesaurus_servicemedia_serviceinventariocallback
add_media_file(self, event)
Add media file with file dialog
Parameters:
selfevent
cancel(self)
Cancel and close dialog
Parameters:
self
center_window(self)
Center dialog window on parent
Parameters:
self
create_ceramic_tab(self)
Create ceramic-specific fields tab
Parameters:
self
create_classification_tab(self)
Create classification tab
Parameters:
self
create_conservation_tab(self)
Create conservation tab
Parameters:
self
create_context_tab(self)
Create context tab
Parameters:
self
create_documentation_tab(self)
Create documentation tab
Parameters:
self
create_identification_tab(self)
Create identification and basic info tab
Parameters:
self
create_measurements_tab(self)
Create measurements and dating tab
Parameters:
self
create_media_directory(self)
Create media directory for the inventory item
Parameters:
self
create_media_tab(self)
Create media management tab
Parameters:
self
create_physical_tab(self)
Create physical characteristics tab
Parameters:
self
format_file_size(self, size_bytes)
Format file size in human readable format
Parameters:
selfsize_bytes
get_entry_field_value(self, field_name)
Get value from Entry or Combobox widget
Parameters:
selffield_name
get_text_field_value(self, field_name)
Get value from Text widget
Parameters:
selffield_name
get_thesaurus_values(self, field_name: str) → List[str]
Get thesaurus values for a field
Parameters:
selffield_name(str)
Returns: List[str]
load_media(self)
Load existing media files for the inventory item
Parameters:
self
on_media_select(self, event)
Handle media selection
Parameters:
selfevent
populate_form(self)
Populate form with existing inventory data
Parameters:
self
preview_media(self)
Preview selected media file
Parameters:
self
process_media_file(self, file_path)
Process and add media file to the list
Parameters:
selffile_path
refresh_media_list(self)
Refresh the media list display
Parameters:
self
remove_media_file(self)
Remove selected media file
Parameters:
self
save(self)
Save inventory data
Parameters:
self
ExtendedInventarioDialog
Extended Inventory Dialog with all fields from PyArchInit plugin Includes media management and thesaurus integration
Methods:
__init__(self, parent, inventario_service, site_service, thesaurus_service, media_service, inventario, callback)
Initializes the Extended Inventory Dialog, setting up all user interface components and services required for managing inventory records, including media and thesaurus integration. Configures dialog properties, creates form tabs for all relevant data fields, and loads existing inventory data and associated media if provided. This method prepares the dialog for both creating new and editing existing inventory entries.
Parameters:
selfparentinventario_servicesite_servicethesaurus_servicemedia_serviceinventariocallback
add_media_file(self, event)
Add media file with file dialog
Parameters:
selfevent
cancel(self)
Cancel and close dialog
Parameters:
self
center_window(self)
Center dialog window on parent
Parameters:
self
create_ceramic_tab(self)
Create ceramic-specific fields tab
Parameters:
self
create_classification_tab(self)
Create classification tab
Parameters:
self
create_conservation_tab(self)
Create conservation tab
Parameters:
self
create_context_tab(self)
Create context tab
Parameters:
self
create_documentation_tab(self)
Create documentation tab
Parameters:
self
create_identification_tab(self)
Create identification and basic info tab
Parameters:
self
create_measurements_tab(self)
Create measurements and dating tab
Parameters:
self
create_media_directory(self)
Create media directory for the inventory item
Parameters:
self
create_media_tab(self)
Create media management tab
Parameters:
self
create_physical_tab(self)
Create physical characteristics tab
Parameters:
self
format_file_size(self, size_bytes)
Format file size in human readable format
Parameters:
selfsize_bytes
get_entry_field_value(self, field_name)
Get value from Entry or Combobox widget
Parameters:
selffield_name
get_text_field_value(self, field_name)
Get value from Text widget
Parameters:
selffield_name
get_thesaurus_values(self, field_name: str) → List[str]
Get thesaurus values for a field
Parameters:
selffield_name(str)
Returns: List[str]
load_media(self)
Load existing media files for the inventory item
Parameters:
self
on_media_select(self, event)
Handle media selection
Parameters:
selfevent
populate_form(self)
Populate form with existing inventory data
Parameters:
self
preview_media(self)
Preview selected media file
Parameters:
self
process_media_file(self, file_path)
Process and add media file to the list
Parameters:
selffile_path
refresh_media_list(self)
Refresh the media list display
Parameters:
self
remove_media_file(self)
Remove selected media file
Parameters:
self
save(self)
Save inventory data
Parameters:
self
ExtendedInventarioDialog
Extended Inventory Dialog with all fields from PyArchInit plugin Includes media management and thesaurus integration
Methods:
__init__(self, parent, inventario_service, site_service, thesaurus_service, media_service, inventario, callback)
Initializes an extended inventory dialog window with all relevant fields from the PyArchInit plugin, including media management and thesaurus integration. Sets up the dialog’s layout, tabs, and controls, and optionally populates the form and associated media if an existing inventory record is provided. This method also configures service dependencies and prepares the dialog for user interaction.
Parameters:
selfparentinventario_servicesite_servicethesaurus_servicemedia_serviceinventariocallback
add_media_file(self, event)
Add media file with file dialog
Parameters:
selfevent
cancel(self)
Cancel and close dialog
Parameters:
self
center_window(self)
Center dialog window on parent
Parameters:
self
create_ceramic_tab(self)
Create ceramic-specific fields tab
Parameters:
self
create_classification_tab(self)
Create classification tab
Parameters:
self
create_conservation_tab(self)
Create conservation tab
Parameters:
self
create_context_tab(self)
Create context tab
Parameters:
self
create_documentation_tab(self)
Create documentation tab
Parameters:
self
create_identification_tab(self)
Create identification and basic info tab
Parameters:
self
create_measurements_tab(self)
Create measurements and dating tab
Parameters:
self
create_media_directory(self)
Create media directory for the inventory item
Parameters:
self
create_media_tab(self)
Create media management tab
Parameters:
self
create_physical_tab(self)
Create physical characteristics tab
Parameters:
self
format_file_size(self, size_bytes)
Format file size in human readable format
Parameters:
selfsize_bytes
get_entry_field_value(self, field_name)
Get value from Entry or Combobox widget
Parameters:
selffield_name
get_text_field_value(self, field_name)
Get value from Text widget
Parameters:
selffield_name
get_thesaurus_values(self, field_name: str) → List[str]
Get thesaurus values for a field
Parameters:
selffield_name(str)
Returns: List[str]
load_media(self)
Load existing media files for the inventory item
Parameters:
self
on_media_select(self, event)
Handle media selection
Parameters:
selfevent
populate_form(self)
Populate form with existing inventory data
Parameters:
self
preview_media(self)
Preview selected media file
Parameters:
self
process_media_file(self, file_path)
Process and add media file to the list
Parameters:
selffile_path
refresh_media_list(self)
Refresh the media list display
Parameters:
self
remove_media_file(self)
Remove selected media file
Parameters:
self
save(self)
Save inventory data
Parameters:
self
\newpage
Module: desktop_gui/main_window.py
File Path: desktop_gui/main_window.py
Classes
PyArchInitGUI
Main GUI application for PyArchInit-Mini
Methods:
__del__(self)
Cleanup when application closes
Parameters:
self
__init__(self)
init
Initializes the main window and user interface for the PyArchInit-Mini application. This method sets up the main application window, initializes the database connection and key status variables, applies styles, creates the menu and interface components, and loads the initial data required for the application to function.
Parameters:
self
create_dashboard_content(self, parent)
Create dashboard content widgets
Parameters:
selfparent
create_dashboard_tab(self)
Create dashboard tab
Parameters:
self
create_inventario_tab(self)
Create inventory management tab
Parameters:
self
create_main_interface(self)
Create main application interface
Parameters:
self
create_sites_tab(self)
Create sites management tab
Parameters:
self
create_status_bar(self, parent)
Create status bar
Parameters:
selfparent
create_toolbar(self, parent)
Create application toolbar
Parameters:
selfparent
create_us_tab(self)
Create US management tab
Parameters:
self
delete_selected_inventario(self)
Delete selected inventory item
Parameters:
self
delete_selected_site(self)
Delete selected site
Parameters:
self
delete_selected_us(self)
Delete selected US
Parameters:
self
edit_selected_inventario(self)
Edit selected inventory item
Parameters:
self
edit_selected_site(self)
Edit selected site
Parameters:
self
edit_selected_us(self)
Edit selected US
Parameters:
self
export_database(self)
Export database to file
Parameters:
self
export_pdf_dialog(self)
Show PDF export dialog
Parameters:
self
import_database(self)
Import database from file
Parameters:
self
new_inventario_dialog(self)
Show new inventory dialog
Parameters:
self
new_site_dialog(self)
Show new site dialog
Parameters:
self
new_us_dialog(self)
Show new US dialog
Parameters:
self
on_inventario_filter_changed(self, event)
Handle inventory filter change
Parameters:
selfevent
on_site_changed(self, event)
Handle site selection change
Parameters:
selfevent
on_sites_search(self)
Handle sites search
Parameters:
self
on_us_filter_changed(self, event)
Handle US filter change
Parameters:
selfevent
reconnect_database(self, connection_string)
Reconnect to database with new connection string
Parameters:
selfconnection_string
refresh_activity_log(self)
Refresh activity log in dashboard
Parameters:
self
refresh_dashboard(self)
Refresh dashboard statistics
Parameters:
self
refresh_data(self)
Refresh all data in the interface
Parameters:
self
refresh_inventario(self)
Refresh inventory list
Parameters:
self
refresh_sites(self)
Refresh sites list
Parameters:
self
refresh_us(self)
Refresh US list
Parameters:
self
run(self)
Start the application
Parameters:
self
setup_database(self)
Initialize database connection and services
Parameters:
self
setup_styles(self)
Configure ttk styles
Parameters:
self
show_about_dialog(self)
Show about dialog
Parameters:
self
show_database_config(self)
Show database configuration dialog
Parameters:
self
show_harris_matrix_dialog(self)
Show Harris Matrix dialog
Parameters:
self
show_help_dialog(self)
Show help dialog
Parameters:
self
show_media_manager(self)
Show media manager dialog
Parameters:
self
show_media_manager(self)
Show media manager dialog
Parameters:
self
show_pdf_export_dialog(self)
Show PDF export dialog
Parameters:
self
show_postgres_installer(self)
Show PostgreSQL installer dialog
Parameters:
self
show_statistics_dialog(self)
Show statistics dialog
Parameters:
self
show_statistics_dialog(self)
Show statistics dialog
Parameters:
self
show_tab(self, tab_name)
Show specific tab
Parameters:
selftab_name
show_thesaurus_dialog(self)
Show thesaurus management dialog
Parameters:
self
PyArchInitGUI
Main GUI application for PyArchInit-Mini
Methods:
__del__(self)
Cleanup when application closes
Parameters:
self
__init__(self)
Initializes the main window and core components of the PyArchInit-Mini graphical user interface. This method sets up the application window, initializes the database connection and status variables, applies GUI styles, constructs the menu and main interface, and loads the initial data for user interaction.
Parameters:
self
create_dashboard_content(self, parent)
Create dashboard content widgets
Parameters:
selfparent
create_dashboard_tab(self)
Create dashboard tab
Parameters:
self
create_inventario_tab(self)
Create inventory management tab
Parameters:
self
create_main_interface(self)
Create main application interface
Parameters:
self
create_menu(self)
Create application menu bar
Parameters:
self
create_sites_tab(self)
Create sites management tab
Parameters:
self
create_status_bar(self, parent)
Create status bar
Parameters:
selfparent
create_toolbar(self, parent)
Create application toolbar
Parameters:
selfparent
create_us_tab(self)
Create US management tab
Parameters:
self
delete_selected_inventario(self)
Delete selected inventory item
Parameters:
self
delete_selected_site(self)
Delete selected site
Parameters:
self
delete_selected_us(self)
Delete selected US
Parameters:
self
edit_selected_inventario(self)
Edit selected inventory item
Parameters:
self
edit_selected_site(self)
Edit selected site
Parameters:
self
edit_selected_us(self)
Edit selected US
Parameters:
self
export_database(self)
Export database to file
Parameters:
self
export_pdf_dialog(self)
Show PDF export dialog
Parameters:
self
import_database(self)
Import database from file
Parameters:
self
new_inventario_dialog(self)
Show new inventory dialog
Parameters:
self
new_site_dialog(self)
Show new site dialog
Parameters:
self
new_us_dialog(self)
Show new US dialog
Parameters:
self
on_inventario_filter_changed(self, event)
Handle inventory filter change
Parameters:
selfevent
on_site_changed(self, event)
Handle site selection change
Parameters:
selfevent
on_sites_search(self)
Handle sites search
Parameters:
self
on_us_filter_changed(self, event)
Handle US filter change
Parameters:
selfevent
reconnect_database(self, connection_string)
Reconnect to database with new connection string
Parameters:
selfconnection_string
refresh_activity_log(self)
Refresh activity log in dashboard
Parameters:
self
refresh_dashboard(self)
Refresh dashboard statistics
Parameters:
self
refresh_data(self)
Refresh all data in the interface
Parameters:
self
refresh_inventario(self)
Refresh inventory list
Parameters:
self
refresh_sites(self)
Refresh sites list
Parameters:
self
refresh_us(self)
Refresh US list
Parameters:
self
run(self)
Start the application
Parameters:
self
setup_database(self)
Initialize database connection and services
Parameters:
self
setup_styles(self)
Configure ttk styles
Parameters:
self
show_about_dialog(self)
Show about dialog
Parameters:
self
show_database_config(self)
Show database configuration dialog
Parameters:
self
show_harris_matrix_dialog(self)
Show Harris Matrix dialog
Parameters:
self
show_help_dialog(self)
Show help dialog
Parameters:
self
show_media_manager(self)
Show media manager dialog
Parameters:
self
show_media_manager(self)
Show media manager dialog
Parameters:
self
show_pdf_export_dialog(self)
Show PDF export dialog
Parameters:
self
show_postgres_installer(self)
Show PostgreSQL installer dialog
Parameters:
self
show_statistics_dialog(self)
Show statistics dialog
Parameters:
self
show_statistics_dialog(self)
Show statistics dialog
Parameters:
self
show_tab(self, tab_name)
Show specific tab
Parameters:
selftab_name
show_thesaurus_dialog(self)
Show thesaurus management dialog
Parameters:
self
PyArchInitGUI
Main GUI application for PyArchInit-Mini
Methods:
__del__(self)
Cleanup when application closes
Parameters:
self
__init__(self)
Initializes the main window and core components of the PyArchInit-Mini GUI application. This method sets up the application window, initializes the database connection and necessary services, prepares status variables, applies GUI styles, creates the menu and main interface, and loads the initial data for display.
Parameters:
self
copy_as_new_database(self, source_file)
Copy imported database as new file
Parameters:
selfsource_file
create_dashboard_content(self, parent)
Create dashboard content widgets
Parameters:
selfparent
create_dashboard_tab(self)
Create dashboard tab
Parameters:
self
create_inventario_tab(self)
Create inventory management tab
Parameters:
self
create_main_interface(self)
Create main application interface
Parameters:
self
create_menu(self)
Create application menu bar
Parameters:
self
create_sample_database(self)
Create sample database
Parameters:
self
create_sites_tab(self)
Create sites management tab
Parameters:
self
create_status_bar(self, parent)
Create status bar
Parameters:
selfparent
create_toolbar(self, parent)
Create application toolbar
Parameters:
selfparent
create_us_tab(self)
Create US management tab
Parameters:
self
delete_selected_inventario(self)
Delete selected inventory item
Parameters:
self
delete_selected_site(self)
Delete selected site
Parameters:
self
delete_selected_us(self)
Delete selected US
Parameters:
self
edit_selected_inventario(self)
Edit selected inventory item
Parameters:
self
edit_selected_site(self)
Edit selected site
Parameters:
self
edit_selected_us(self)
Edit selected US
Parameters:
self
export_database(self)
Export database to file
Parameters:
self
export_pdf_dialog(self)
Show PDF export dialog
Parameters:
self
import_database(self)
Import database from file
Parameters:
self
load_sample_database(self)
Load the sample database
Parameters:
self
new_inventario_dialog(self)
Show new inventory dialog
Parameters:
self
new_site_dialog(self)
Show new site dialog
Parameters:
self
new_us_dialog(self)
Show new US dialog
Parameters:
self
on_inventario_filter_changed(self, event)
Handle inventory filter change
Parameters:
selfevent
on_site_changed(self, event)
Handle site selection change
Parameters:
selfevent
on_sites_search(self)
Handle sites search
Parameters:
self
on_us_filter_changed(self, event)
Handle US filter change
Parameters:
selfevent
reconnect_database(self, connection_string)
Reconnect to database with new connection string
Parameters:
selfconnection_string
refresh_activity_log(self)
Refresh activity log in dashboard
Parameters:
self
refresh_dashboard(self)
Refresh dashboard statistics
Parameters:
self
refresh_data(self)
Refresh all data in the interface
Parameters:
self
refresh_inventario(self)
Refresh inventory list
Parameters:
self
refresh_sites(self)
Refresh sites list
Parameters:
self
refresh_us(self)
Refresh US list
Parameters:
self
replace_current_database(self, source_file)
Replace current database with imported one
Parameters:
selfsource_file
run(self)
Start the application
Parameters:
self
setup_database(self)
Initialize database connection and services
Parameters:
self
setup_styles(self)
Configure ttk styles
Parameters:
self
show_about_dialog(self)
Show about dialog
Parameters:
self
show_database_config(self)
Show database configuration dialog
Parameters:
self
show_harris_matrix_dialog(self)
Show Harris Matrix dialog
Parameters:
self
show_help_dialog(self)
Show help dialog
Parameters:
self
show_media_manager(self)
Show media manager dialog
Parameters:
self
show_media_manager(self)
Show media manager dialog
Parameters:
self
show_pdf_export_dialog(self)
Show PDF export dialog
Parameters:
self
show_postgres_installer(self)
Show PostgreSQL installer dialog
Parameters:
self
show_statistics_dialog(self)
Show statistics dialog
Parameters:
self
show_statistics_dialog(self)
Show statistics dialog
Parameters:
self
show_tab(self, tab_name)
Show specific tab
Parameters:
selftab_name
show_thesaurus_dialog(self)
Show thesaurus management dialog
Parameters:
self
Functions
on_postgres_installed(connection_string)
Callback when PostgreSQL is installed and database created
Parameters:
connection_string
on_postgres_installed(connection_string)
Callback when PostgreSQL is installed and database created
Parameters:
connection_string
on_postgres_installed(connection_string)
Callback when PostgreSQL is installed and database created
Parameters:
connection_string
\newpage
Module: desktop_gui/postgres_installer_dialog.py
File Path: desktop_gui/postgres_installer_dialog.py
Classes
PostgreSQLInstallerDialog
Dialog for PostgreSQL installation and setup
Methods:
__init__(self, parent, postgres_installer, callback)
Initializes the dialog window for PostgreSQL installation and setup. This method creates and configures the dialog interface, sets up the main frame and user interface elements, and initiates a check of the current PostgreSQL installation status. It requires the parent window, a PostgreSQL installer instance, and optionally a callback function to handle completion events.
Parameters:
selfparentpostgres_installercallback
center_window(self)
Center dialog window on parent
Parameters:
self
check_postgres_status(self)
Check current PostgreSQL status
Parameters:
self
close(self)
Close dialog
Parameters:
self
create_database(self)
Create PyArchInit database
Parameters:
self
create_interface(self)
Create the main interface
Parameters:
self
install_postgres_thread(self)
PostgreSQL installation thread
Parameters:
self
log_message(self, message)
Add message to log
Parameters:
selfmessage
start_installation(self)
Start PostgreSQL installation in background thread
Parameters:
self
test_connection(self)
Test database connection
Parameters:
self
update_progress(self, value, message)
Update progress bar and message
Parameters:
selfvaluemessage
PostgreSQLInstallerDialog
Dialog for PostgreSQL installation and setup
Methods:
__init__(self, parent, postgres_installer, callback)
Initializes the dialog window for PostgreSQL installation and setup. This method configures the dialog’s properties, sets up the main interface components, and checks the current PostgreSQL installation status. It also stores references to the parent window, the installer object, and an optional callback for later use.
Parameters:
selfparentpostgres_installercallback
center_window(self)
Center dialog window on parent
Parameters:
self
check_postgres_status(self)
Check current PostgreSQL status
Parameters:
self
close(self)
Close dialog
Parameters:
self
create_database(self)
Create PyArchInit database
Parameters:
self
create_interface(self)
Create the main interface
Parameters:
self
install_postgres_thread(self)
PostgreSQL installation thread
Parameters:
self
log_message(self, message)
Add message to log
Parameters:
selfmessage
start_installation(self)
Start PostgreSQL installation in background thread
Parameters:
self
test_connection(self)
Test database connection
Parameters:
self
update_progress(self, value, message)
Update progress bar and message
Parameters:
selfvaluemessage
PostgreSQLInstallerDialog
Dialog for PostgreSQL installation and setup
Methods:
__init__(self, parent, postgres_installer, callback)
Initializes the PostgreSQL installation dialog by setting up the dialog window, its size, position, and modality with respect to the parent. It also creates the main user interface elements and checks the current status of the PostgreSQL installation. Optional callback functionality can be provided to handle post-installation actions.
Parameters:
selfparentpostgres_installercallback
center_window(self)
Center dialog window on parent
Parameters:
self
check_postgres_status(self)
Check current PostgreSQL status
Parameters:
self
close(self)
Close dialog
Parameters:
self
create_database(self)
Create PyArchInit database
Parameters:
self
create_interface(self)
Create the main interface
Parameters:
self
install_postgres_thread(self)
PostgreSQL installation thread
Parameters:
self
log_message(self, message)
Add message to log
Parameters:
selfmessage
start_installation(self)
Start PostgreSQL installation in background thread
Parameters:
self
test_connection(self)
Test database connection
Parameters:
self
update_progress(self, value, message)
Update progress bar and message
Parameters:
selfvaluemessage
\newpage
Module: desktop_gui/thesaurus_dialog.py
File Path: desktop_gui/thesaurus_dialog.py
Classes
ThesaurusDialog
Dialog for managing thesaurus and controlled vocabularies
Methods:
__init__(self, parent, thesaurus_service, callback)
Initializes the dialog for managing thesaurus and controlled vocabularies. This method sets up the dialog window, configures its properties, creates the main user interface, and loads the initial data required for interaction. It also accepts a parent widget, a thesaurus service instance, and an optional callback function.
Parameters:
selfparentthesaurus_servicecallback
add_value(self)
Add new value
Parameters:
self
center_window(self)
Center dialog window on parent
Parameters:
self
clear_details_form(self)
Clear the details form
Parameters:
self
clear_values(self)
Clear the values tree
Parameters:
self
close(self)
Close dialog
Parameters:
self
create_details_form(self, parent)
Create the details form for value editing
Parameters:
selfparent
create_interface(self)
Create the main interface
Parameters:
self
delete_value(self)
Delete selected value
Parameters:
self
edit_value(self)
Edit selected value
Parameters:
self
initialize_defaults(self)
Initialize default vocabularies
Parameters:
self
load_tables(self)
Load available tables
Parameters:
self
load_values(self)
Load values for the selected table and field
Parameters:
self
on_field_change(self, event)
Handle field selection change
Parameters:
selfevent
on_table_change(self, event)
Handle table selection change
Parameters:
selfevent
on_value_select(self, event)
Handle value selection
Parameters:
selfevent
save_value_changes(self)
Save changes to the selected value
Parameters:
self
ThesaurusDialog
Dialog for managing thesaurus and controlled vocabularies
Methods:
__init__(self, parent, thesaurus_service, callback)
Initializes the dialog for managing thesaurus and controlled vocabularies. This method sets up the dialog window, configures its properties, creates the main interface components, and loads the initial data required for user interaction. It also accepts a parent widget, a thesaurus service instance, and an optional callback function for additional actions.
Parameters:
selfparentthesaurus_servicecallback
add_value(self)
Add new value
Parameters:
self
center_window(self)
Center dialog window on parent
Parameters:
self
clear_details_form(self)
Clear the details form
Parameters:
self
clear_values(self)
Clear the values tree
Parameters:
self
close(self)
Close dialog
Parameters:
self
create_details_form(self, parent)
Create the details form for value editing
Parameters:
selfparent
create_interface(self)
Create the main interface
Parameters:
self
delete_value(self)
Delete selected value
Parameters:
self
edit_value(self)
Edit selected value
Parameters:
self
initialize_defaults(self)
Initialize default vocabularies
Parameters:
self
load_tables(self)
Load available tables
Parameters:
self
load_values(self)
Load values for the selected table and field
Parameters:
self
on_field_change(self, event)
Handle field selection change
Parameters:
selfevent
on_table_change(self, event)
Handle table selection change
Parameters:
selfevent
on_value_select(self, event)
Handle value selection
Parameters:
selfevent
save_value_changes(self)
Save changes to the selected value
Parameters:
self
ThesaurusDialog
Dialog for managing thesaurus and controlled vocabularies
Methods:
__init__(self, parent, thesaurus_service, callback)
Initializes the dialog for managing thesaurus and controlled vocabularies.
This constructor sets up the dialog window, configures its properties, creates the main interface components, and loads the initial data required for user interaction.
Parameters:
selfparentthesaurus_servicecallback
add_value(self)
Add new value
Parameters:
self
center_window(self)
Center dialog window on parent
Parameters:
self
clear_details_form(self)
Clear the details form
Parameters:
self
clear_values(self)
Clear the values tree
Parameters:
self
close(self)
Close dialog
Parameters:
self
create_details_form(self, parent)
Create the details form for value editing
Parameters:
selfparent
create_interface(self)
Create the main interface
Parameters:
self
delete_value(self)
Delete selected value
Parameters:
self
edit_value(self)
Edit selected value
Parameters:
self
initialize_defaults(self)
Initialize default vocabularies
Parameters:
self
load_tables(self)
Load available tables
Parameters:
self
load_values(self)
Load values for the selected table and field
Parameters:
self
on_field_change(self, event)
Handle field selection change
Parameters:
selfevent
on_table_change(self, event)
Handle table selection change
Parameters:
selfevent
on_value_select(self, event)
Handle value selection
Parameters:
selfevent
save_value_changes(self)
Save changes to the selected value
Parameters:
self
\newpage
Module: desktop_gui/us_dialog_extended.py
File Path: desktop_gui/us_dialog_extended.py
Classes
ChronologicalSequenceDialog
Dialog for displaying chronological sequence
Methods:
__init__(self, parent, site_name, us_service, periodizzazione_service)
Description:
Initializes a new instance of the ChronologicalSequenceDialog class. This constructor sets up the dialog window by storing references to the parent widget, the site name, the US service, and the periodization service, preparing the dialog for further configuration and display.
Parameters:
selfparentsite_nameus_serviceperiodizzazione_service
close(self)
Close dialog
Parameters:
self
create_interface(self)
Create chronological sequence interface
Parameters:
self
create_matrix_tab(self)
Create stratigraphic matrix tab
Parameters:
self
create_periods_tab(self)
Create periods summary tab
Parameters:
self
create_timeline_tab(self)
Create timeline view tab
Parameters:
self
export_sequence(self)
Export chronological sequence
Parameters:
self
generate_harris_matrix(self)
Generate Harris Matrix
Parameters:
self
load_chronological_data(self)
Load chronological data for the site
Parameters:
self
show_matrix_graph(self)
Show matrix as graph
Parameters:
self
update_matrix_info(self, us_list)
Update matrix information
Parameters:
selfus_list
update_periods_summary(self, periods_summary)
Update periods summary text
Parameters:
selfperiods_summary
ChronologicalSequenceDialog
Dialog for displaying chronological sequence
Methods:
__init__(self, parent, site_name, us_service, periodizzazione_service)
Initializes a new instance of the ChronologicalSequenceDialog class. This method sets up the dialog window with the specified parent, site name, and service dependencies, configures the window properties, and initializes the user interface by creating the necessary components and loading chronological data.
Parameters:
selfparentsite_nameus_serviceperiodizzazione_service
close(self)
Close dialog
Parameters:
self
create_interface(self)
Create chronological sequence interface
Parameters:
self
create_matrix_tab(self)
Create stratigraphic matrix tab
Parameters:
self
create_periods_tab(self)
Create periods summary tab
Parameters:
self
create_timeline_tab(self)
Create timeline view tab
Parameters:
self
export_sequence(self)
Export chronological sequence
Parameters:
self
generate_harris_matrix(self)
Generate Harris Matrix
Parameters:
self
load_chronological_data(self)
Load chronological data for the site
Parameters:
self
show_matrix_graph(self)
Show matrix as graph
Parameters:
self
update_matrix_info(self, us_list)
Update matrix information
Parameters:
selfus_list
update_periods_summary(self, periods_summary)
Update periods summary text
Parameters:
selfperiods_summary
ChronologicalSequenceDialog
Dialog for displaying chronological sequence
Methods:
__init__(self, parent, site_name, us_service, periodizzazione_service)
Initializes a new instance of the ChronologicalSequenceDialog class. This constructor sets up the dialog window with the specified parent, site name, and service dependencies, configures the window properties (such as title, size, and modality), and initializes the user interface and chronological data display.
Parameters:
selfparentsite_nameus_serviceperiodizzazione_service
close(self)
Close dialog
Parameters:
self
create_interface(self)
Create chronological sequence interface
Parameters:
self
create_matrix_tab(self)
Create stratigraphic matrix tab
Parameters:
self
create_periods_tab(self)
Create periods summary tab
Parameters:
self
create_timeline_tab(self)
Create timeline view tab
Parameters:
self
export_sequence(self)
Export chronological sequence
Parameters:
self
generate_harris_matrix(self)
Generate Harris Matrix
Parameters:
self
load_chronological_data(self)
Load chronological data for the site
Parameters:
self
show_matrix_graph(self)
Show matrix as graph
Parameters:
self
update_matrix_info(self, us_list)
Update matrix information
Parameters:
selfus_list
update_periods_summary(self, periods_summary)
Update periods summary text
Parameters:
selfperiods_summary
ExtendedUSDialog
Extended US dialog with multiple tabs for complete archaeological recording
Methods:
__init__(self, parent, us_service, site_service, matrix_generator, periodizzazione_service, site_names, us, callback)
Initializes the extended US dialog window for comprehensive archaeological recording, setting up the necessary services, data structures, and user interface elements. This constructor configures the dialog as either a new entry or an edit form (depending on the provided US object), establishes the window properties, and prepares the interface for user interaction. If editing an existing US, it also pre-populates the form with relevant data.
Parameters:
selfparentus_servicesite_servicematrix_generatorperiodizzazione_servicesite_namesuscallback
add_media_file(self, event)
Add new media file
Parameters:
selfevent
add_relationship(self)
Add new stratigraphic relationship
Parameters:
self
cancel(self)
Cancel and close dialog
Parameters:
self
create_basic_tab(self)
Create basic information tab
Parameters:
self
create_chronology_tab(self)
Create chronology/periodization tab
Parameters:
self
create_description_tab(self)
Create descriptions tab
Parameters:
self
create_documentation_tab(self)
Create documentation tab
Parameters:
self
create_file_icon(self, filename)
Create a generic file icon
Parameters:
selffilename
create_interface(self)
Create the main interface with tabs
Parameters:
self
create_media_directory(self)
Create media directory structure
Parameters:
self
create_media_item(self, filename, row, col)
Create a media item widget
Parameters:
selffilenamerowcol
create_media_tab(self)
Create media management tab with thumbnails and drag & drop
Parameters:
self
create_physical_tab(self)
Create physical characteristics tab
Parameters:
self
create_relationships_tab(self)
Create stratigraphic relationships tab
Parameters:
self
create_thumbnail(self, file_path)
Create thumbnail for image files
Parameters:
selffile_path
delete_relationship(self)
Delete selected relationship
Parameters:
self
delete_selected_media(self)
Delete selected media files
Parameters:
self
delete_us(self)
Delete current US
Parameters:
self
edit_relationship(self)
Edit selected relationship
Parameters:
self
export_all_media(self)
Export all media files
Parameters:
self
format_file_size(self, size_bytes)
Format file size in human readable format
Parameters:
selfsize_bytes
load_media_grid(self)
Load media files in grid with thumbnails
Parameters:
self
load_relationships(self)
Load stratigraphic relationships for current US
Parameters:
self
on_drop_click(self, event)
Handle click on drop area
Parameters:
selfevent
on_file_drop(self, event)
Handle file drop
Parameters:
selfevent
on_media_select(self, filename)
Handle media item selection
Parameters:
selffilename
open_harris_editor(self)
Open Harris Matrix editor
Parameters:
self
open_periodization_dialog(self)
Open detailed periodization dialog
Parameters:
self
populate_form(self)
Populate form with existing US data
Parameters:
self
process_dropped_file(self, file_path)
Process a dropped file
Parameters:
selffile_path
refresh_periodization_data(self)
Refresh periodization data in form
Parameters:
self
save_us(self)
Save US data
Parameters:
self
setup_drag_drop(self)
Setup drag and drop functionality
Parameters:
self
show_chronological_sequence(self)
Show chronological sequence for site
Parameters:
self
view_media_file(self, filename)
View selected media file
Parameters:
selffilename
ExtendedUSDialog
Extended US dialog with multiple tabs for complete archaeological recording
Methods:
__init__(self, parent, us_service, site_service, matrix_generator, periodizzazione_service, site_names, us, callback)
Initializes the Extended US dialog window for comprehensive archaeological recording, setting up all required services, data fields, and user interface components. This constructor configures the dialog as either a new record or for editing an existing US (Unità Stratigrafica), and prepares the multi-tabbed interface for user interaction. If an existing US is provided, the form is populated with its data for editing.
Parameters:
selfparentus_servicesite_servicematrix_generatorperiodizzazione_servicesite_namesuscallback
add_media_file(self, event)
Add new media file
Parameters:
selfevent
add_relationship(self)
Add new stratigraphic relationship
Parameters:
self
cancel(self)
Cancel and close dialog
Parameters:
self
create_basic_tab(self)
Create basic information tab
Parameters:
self
create_chronology_tab(self)
Create chronology/periodization tab
Parameters:
self
create_description_tab(self)
Create descriptions tab
Parameters:
self
create_documentation_tab(self)
Create documentation tab
Parameters:
self
create_file_icon(self, filename)
Create a generic file icon
Parameters:
selffilename
create_interface(self)
Create the main interface with tabs
Parameters:
self
create_media_directory(self)
Create media directory structure
Parameters:
self
create_media_item(self, filename, row, col)
Create a media item widget
Parameters:
selffilenamerowcol
create_media_tab(self)
Create media management tab with thumbnails and drag & drop
Parameters:
self
create_physical_tab(self)
Create physical characteristics tab
Parameters:
self
create_relationships_tab(self)
Create stratigraphic relationships tab
Parameters:
self
create_thumbnail(self, file_path)
Create thumbnail for image files
Parameters:
selffile_path
delete_relationship(self)
Delete selected relationship
Parameters:
self
delete_selected_media(self)
Delete selected media files
Parameters:
self
delete_us(self)
Delete current US
Parameters:
self
edit_relationship(self)
Edit selected relationship
Parameters:
self
export_all_media(self)
Export all media files
Parameters:
self
format_file_size(self, size_bytes)
Format file size in human readable format
Parameters:
selfsize_bytes
load_media_grid(self)
Load media files in grid with thumbnails
Parameters:
self
load_relationships(self)
Load stratigraphic relationships for current US
Parameters:
self
on_drop_click(self, event)
Handle click on drop area
Parameters:
selfevent
on_file_drop(self, event)
Handle file drop
Parameters:
selfevent
on_media_select(self, filename)
Handle media item selection
Parameters:
selffilename
open_harris_editor(self)
Open Harris Matrix editor
Parameters:
self
open_periodization_dialog(self)
Open detailed periodization dialog
Parameters:
self
populate_form(self)
Populate form with existing US data
Parameters:
self
process_dropped_file(self, file_path)
Process a dropped file
Parameters:
selffile_path
refresh_periodization_data(self)
Refresh periodization data in form
Parameters:
self
save_us(self)
Save US data
Parameters:
self
setup_drag_drop(self)
Setup drag and drop functionality
Parameters:
self
show_chronological_sequence(self)
Show chronological sequence for site
Parameters:
self
view_media_file(self, filename)
View selected media file
Parameters:
selffilename
ExtendedUSDialog
Extended US dialog with multiple tabs for complete archaeological recording
Methods:
__init__(self, parent, us_service, site_service, matrix_generator, periodizzazione_service, site_names, us, callback)
Initializes the Extended US dialog for comprehensive archaeological recording, setting up the required services, site information, and optional US data. This constructor creates and configures a modal window with multiple tabs for data entry, and populates the form if an existing US record is being edited. It also prepares internal data structures for fields, relationships, and periodization.
Parameters:
selfparentus_servicesite_servicematrix_generatorperiodizzazione_servicesite_namesuscallback
add_media_file(self, event)
Add new media file
Parameters:
selfevent
add_relationship(self)
Add new stratigraphic relationship
Parameters:
self
cancel(self)
Cancel and close dialog
Parameters:
self
create_basic_tab(self)
Create basic information tab
Parameters:
self
create_chronology_tab(self)
Create chronology/periodization tab
Parameters:
self
create_description_tab(self)
Create descriptions tab
Parameters:
self
create_documentation_tab(self)
Create documentation tab
Parameters:
self
create_file_icon(self, filename)
Create a generic file icon
Parameters:
selffilename
create_interface(self)
Create the main interface with tabs
Parameters:
self
create_media_directory(self)
Create media directory structure
Parameters:
self
create_media_item(self, filename, row, col)
Create a media item widget
Parameters:
selffilenamerowcol
create_media_tab(self)
Create media management tab with thumbnails and drag & drop
Parameters:
self
create_physical_tab(self)
Create physical characteristics tab
Parameters:
self
create_relationships_tab(self)
Create stratigraphic relationships tab
Parameters:
self
create_thumbnail(self, file_path)
Create thumbnail for image files
Parameters:
selffile_path
delete_relationship(self)
Delete selected relationship
Parameters:
self
delete_selected_media(self)
Delete selected media files
Parameters:
self
delete_us(self)
Delete current US
Parameters:
self
edit_relationship(self)
Edit selected relationship
Parameters:
self
export_all_media(self)
Export all media files
Parameters:
self
format_file_size(self, size_bytes)
Format file size in human readable format
Parameters:
selfsize_bytes
load_media_grid(self)
Load media files in grid with thumbnails
Parameters:
self
load_relationships(self)
Load stratigraphic relationships for current US
Parameters:
self
on_drop_click(self, event)
Handle click on drop area
Parameters:
selfevent
on_file_drop(self, event)
Handle file drop
Parameters:
selfevent
on_media_select(self, filename)
Handle media item selection
Parameters:
selffilename
open_harris_editor(self)
Open Harris Matrix editor
Parameters:
self
open_periodization_dialog(self)
Open detailed periodization dialog
Parameters:
self
populate_form(self)
Populate form with existing US data
Parameters:
self
process_dropped_file(self, file_path)
Process a dropped file
Parameters:
selffile_path
refresh_periodization_data(self)
Refresh periodization data in form
Parameters:
self
save_us(self)
Save US data
Parameters:
self
setup_drag_drop(self)
Setup drag and drop functionality
Parameters:
self
show_chronological_sequence(self)
Show chronological sequence for site
Parameters:
self
view_media_file(self, filename)
View selected media file
Parameters:
selffilename
PeriodizationDialog
Dialog for detailed periodization management
Methods:
__init__(self, parent, us, periodizzazione_service, callback)
Initializes a new instance of the PeriodizationDialog class. Sets up the dialog with the provided parent window, stratigraphic unit (us), periodization service, and an optional callback function to be executed after operations. This method prepares the dialog for managing detailed periodization tasks.
Parameters:
selfparentusperiodizzazione_servicecallback
cancel(self)
Cancel and close dialog
Parameters:
self
create_chronology_tab(self)
Create chronology tab
Parameters:
self
create_dating_tab(self)
Create dating tab
Parameters:
self
create_interface(self)
Create periodization interface
Parameters:
self
create_phases_tab(self)
Create phases tab
Parameters:
self
load_periodization_data(self)
Load existing periodization data
Parameters:
self
save_periodization(self)
Save periodization data
Parameters:
self
PeriodizationDialog
Dialog for detailed periodization management
Methods:
__init__(self, parent, us, periodizzazione_service, callback)
Initializes a new instance of the PeriodizationDialog class. This constructor sets up the dialog window for detailed periodization management by storing provided parameters, creating the modal interface, and loading relevant periodization data.
Parameters:
selfparentusperiodizzazione_servicecallback
cancel(self)
Cancel and close dialog
Parameters:
self
create_chronology_tab(self)
Create chronology tab
Parameters:
self
create_dating_tab(self)
Create dating tab
Parameters:
self
create_interface(self)
Create periodization interface
Parameters:
self
create_phases_tab(self)
Create phases tab
Parameters:
self
load_periodization_data(self)
Load existing periodization data
Parameters:
self
save_periodization(self)
Save periodization data
Parameters:
self
PeriodizationDialog
Dialog for detailed periodization management
Methods:
__init__(self, parent, us, periodizzazione_service, callback)
Initializes a new instance of the PeriodizationDialog class. This method creates and configures a modal dialog window for managing detailed periodization, sets up the user interface, and loads the relevant periodization data. It accepts the parent window, a user story object (us), a periodization service, and an optional callback function.
Parameters:
selfparentusperiodizzazione_servicecallback
cancel(self)
Cancel and close dialog
Parameters:
self
create_chronology_tab(self)
Create chronology tab
Parameters:
self
create_dating_tab(self)
Create dating tab
Parameters:
self
create_interface(self)
Create periodization interface
Parameters:
self
create_phases_tab(self)
Create phases tab
Parameters:
self
load_periodization_data(self)
Load existing periodization data
Parameters:
self
save_periodization(self)
Save periodization data
Parameters:
self
RelationshipDialog
Simple dialog for adding stratigraphic relationships
Methods:
__init__(self, parent, us, matrix_generator, callback)
init
Initializes a new instance of the RelationshipDialog class. This constructor sets up the dialog window and prepares all necessary components for adding stratigraphic relationships.
Parameters:
selfparentusmatrix_generatorcallback
cancel(self)
Cancel dialog
Parameters:
self
create_interface(self)
Create relationship dialog interface
Parameters:
self
save_relationship(self)
Save the relationship
Parameters:
self
RelationshipDialog
Simple dialog for adding stratigraphic relationships
Methods:
__init__(self, parent, us, matrix_generator, callback)
Initializes a new instance of the RelationshipDialog class. Sets up the dialog window for adding stratigraphic relationships, initializes its attributes with the provided parameters, and invokes the method to create the user interface.
Parameters:
selfparentusmatrix_generatorcallback
cancel(self)
Cancel dialog
Parameters:
self
create_interface(self)
Create relationship dialog interface
Parameters:
self
save_relationship(self)
Save the relationship
Parameters:
self
RelationshipDialog
Simple dialog for adding stratigraphic relationships
Methods:
__init__(self, parent, us, matrix_generator, callback)
Initializes a new instance of the RelationshipDialog class. Sets up the dialog window for adding stratigraphic relationships, configuring its properties and linking it to the parent window, the stratigraphic unit (us), the matrix generator, and an optional callback function. Calls the method to create the dialog interface.
Parameters:
selfparentusmatrix_generatorcallback
cancel(self)
Cancel dialog
Parameters:
self
create_interface(self)
Create relationship dialog interface
Parameters:
self
save_relationship(self)
Save the relationship
Parameters:
self
\newpage
Module: example_usage.py
File Path: example_usage.py
Functions
main()
Demonstrate PyArchInit-Mini usage
main()
Demonstrate PyArchInit-Mini usage
main()
Demonstrate PyArchInit-Mini usage
\newpage
Module: examples/__init__.py
File Path: examples/__init__.py
\newpage
Module: examples/interface_demo.py
File Path: examples/interface_demo.py
Functions
create_sample_data()
Create sample archaeological data for demonstration
create_sample_data()
Create sample archaeological data for demonstration
create_sample_data()
Create sample archaeological data for demonstration
demo_api_server()
Demonstrate the FastAPI server
demo_api_server()
Demonstrate the FastAPI server
demo_api_server()
Demonstrate the FastAPI server
demo_cli_interface()
Demonstrate the Rich CLI interface
demo_cli_interface()
Demonstrate the Rich CLI interface
demo_cli_interface()
Demonstrate the Rich CLI interface
demo_desktop_gui()
Demonstrate the Tkinter desktop GUI
demo_desktop_gui()
Demonstrate the Tkinter desktop GUI
demo_desktop_gui()
Demonstrate the Tkinter desktop GUI
demo_python_library()
Demonstrate using PyArchInit-Mini as a Python library
demo_python_library()
Demonstrate using PyArchInit-Mini as a Python library
demo_python_library()
Demonstrate using PyArchInit-Mini as a Python library
demo_web_interface()
Demonstrate the Flask web interface
demo_web_interface()
Demonstrate the Flask web interface
demo_web_interface()
Demonstrate the Flask web interface
main()
Main demo function
main()
Main demo function
main()
Main demo function
print_banner(title)
Print a formatted banner
Parameters:
title
print_banner(title)
Print a formatted banner
Parameters:
title
\newpage
Module: launch_with_sample_data.py
File Path: launch_with_sample_data.py
Functions
main()
Launch PyArchInit-Mini with sample database
main()
Launch PyArchInit-Mini with sample database
run_api()
The run_api function serves as a wrapper to start the main API server by importing and invoking the main function from the main module. It includes exception handling to catch and print any errors that occur during the server startup, ensuring that issues are logged rather than causing the application to crash. Typically, this function is intended to be executed in a separate background thread.
run_api()
The run_api function serves as a wrapper to start the main API server by importing and invoking the main function from the main module. It handles any exceptions that occur during the server startup, printing an error message if the server fails to launch. This function is typically used to run the API server in a background thread.
\newpage
Module: main.py
File Path: main.py
Functions
main()
Main function to start the API server
main()
Main function to start the API server
main()
Main function to start the API server
\newpage
Module: migrate_database.py
File Path: migrate_database.py
Functions
main()
Main migration function
main()
Main migration function
\newpage
Module: pyarchinit_mini/__init__.py
File Path: pyarchinit_mini/__init__.py
\newpage
Module: pyarchinit_mini/api/__init__.py
File Path: pyarchinit_mini/api/__init__.py
Functions
create_app(database_url: str) → FastAPI
Create and configure FastAPI application
Args: database_url: Database connection URL
Returns: Configured FastAPI app
Parameters:
database_url(str)
Returns: FastAPI
create_app(database_url: str) → FastAPI
Create and configure FastAPI application
Args: database_url: Database connection URL
Returns: Configured FastAPI app
Parameters:
database_url(str)
Returns: FastAPI
create_app(database_url: str) → FastAPI
Create and configure FastAPI application
Args: database_url: Database connection URL
Returns: Configured FastAPI app
Parameters:
database_url(str)
Returns: FastAPI
health_check()
The health_check function is an asynchronous endpoint that responds to HTTP GET requests at the /health route. It returns a JSON object indicating the application’s health status, typically used for monitoring and verifying that the service is running correctly.
Modifiers: async
Decorators: app.get
health_check()
The health_check function defines an HTTP GET endpoint at /health that returns a simple JSON response indicating the application’s operational status. When accessed, it responds with {“status”: “healthy”}, which can be used by monitoring tools or load balancers to verify that the service is running and responsive.
Modifiers: async
Decorators: app.get
health_check()
The health_check function is an HTTP GET endpoint that returns the current health status of the application. When accessed at the /health route, it responds with a JSON object indicating that the service is operational by returning {"status": "healthy"}. This endpoint is typically used for monitoring and verifying that the application is running correctly.
Modifiers: async
Decorators: app.get
root()
The root function is an asynchronous endpoint that handles GET requests to the root URL (“/”) of the API. It returns a JSON response containing a welcome message, the current API version, and a link to the API documentation. This endpoint serves as an entry point to provide basic information about the PyArchInit-Mini API.
Modifiers: async
Decorators: app.get
root()
The root function is an asynchronous endpoint that handles GET requests to the root URL (“/”) of the API. It returns a JSON response containing a welcome message, the current API version, and a link to the API documentation. This endpoint serves as the main entry point and overview for users of the PyArchInit-Mini API.
Modifiers: async
Decorators: app.get
root()
The root function defines the API’s root endpoint (“/”) and returns a JSON response containing a welcome message, the current API version, and a link to the documentation. It serves as an entry point for users to verify the API is running and to locate further documentation.
Modifiers: async
Decorators: app.get
\newpage
Module: pyarchinit_mini/api/dependencies.py
File Path: pyarchinit_mini/api/dependencies.py
Functions
close_database()
Close global database connection
close_database()
Close global database connection
close_database()
Close global database connection
get_database_connection() → DatabaseConnection
Get database connection dependency
Returns: DatabaseConnection
get_database_connection() → DatabaseConnection
Get database connection dependency
Returns: DatabaseConnection
get_database_connection() → DatabaseConnection
Get database connection dependency
Returns: DatabaseConnection
get_database_manager(db_conn: DatabaseConnection) → DatabaseManager
Get database manager dependency
Parameters:
db_conn(DatabaseConnection)
Returns: DatabaseManager
get_database_manager(db_conn: DatabaseConnection) → DatabaseManager
Get database manager dependency
Parameters:
db_conn(DatabaseConnection)
Returns: DatabaseManager
get_database_manager(db_conn: DatabaseConnection) → DatabaseManager
Get database manager dependency
Parameters:
db_conn(DatabaseConnection)
Returns: DatabaseManager
get_inventario_service(db_manager: DatabaseManager) → InventarioService
Get inventario service dependency
Parameters:
db_manager(DatabaseManager)
Returns: InventarioService
get_inventario_service(db_manager: DatabaseManager) → InventarioService
Get inventario service dependency
Parameters:
db_manager(DatabaseManager)
Returns: InventarioService
get_inventario_service(db_manager: DatabaseManager) → InventarioService
Get inventario service dependency
Parameters:
db_manager(DatabaseManager)
Returns: InventarioService
get_site_service(db_manager: DatabaseManager) → SiteService
Get site service dependency
Parameters:
db_manager(DatabaseManager)
Returns: SiteService
get_site_service(db_manager: DatabaseManager) → SiteService
Get site service dependency
Parameters:
db_manager(DatabaseManager)
Returns: SiteService
get_site_service(db_manager: DatabaseManager) → SiteService
Get site service dependency
Parameters:
db_manager(DatabaseManager)
Returns: SiteService
get_us_service(db_manager: DatabaseManager) → USService
Get US service dependency
Parameters:
db_manager(DatabaseManager)
Returns: USService
get_us_service(db_manager: DatabaseManager) → USService
Get US service dependency
Parameters:
db_manager(DatabaseManager)
Returns: USService
get_us_service(db_manager: DatabaseManager) → USService
Get US service dependency
Parameters:
db_manager(DatabaseManager)
Returns: USService
init_database(database_url: str)
Initialize global database connection
Parameters:
database_url(str)
init_database(database_url: str)
Initialize global database connection
Parameters:
database_url(str)
init_database(database_url: str)
Initialize global database connection
Parameters:
database_url(str)
\newpage
Module: pyarchinit_mini/api/inventario.py
File Path: pyarchinit_mini/api/inventario.py
Functions
create_inventario_item(item_data: InventarioCreate, inventario_service: InventarioService)
Create a new inventory item
Parameters:
item_data(InventarioCreate)inventario_service(InventarioService)
Modifiers: async
Decorators: router.post
create_inventario_item(item_data: InventarioCreate, inventario_service: InventarioService)
Create a new inventory item
Parameters:
item_data(InventarioCreate)inventario_service(InventarioService)
Modifiers: async
Decorators: router.post
create_inventario_item(item_data: InventarioCreate, inventario_service: InventarioService)
Create a new inventory item
Parameters:
item_data(InventarioCreate)inventario_service(InventarioService)
Modifiers: async
Decorators: router.post
delete_inventario_item(item_id: int, inventario_service: InventarioService)
Delete an inventory item
Parameters:
item_id(int)inventario_service(InventarioService)
Modifiers: async
Decorators: router.delete
delete_inventario_item(item_id: int, inventario_service: InventarioService)
Delete an inventory item
Parameters:
item_id(int)inventario_service(InventarioService)
Modifiers: async
Decorators: router.delete
delete_inventario_item(item_id: int, inventario_service: InventarioService)
Delete an inventory item
Parameters:
item_id(int)inventario_service(InventarioService)
Modifiers: async
Decorators: router.delete
get_inventario_item(item_id: int, inventario_service: InventarioService)
Get inventory item by ID
Parameters:
item_id(int)inventario_service(InventarioService)
Modifiers: async
Decorators: router.get
get_inventario_item(item_id: int, inventario_service: InventarioService)
Get inventory item by ID
Parameters:
item_id(int)inventario_service(InventarioService)
Modifiers: async
Decorators: router.get
get_inventario_item(item_id: int, inventario_service: InventarioService)
Get inventory item by ID
Parameters:
item_id(int)inventario_service(InventarioService)
Modifiers: async
Decorators: router.get
get_inventario_list(page: int, size: int, sito: Optional[str], tipo_reperto: Optional[str], inventario_service: InventarioService)
Get paginated list of inventory items
Parameters:
page(int)size(int)sito(Optional[str])tipo_reperto(Optional[str])inventario_service(InventarioService)
Modifiers: async
Decorators: router.get
get_inventario_list(page: int, size: int, sito: Optional[str], tipo_reperto: Optional[str], inventario_service: InventarioService)
Get paginated list of inventory items
Parameters:
page(int)size(int)sito(Optional[str])tipo_reperto(Optional[str])inventario_service(InventarioService)
Modifiers: async
Decorators: router.get
get_inventario_list(page: int, size: int, sito: Optional[str], tipo_reperto: Optional[str], inventario_service: InventarioService)
Get paginated list of inventory items
Parameters:
page(int)size(int)sito(Optional[str])tipo_reperto(Optional[str])inventario_service(InventarioService)
Modifiers: async
Decorators: router.get
update_inventario_item(item_id: int, item_data: InventarioUpdate, inventario_service: InventarioService)
Update an existing inventory item
Parameters:
item_id(int)item_data(InventarioUpdate)inventario_service(InventarioService)
Modifiers: async
Decorators: router.put
update_inventario_item(item_id: int, item_data: InventarioUpdate, inventario_service: InventarioService)
Update an existing inventory item
Parameters:
item_id(int)item_data(InventarioUpdate)inventario_service(InventarioService)
Modifiers: async
Decorators: router.put
update_inventario_item(item_id: int, item_data: InventarioUpdate, inventario_service: InventarioService)
Update an existing inventory item
Parameters:
item_id(int)item_data(InventarioUpdate)inventario_service(InventarioService)
Modifiers: async
Decorators: router.put
\newpage
Module: pyarchinit_mini/api/schemas.py
File Path: pyarchinit_mini/api/schemas.py
Classes
BaseSchema
Base schema with common fields
Inherits from: BaseModel
BaseSchema
Base schema with common fields
Inherits from: BaseModel
BaseSchema
Base schema with common fields
Inherits from: BaseModel
Config
The Config class defines configuration options for a Pydantic model, enabling features such as attribute-based data population by setting from_attributes = True. This allows instances of the model to be created directly from objects with matching attribute names, improving flexibility in data parsing and serialization workflows.
Config
The Config class defines the pagination parameters for a dataset, including the current page number (page), the number of items per page (size), and the total number of pages (pages). It leverages attribute-based serialization to facilitate data exchange and validation. This class is typically used to standardize and manage paginated API responses.
Config
The Config class is an internal configuration class used to customize the behavior of the parent Pydantic model. By setting from_attributes = True, it allows model instances to be created from objects with matching attribute names, not just from dictionaries. This enhances flexibility when initializing models from various data sources.
Config
The Config class defines the structure for pagination configuration, specifying the current page, page size, and total number of pages. Each field includes descriptive metadata to support clear API documentation and validation. The inner Config class enables initialization of instances from attribute-based data sources.
Config
The Config class is a configuration class used within a Pydantic schema to specify model behaviors and options. In this context, it enables the from_attributes setting, allowing the schema to be populated from object attributes rather than just dictionaries. This facilitates seamless integration with ORM models and other objects when creating or updating schema instances.
Config
The Config class defines the pagination configuration for data queries, specifying the current page, the number of items per page, and the total number of pages available. It is designed to facilitate structured and consistent handling of paginated responses. The class is configured to support initialization from attribute-based data sources.
InventarioBase
Base inventory schema
Inherits from: BaseModel
Methods:
validate_yes_no_fields(cls, v)
The validate_yes_no_fields method is a data validator that ensures the values provided for the fields ‘lavato’, ‘repertato’, and ‘diagnostico’ are either ‘SI’, ‘NO’, ‘S’, or ‘N’ (case-insensitive). If a value is provided and does not match one of these accepted responses, a ValueError is raised. This helps enforce data integrity for fields intended to capture binary yes/no information.
Parameters:
clsv
Decorators: validator
InventarioBase
Base inventory schema
Inherits from: BaseModel
Methods:
validate_yes_no_fields(cls, v)
The validate_yes_no_fields method is a Pydantic validator that ensures the values assigned to the ‘lavato’, ‘repertato’, and ‘diagnostico’ fields are either ‘SI’, ‘NO’, ‘S’, or ‘N’ (case-insensitive). If a value outside of these accepted responses is provided, a ValueError is raised. This validation enforces standardized yes/no input for these fields.
Parameters:
clsv
Decorators: validator
InventarioBase
Base inventory schema
Inherits from: BaseModel
Methods:
validate_yes_no_fields(cls, v)
The validate_yes_no_fields method is a Pydantic validator that ensures the values of the fields lavato, repertato, and diagnostico are either ‘SI’, ‘NO’, ‘S’, or ‘N’ (case-insensitive). If a value outside these accepted options is provided, it raises a ValueError. This validation enforces standardized yes/no responses for these fields.
Parameters:
clsv
Decorators: validator
InventarioCreate
Schema for creating inventory item
Inherits from: InventarioBase
InventarioCreate
Schema for creating inventory item
Inherits from: InventarioBase
InventarioCreate
Schema for creating inventory item
Inherits from: InventarioBase
InventarioResponse
Schema for inventory response
Inherits from: InventarioBase, BaseSchema
InventarioResponse
Schema for inventory response
Inherits from: InventarioBase, BaseSchema
InventarioResponse
Schema for inventory response
Inherits from: InventarioBase, BaseSchema
InventarioUpdate
Schema for updating inventory item
Inherits from: BaseModel
InventarioUpdate
Schema for updating inventory item
Inherits from: BaseModel
InventarioUpdate
Schema for updating inventory item
Inherits from: BaseModel
PaginatedResponse
Paginated response wrapper
Inherits from: BaseModel
PaginatedResponse
Paginated response wrapper
Inherits from: BaseModel
PaginatedResponse
Paginated response wrapper
Inherits from: BaseModel
PaginationParams
Pagination parameters
Inherits from: BaseModel
PaginationParams
Pagination parameters
Inherits from: BaseModel
PaginationParams
Pagination parameters
Inherits from: BaseModel
SiteBase
Base site schema
Inherits from: BaseModel
SiteBase
Base site schema
Inherits from: BaseModel
SiteBase
Base site schema
Inherits from: BaseModel
SiteCreate
Schema for creating a site
Inherits from: SiteBase
SiteCreate
Schema for creating a site
Inherits from: SiteBase
SiteCreate
Schema for creating a site
Inherits from: SiteBase
SiteResponse
Schema for site response
Inherits from: SiteBase, BaseSchema
SiteResponse
Schema for site response
Inherits from: SiteBase, BaseSchema
SiteResponse
Schema for site response
Inherits from: SiteBase, BaseSchema
SiteUpdate
Schema for updating a site
Inherits from: BaseModel
SiteUpdate
Schema for updating a site
Inherits from: BaseModel
SiteUpdate
Schema for updating a site
Inherits from: BaseModel
USBase
Base US schema
Inherits from: BaseModel
USBase
Base US schema
Inherits from: BaseModel
USBase
Base US schema
Inherits from: BaseModel
USCreate
Schema for creating a US
Inherits from: USBase
USCreate
Schema for creating a US
Inherits from: USBase
USCreate
Schema for creating a US
Inherits from: USBase
USResponse
Schema for US response
Inherits from: USBase, BaseSchema
USResponse
Schema for US response
Inherits from: USBase, BaseSchema
USResponse
Schema for US response
Inherits from: USBase, BaseSchema
USUpdate
Schema for updating a US
Inherits from: BaseModel
USUpdate
Schema for updating a US
Inherits from: BaseModel
USUpdate
Schema for updating a US
Inherits from: BaseModel
\newpage
Module: pyarchinit_mini/api/site.py
File Path: pyarchinit_mini/api/site.py
Functions
create_site(site_data: SiteCreate, site_service: SiteService)
Create a new site
Parameters:
site_data(SiteCreate)site_service(SiteService)
Modifiers: async
Decorators: router.post
create_site(site_data: SiteCreate, site_service: SiteService)
Create a new site
Parameters:
site_data(SiteCreate)site_service(SiteService)
Modifiers: async
Decorators: router.post
create_site(site_data: SiteCreate, site_service: SiteService)
Create a new site
Parameters:
site_data(SiteCreate)site_service(SiteService)
Modifiers: async
Decorators: router.post
delete_site(site_id: int, site_service: SiteService)
Delete a site
Parameters:
site_id(int)site_service(SiteService)
Modifiers: async
Decorators: router.delete
delete_site(site_id: int, site_service: SiteService)
Delete a site
Parameters:
site_id(int)site_service(SiteService)
Modifiers: async
Decorators: router.delete
delete_site(site_id: int, site_service: SiteService)
Delete a site
Parameters:
site_id(int)site_service(SiteService)
Modifiers: async
Decorators: router.delete
get_countries(site_service: SiteService)
Get list of unique countries from sites
Parameters:
site_service(SiteService)
Modifiers: async
Decorators: router.get
get_countries(site_service: SiteService)
Get list of unique countries from sites
Parameters:
site_service(SiteService)
Modifiers: async
Decorators: router.get
get_countries(site_service: SiteService)
Get list of unique countries from sites
Parameters:
site_service(SiteService)
Modifiers: async
Decorators: router.get
get_municipalities(nazione: Optional[str], regione: Optional[str], site_service: SiteService)
Get list of unique municipalities, optionally filtered by country and region
Parameters:
nazione(Optional[str])regione(Optional[str])site_service(SiteService)
Modifiers: async
Decorators: router.get
get_municipalities(nazione: Optional[str], regione: Optional[str], site_service: SiteService)
Get list of unique municipalities, optionally filtered by country and region
Parameters:
nazione(Optional[str])regione(Optional[str])site_service(SiteService)
Modifiers: async
Decorators: router.get
get_municipalities(nazione: Optional[str], regione: Optional[str], site_service: SiteService)
Get list of unique municipalities, optionally filtered by country and region
Parameters:
nazione(Optional[str])regione(Optional[str])site_service(SiteService)
Modifiers: async
Decorators: router.get
get_regions(nazione: Optional[str], site_service: SiteService)
Get list of unique regions, optionally filtered by country
Parameters:
nazione(Optional[str])site_service(SiteService)
Modifiers: async
Decorators: router.get
get_regions(nazione: Optional[str], site_service: SiteService)
Get list of unique regions, optionally filtered by country
Parameters:
nazione(Optional[str])site_service(SiteService)
Modifiers: async
Decorators: router.get
get_regions(nazione: Optional[str], site_service: SiteService)
Get list of unique regions, optionally filtered by country
Parameters:
nazione(Optional[str])site_service(SiteService)
Modifiers: async
Decorators: router.get
get_site(site_id: int, site_service: SiteService)
Get site by ID
Parameters:
site_id(int)site_service(SiteService)
Modifiers: async
Decorators: router.get
get_site(site_id: int, site_service: SiteService)
Get site by ID
Parameters:
site_id(int)site_service(SiteService)
Modifiers: async
Decorators: router.get
get_site(site_id: int, site_service: SiteService)
Get site by ID
Parameters:
site_id(int)site_service(SiteService)
Modifiers: async
Decorators: router.get
get_site_by_name(site_name: str, site_service: SiteService)
Get site by name
Parameters:
site_name(str)site_service(SiteService)
Modifiers: async
Decorators: router.get
get_site_by_name(site_name: str, site_service: SiteService)
Get site by name
Parameters:
site_name(str)site_service(SiteService)
Modifiers: async
Decorators: router.get
get_site_by_name(site_name: str, site_service: SiteService)
Get site by name
Parameters:
site_name(str)site_service(SiteService)
Modifiers: async
Decorators: router.get
get_site_stats(site_id: int, site_service: SiteService)
Get statistics for a site (US count, inventory count, etc.)
Parameters:
site_id(int)site_service(SiteService)
Modifiers: async
Decorators: router.get
get_site_stats(site_id: int, site_service: SiteService)
Get statistics for a site (US count, inventory count, etc.)
Parameters:
site_id(int)site_service(SiteService)
Modifiers: async
Decorators: router.get
get_site_stats(site_id: int, site_service: SiteService)
Get statistics for a site (US count, inventory count, etc.)
Parameters:
site_id(int)site_service(SiteService)
Modifiers: async
Decorators: router.get
get_sites(page: int, size: int, search: Optional[str], nazione: Optional[str], regione: Optional[str], comune: Optional[str], site_service: SiteService)
Get paginated list of sites with optional filtering and search
Parameters:
page(int)size(int)search(Optional[str])nazione(Optional[str])regione(Optional[str])comune(Optional[str])site_service(SiteService)
Modifiers: async
Decorators: router.get
get_sites(page: int, size: int, search: Optional[str], nazione: Optional[str], regione: Optional[str], comune: Optional[str], site_service: SiteService)
Get paginated list of sites with optional filtering and search
Parameters:
page(int)size(int)search(Optional[str])nazione(Optional[str])regione(Optional[str])comune(Optional[str])site_service(SiteService)
Modifiers: async
Decorators: router.get
get_sites(page: int, size: int, search: Optional[str], nazione: Optional[str], regione: Optional[str], comune: Optional[str], site_service: SiteService)
Get paginated list of sites with optional filtering and search
Parameters:
page(int)size(int)search(Optional[str])nazione(Optional[str])regione(Optional[str])comune(Optional[str])site_service(SiteService)
Modifiers: async
Decorators: router.get
update_site(site_id: int, site_data: SiteUpdate, site_service: SiteService)
Update an existing site
Parameters:
site_id(int)site_data(SiteUpdate)site_service(SiteService)
Modifiers: async
Decorators: router.put
update_site(site_id: int, site_data: SiteUpdate, site_service: SiteService)
Update an existing site
Parameters:
site_id(int)site_data(SiteUpdate)site_service(SiteService)
Modifiers: async
Decorators: router.put
update_site(site_id: int, site_data: SiteUpdate, site_service: SiteService)
Update an existing site
Parameters:
site_id(int)site_data(SiteUpdate)site_service(SiteService)
Modifiers: async
Decorators: router.put
\newpage
Module: pyarchinit_mini/api/us.py
File Path: pyarchinit_mini/api/us.py
Functions
create_us(us_data: USCreate, us_service: USService)
Create a new stratigraphic unit
Parameters:
us_data(USCreate)us_service(USService)
Modifiers: async
Decorators: router.post
create_us(us_data: USCreate, us_service: USService)
Create a new stratigraphic unit
Parameters:
us_data(USCreate)us_service(USService)
Modifiers: async
Decorators: router.post
create_us(us_data: USCreate, us_service: USService)
Create a new stratigraphic unit
Parameters:
us_data(USCreate)us_service(USService)
Modifiers: async
Decorators: router.post
delete_us(us_id: int, us_service: USService)
Delete a stratigraphic unit
Parameters:
us_id(int)us_service(USService)
Modifiers: async
Decorators: router.delete
delete_us(us_id: int, us_service: USService)
Delete a stratigraphic unit
Parameters:
us_id(int)us_service(USService)
Modifiers: async
Decorators: router.delete
delete_us(us_id: int, us_service: USService)
Delete a stratigraphic unit
Parameters:
us_id(int)us_service(USService)
Modifiers: async
Decorators: router.delete
get_us(us_id: int, us_service: USService)
Get US by ID
Parameters:
us_id(int)us_service(USService)
Modifiers: async
Decorators: router.get
get_us(us_id: int, us_service: USService)
Get US by ID
Parameters:
us_id(int)us_service(USService)
Modifiers: async
Decorators: router.get
get_us(us_id: int, us_service: USService)
Get US by ID
Parameters:
us_id(int)us_service(USService)
Modifiers: async
Decorators: router.get
get_us_list(page: int, size: int, sito: Optional[str], area: Optional[str], us_service: USService)
Get paginated list of stratigraphic units
Parameters:
page(int)size(int)sito(Optional[str])area(Optional[str])us_service(USService)
Modifiers: async
Decorators: router.get
get_us_list(page: int, size: int, sito: Optional[str], area: Optional[str], us_service: USService)
Get paginated list of stratigraphic units
Parameters:
page(int)size(int)sito(Optional[str])area(Optional[str])us_service(USService)
Modifiers: async
Decorators: router.get
get_us_list(page: int, size: int, sito: Optional[str], area: Optional[str], us_service: USService)
Get paginated list of stratigraphic units
Parameters:
page(int)size(int)sito(Optional[str])area(Optional[str])us_service(USService)
Modifiers: async
Decorators: router.get
update_us(us_id: int, us_data: USUpdate, us_service: USService)
Update an existing stratigraphic unit
Parameters:
us_id(int)us_data(USUpdate)us_service(USService)
Modifiers: async
Decorators: router.put
update_us(us_id: int, us_data: USUpdate, us_service: USService)
Update an existing stratigraphic unit
Parameters:
us_id(int)us_data(USUpdate)us_service(USService)
Modifiers: async
Decorators: router.put
update_us(us_id: int, us_data: USUpdate, us_service: USService)
Update an existing stratigraphic unit
Parameters:
us_id(int)us_data(USUpdate)us_service(USService)
Modifiers: async
Decorators: router.put
\newpage
Module: pyarchinit_mini/database/__init__.py
File Path: pyarchinit_mini/database/__init__.py
\newpage
Module: pyarchinit_mini/database/connection.py
File Path: pyarchinit_mini/database/connection.py
Classes
DatabaseConnection
Manages database connections for both PostgreSQL and SQLite
Methods:
__init__(self, connection_string: str)
Initializes a new instance of the database connection manager with the provided connection string. This method stores the connection string and prepares the necessary attributes for establishing database connections. Upon initialization, it also triggers the setup of the database engine and session factory.
Parameters:
selfconnection_string(str)
close(self)
Close database connection
Parameters:
self
create_tables(self)
Create all tables from models
Parameters:
self
from_url(cls, database_url: str) → DatabaseConnection
Create connection from database URL
Parameters:
clsdatabase_url(str)
Returns: DatabaseConnection
Decorators: classmethod
get_session(self) → Session
Context manager for database sessions Ensures proper session cleanup
Parameters:
self
Returns: Session
Decorators: contextmanager
postgresql(cls, host: str, port: int, database: str, username: str, password: str) → DatabaseConnection
Create PostgreSQL connection
Parameters:
clshost(str)port(int)database(str)username(str)password(str)
Returns: DatabaseConnection
Decorators: classmethod
sqlite(cls, db_path: str) → DatabaseConnection
Create SQLite connection
Parameters:
clsdb_path(str)
Returns: DatabaseConnection
Decorators: classmethod
test_connection(self) → bool
Test database connection
Parameters:
self
Returns: bool
DatabaseConnection
Manages database connections for both PostgreSQL and SQLite
Methods:
__init__(self, connection_string: str)
Initializes a new instance of the database connection manager with the provided connection string. This method sets up the necessary attributes and triggers the configuration of the database engine and session factory to enable interactions with either PostgreSQL or SQLite databases.
Parameters:
selfconnection_string(str)
close(self)
Close database connection
Parameters:
self
create_tables(self)
Create all tables from models
Parameters:
self
from_url(cls, database_url: str) → DatabaseConnection
Create connection from database URL
Parameters:
clsdatabase_url(str)
Returns: DatabaseConnection
Decorators: classmethod
get_session(self) → Session
Context manager for database sessions Ensures proper session cleanup
Parameters:
self
Returns: Session
Decorators: contextmanager
initialize_database(self)
Initialize database and create tables with migrations
Parameters:
self
postgresql(cls, host: str, port: int, database: str, username: str, password: str) → DatabaseConnection
Create PostgreSQL connection
Parameters:
clshost(str)port(int)database(str)username(str)password(str)
Returns: DatabaseConnection
Decorators: classmethod
sqlite(cls, db_path: str) → DatabaseConnection
Create SQLite connection
Parameters:
clsdb_path(str)
Returns: DatabaseConnection
Decorators: classmethod
test_connection(self) → bool
Test database connection
Parameters:
self
Returns: bool
DatabaseConnection
Manages database connections for both PostgreSQL and SQLite
Methods:
__init__(self, connection_string: str)
Initializes a new instance of the database connection manager with the specified connection string. This method sets up the required attributes and triggers the initialization of the database engine and session factory. It supports connections to both PostgreSQL and SQLite databases.
Parameters:
selfconnection_string(str)
close(self)
Close database connection
Parameters:
self
create_tables(self)
Create all tables from models
Parameters:
self
from_url(cls, database_url: str) → DatabaseConnection
Create connection from database URL
Parameters:
clsdatabase_url(str)
Returns: DatabaseConnection
Decorators: classmethod
get_session(self) → Session
Context manager for database sessions Ensures proper session cleanup
Parameters:
self
Returns: Session
Decorators: contextmanager
initialize_database(self)
Initialize database and create tables with migrations
Parameters:
self
postgresql(cls, host: str, port: int, database: str, username: str, password: str) → DatabaseConnection
Create PostgreSQL connection
Parameters:
clshost(str)port(int)database(str)username(str)password(str)
Returns: DatabaseConnection
Decorators: classmethod
sqlite(cls, db_path: str) → DatabaseConnection
Create SQLite connection
Parameters:
clsdb_path(str)
Returns: DatabaseConnection
Decorators: classmethod
test_connection(self) → bool
Test database connection
Parameters:
self
Returns: bool
Functions
set_sqlite_pragma(dbapi_connection, connection_record)
The set_sqlite_pragma function is an event listener for SQLAlchemy that executes the SQLite PRAGMA foreign_keys=ON statement whenever a new database connection is established. This ensures that foreign key constraints are enforced in all SQLite connections managed by the SQLAlchemy engine. It is particularly important because, by default, SQLite does not enforce foreign key constraints unless explicitly enabled.
Parameters:
dbapi_connectionconnection_record
Decorators: event.listens_for
set_sqlite_pragma(dbapi_connection, connection_record)
The set_sqlite_pragma function is an event listener that executes whenever a new SQLite database connection is established through SQLAlchemy. It enables foreign key constraint enforcement by executing the SQL statement PRAGMA foreign_keys=ON on the newly connected database. This ensures that SQLite complies with foreign key relationships defined in the schema.
Parameters:
dbapi_connectionconnection_record
Decorators: event.listens_for
\newpage
Module: pyarchinit_mini/database/manager.py
File Path: pyarchinit_mini/database/manager.py
Classes
DatabaseManager
High-level database manager providing CRUD operations and query functionality for PyArchInit-Mini models
Methods:
__init__(self, connection: DatabaseConnection)
Initializes a new instance of the DatabaseManager class.
This method sets up the database manager by assigning the provided DatabaseConnection object to the instance, enabling subsequent database operations.
Parameters:
selfconnection(DatabaseConnection)
begin_transaction(self) → Session
Begin a manual transaction
Parameters:
self
Returns: Session
bulk_create(self, model_class: Type[T], data_list: List[Dict[str, Any]]) → List[T]
Create multiple records in a single transaction
Parameters:
selfmodel_class(Type[T])data_list(List[Dict[str, Any]])
Returns: List[T]
commit_transaction(self, session: Session)
Commit transaction
Parameters:
selfsession(Session)
count(self, model_class: Type[T], filters: Optional[Dict[str, Any]]) → int
Count records with optional filters
Parameters:
selfmodel_class(Type[T])filters(Optional[Dict[str, Any]])
Returns: int
create(self, model_class: Type[T], data: Dict[str, Any]) → T
Create a new record
Parameters:
selfmodel_class(Type[T])data(Dict[str, Any])
Returns: T
delete(self, model_class: Type[T], record_id: int) → bool
Delete record by ID
Parameters:
selfmodel_class(Type[T])record_id(int)
Returns: bool
execute_raw_query(self, query: str, params: Optional[Dict])
Execute raw SQL query
Parameters:
selfquery(str)params(Optional[Dict])
get_all(self, model_class: Type[T], offset: int, limit: int, order_by: Optional[str], filters: Optional[Dict[str, Any]]) → List[T]
Get all records with optional filtering and pagination
Parameters:
selfmodel_class(Type[T])offset(int)limit(int)order_by(Optional[str])filters(Optional[Dict[str, Any]])
Returns: List[T]
get_by_field(self, model_class: Type[T], field_name: str, value: Any) → Optional[T]
Get record by specific field
Parameters:
selfmodel_class(Type[T])field_name(str)value(Any)
Returns: Optional[T]
get_by_id(self, model_class: Type[T], record_id: int) → Optional[T]
Get record by primary key
Parameters:
selfmodel_class(Type[T])record_id(int)
Returns: Optional[T]
get_table_info(self, model_class: Type[T]) → Dict[str, Any]
Get table metadata information
Parameters:
selfmodel_class(Type[T])
Returns: Dict[str, Any]
rollback_transaction(self, session: Session)
Rollback transaction
Parameters:
selfsession(Session)
search(self, model_class: Type[T], search_term: str, search_fields: List[str]) → List[T]
Search records across multiple fields
Parameters:
selfmodel_class(Type[T])search_term(str)search_fields(List[str])
Returns: List[T]
update(self, model_class: Type[T], record_id: int, data: Dict[str, Any]) → T
Update existing record
Parameters:
selfmodel_class(Type[T])record_id(int)data(Dict[str, Any])
Returns: T
DatabaseManager
High-level database manager providing CRUD operations and query functionality for PyArchInit-Mini models
Methods:
__init__(self, connection: DatabaseConnection)
Initializes the database manager by establishing a connection to the database and setting up the migration handler. This method ensures that the manager is ready to perform CRUD operations and manage schema migrations for PyArchInit-Mini models.
Parameters:
selfconnection(DatabaseConnection)
begin_transaction(self) → Session
Begin a manual transaction
Parameters:
self
Returns: Session
bulk_create(self, model_class: Type[T], data_list: List[Dict[str, Any]]) → List[T]
Create multiple records in a single transaction
Parameters:
selfmodel_class(Type[T])data_list(List[Dict[str, Any]])
Returns: List[T]
commit_transaction(self, session: Session)
Commit transaction
Parameters:
selfsession(Session)
count(self, model_class: Type[T], filters: Optional[Dict[str, Any]]) → int
Count records with optional filters
Parameters:
selfmodel_class(Type[T])filters(Optional[Dict[str, Any]])
Returns: int
create(self, model_class: Type[T], data: Dict[str, Any]) → T
Create a new record
Parameters:
selfmodel_class(Type[T])data(Dict[str, Any])
Returns: T
delete(self, model_class: Type[T], record_id: int) → bool
Delete record by ID
Parameters:
selfmodel_class(Type[T])record_id(int)
Returns: bool
execute_raw_query(self, query: str, params: Optional[Dict])
Execute raw SQL query
Parameters:
selfquery(str)params(Optional[Dict])
get_all(self, model_class: Type[T], offset: int, limit: int, order_by: Optional[str], filters: Optional[Dict[str, Any]]) → List[T]
Get all records with optional filtering and pagination
Parameters:
selfmodel_class(Type[T])offset(int)limit(int)order_by(Optional[str])filters(Optional[Dict[str, Any]])
Returns: List[T]
get_by_field(self, model_class: Type[T], field_name: str, value: Any) → Optional[T]
Get record by specific field
Parameters:
selfmodel_class(Type[T])field_name(str)value(Any)
Returns: Optional[T]
get_by_id(self, model_class: Type[T], record_id: int) → Optional[T]
Get record by primary key
Parameters:
selfmodel_class(Type[T])record_id(int)
Returns: Optional[T]
get_table_info(self, model_class: Type[T]) → Dict[str, Any]
Get table metadata information
Parameters:
selfmodel_class(Type[T])
Returns: Dict[str, Any]
rollback_transaction(self, session: Session)
Rollback transaction
Parameters:
selfsession(Session)
run_migrations(self)
Run all necessary database migrations
Parameters:
self
search(self, model_class: Type[T], search_term: str, search_fields: List[str]) → List[T]
Search records across multiple fields
Parameters:
selfmodel_class(Type[T])search_term(str)search_fields(List[str])
Returns: List[T]
update(self, model_class: Type[T], record_id: int, data: Dict[str, Any]) → T
Update existing record
Parameters:
selfmodel_class(Type[T])record_id(int)data(Dict[str, Any])
Returns: T
DatabaseManager
High-level database manager providing CRUD operations and query functionality for PyArchInit-Mini models
Methods:
__init__(self, connection: DatabaseConnection)
Initializes the database manager by establishing a connection to the database using the provided DatabaseConnection object. It also sets up the migration handler to manage database schema updates. This ensures the manager is ready to perform CRUD operations and handle migrations for PyArchInit-Mini models.
Parameters:
selfconnection(DatabaseConnection)
begin_transaction(self) → Session
Begin a manual transaction
Parameters:
self
Returns: Session
bulk_create(self, model_class: Type[T], data_list: List[Dict[str, Any]]) → List[T]
Create multiple records in a single transaction
Parameters:
selfmodel_class(Type[T])data_list(List[Dict[str, Any]])
Returns: List[T]
commit_transaction(self, session: Session)
Commit transaction
Parameters:
selfsession(Session)
count(self, model_class: Type[T], filters: Optional[Dict[str, Any]]) → int
Count records with optional filters
Parameters:
selfmodel_class(Type[T])filters(Optional[Dict[str, Any]])
Returns: int
create(self, model_class: Type[T], data: Dict[str, Any]) → T
Create a new record
Parameters:
selfmodel_class(Type[T])data(Dict[str, Any])
Returns: T
delete(self, model_class: Type[T], record_id: int) → bool
Delete record by ID
Parameters:
selfmodel_class(Type[T])record_id(int)
Returns: bool
execute_raw_query(self, query: str, params: Optional[Dict])
Execute raw SQL query
Parameters:
selfquery(str)params(Optional[Dict])
get_all(self, model_class: Type[T], offset: int, limit: int, order_by: Optional[str], filters: Optional[Dict[str, Any]]) → List[T]
Get all records with optional filtering and pagination
Parameters:
selfmodel_class(Type[T])offset(int)limit(int)order_by(Optional[str])filters(Optional[Dict[str, Any]])
Returns: List[T]
get_by_field(self, model_class: Type[T], field_name: str, value: Any) → Optional[T]
Get record by specific field
Parameters:
selfmodel_class(Type[T])field_name(str)value(Any)
Returns: Optional[T]
get_by_id(self, model_class: Type[T], record_id: int) → Optional[T]
Get record by primary key
Parameters:
selfmodel_class(Type[T])record_id(int)
Returns: Optional[T]
get_table_info(self, model_class: Type[T]) → Dict[str, Any]
Get table metadata information
Parameters:
selfmodel_class(Type[T])
Returns: Dict[str, Any]
rollback_transaction(self, session: Session)
Rollback transaction
Parameters:
selfsession(Session)
run_migrations(self)
Run all necessary database migrations
Parameters:
self
search(self, model_class: Type[T], search_term: str, search_fields: List[str]) → List[T]
Search records across multiple fields
Parameters:
selfmodel_class(Type[T])search_term(str)search_fields(List[str])
Returns: List[T]
update(self, model_class: Type[T], record_id: int, data: Dict[str, Any]) → T
Update existing record
Parameters:
selfmodel_class(Type[T])record_id(int)data(Dict[str, Any])
Returns: T
RecordNotFoundError
Record not found error
Inherits from: DatabaseError
RecordNotFoundError
Record not found error
Inherits from: DatabaseError
\newpage
Module: pyarchinit_mini/database/migrations.py
File Path: pyarchinit_mini/database/migrations.py
Classes
DatabaseMigrations
Handle database schema migrations
Methods:
__init__(self, db_manager)
Initializes a new instance of the migration handler by associating it with a given database manager. This method stores references to both the database manager and its active connection for use in migration operations.
Parameters:
selfdb_manager
add_column_if_not_exists(self, table_name: str, column_name: str, column_type: str, default_value: str)
Add a column to a table if it doesn’t exist
Parameters:
selftable_name(str)column_name(str)column_type(str)default_value(str)
check_column_exists(self, table_name: str, column_name: str) → bool
Check if a column exists in a table
Parameters:
selftable_name(str)column_name(str)
Returns: bool
check_migration_needed(self, table_name: str, required_columns: List[str]) → List[str]
Check which columns are missing from a table
Parameters:
selftable_name(str)required_columns(List[str])
Returns: List[str]
get_table_info(self, table_name: str) → Dict[str, Any]
Get information about a table structure
Parameters:
selftable_name(str)
Returns: Dict[str, Any]
migrate_all_tables(self)
Run all necessary migrations
Parameters:
self
migrate_inventario_materiali_table(self)
Migrate inventario_materiali_table to include all new fields
Parameters:
self
DatabaseMigrations
Handle database schema migrations
Methods:
__init__(self, db_manager)
Initializes a new instance of the migration handler by accepting a database manager object. This method sets up internal references to both the database manager and its associated database connection, enabling subsequent schema migration operations.
Parameters:
selfdb_manager
add_column_if_not_exists(self, table_name: str, column_name: str, column_type: str, default_value: str)
Add a column to a table if it doesn’t exist
Parameters:
selftable_name(str)column_name(str)column_type(str)default_value(str)
check_column_exists(self, table_name: str, column_name: str) → bool
Check if a column exists in a table
Parameters:
selftable_name(str)column_name(str)
Returns: bool
check_migration_needed(self, table_name: str, required_columns: List[str]) → List[str]
Check which columns are missing from a table
Parameters:
selftable_name(str)required_columns(List[str])
Returns: List[str]
get_table_info(self, table_name: str) → Dict[str, Any]
Get information about a table structure
Parameters:
selftable_name(str)
Returns: Dict[str, Any]
migrate_all_tables(self)
Run all necessary migrations
Parameters:
self
migrate_inventario_materiali_table(self)
Migrate inventario_materiali_table to include all new fields
Parameters:
self
\newpage
Module: pyarchinit_mini/database/postgres_installer.py
File Path: pyarchinit_mini/database/postgres_installer.py
Classes
PostgreSQLInstaller
Manages PostgreSQL installation on different platforms
Methods:
__init__(self)
Initializes a new instance of the PostgreSQL management class by detecting the current operating system and system architecture. It also sets default values for the PostgreSQL data directory, port, username, and password, which are used for managing PostgreSQL installations.
Parameters:
self
check_postgres_installed(self) → bool
Check if PostgreSQL is already installed and accessible
Parameters:
self
Returns: bool
create_pyarchinit_database(self, connection_params: Dict[str, str]) → Dict[str, Any]
Create PyArchInit database and user
Parameters:
selfconnection_params(Dict[str, str])
Returns: Dict[str, Any]
get_connection_info(self) → Dict[str, Any]
Get default connection information
Parameters:
self
Returns: Dict[str, Any]
get_postgres_version(self) → Optional[str]
Get installed PostgreSQL version
Parameters:
self
Returns: Optional[str]
install_postgres(self) → Dict[str, Any]
Install PostgreSQL based on the current platform
Parameters:
self
Returns: Dict[str, Any]
install_postgres_linux(self) → Dict[str, Any]
Install PostgreSQL on Linux
Parameters:
self
Returns: Dict[str, Any]
install_postgres_macos(self) → Dict[str, Any]
Install PostgreSQL on macOS using Homebrew
Parameters:
self
Returns: Dict[str, Any]
install_postgres_windows(self) → Dict[str, Any]
Install PostgreSQL on Windows
Parameters:
self
Returns: Dict[str, Any]
PostgreSQLInstaller
Manages PostgreSQL installation on different platforms
Methods:
__init__(self)
Initializes the PostgreSQL manager by detecting the current operating system and architecture, and setting default configuration parameters such as the data directory, port, user, and password. This method prepares the instance for subsequent PostgreSQL management operations across different platforms. It is called automatically when a new instance of the class is created.
Parameters:
self
check_postgres_installed(self) → bool
Check if PostgreSQL is already installed and accessible
Parameters:
self
Returns: bool
create_pyarchinit_database(self, connection_params: Dict[str, str]) → Dict[str, Any]
Create PyArchInit database and user
Parameters:
selfconnection_params(Dict[str, str])
Returns: Dict[str, Any]
get_connection_info(self) → Dict[str, Any]
Get default connection information
Parameters:
self
Returns: Dict[str, Any]
get_postgres_version(self) → Optional[str]
Get installed PostgreSQL version
Parameters:
self
Returns: Optional[str]
install_postgres(self) → Dict[str, Any]
Install PostgreSQL based on the current platform
Parameters:
self
Returns: Dict[str, Any]
install_postgres_linux(self) → Dict[str, Any]
Install PostgreSQL on Linux
Parameters:
self
Returns: Dict[str, Any]
install_postgres_macos(self) → Dict[str, Any]
Install PostgreSQL on macOS using Homebrew
Parameters:
self
Returns: Dict[str, Any]
install_postgres_windows(self) → Dict[str, Any]
Install PostgreSQL on Windows
Parameters:
self
Returns: Dict[str, Any]
PostgreSQLInstaller
Manages PostgreSQL installation on different platforms
Methods:
__init__(self)
Initializes the PostgreSQL manager by detecting the current operating system and machine architecture. It also sets default values for PostgreSQL data directory, port, user, and password. This method prepares the instance for further management of PostgreSQL installation and configuration.
Parameters:
self
check_postgres_installed(self) → bool
Check if PostgreSQL is already installed and accessible
Parameters:
self
Returns: bool
create_pyarchinit_database(self, connection_params: Dict[str, str]) → Dict[str, Any]
Create PyArchInit database and user
Parameters:
selfconnection_params(Dict[str, str])
Returns: Dict[str, Any]
get_connection_info(self) → Dict[str, Any]
Get default connection information
Parameters:
self
Returns: Dict[str, Any]
get_postgres_version(self) → Optional[str]
Get installed PostgreSQL version
Parameters:
self
Returns: Optional[str]
install_postgres(self) → Dict[str, Any]
Install PostgreSQL based on the current platform
Parameters:
self
Returns: Dict[str, Any]
install_postgres_linux(self) → Dict[str, Any]
Install PostgreSQL on Linux
Parameters:
self
Returns: Dict[str, Any]
install_postgres_macos(self) → Dict[str, Any]
Install PostgreSQL on macOS using Homebrew
Parameters:
self
Returns: Dict[str, Any]
install_postgres_windows(self) → Dict[str, Any]
Install PostgreSQL on Windows
Parameters:
self
Returns: Dict[str, Any]
\newpage
Module: pyarchinit_mini/database/schemas.py
File Path: pyarchinit_mini/database/schemas.py
Classes
DatabaseSchema
Utilities for database schema management and migrations
Methods:
__init__(self, connection: DatabaseConnection)
Initializes a new instance of the schema management utility by establishing a connection to the specified database. This method stores the provided DatabaseConnection object for use in subsequent schema operations.
Parameters:
selfconnection(DatabaseConnection)
backup_schema(self) → str
Generate SQL script to backup current schema structure
Parameters:
self
Returns: str
check_schema_compatibility(self) → Dict[str, Any]
Check if current database schema is compatible with models
Parameters:
self
Returns: Dict[str, Any]
check_table_exists(self, table_name: str) → bool
Check if a table exists in the database
Parameters:
selftable_name(str)
Returns: bool
create_all_tables(self)
Create all tables defined in models
Parameters:
self
create_indexes(self)
Create recommended indexes for performance
Parameters:
self
get_database_stats(self) → Dict[str, Any]
Get database statistics
Parameters:
self
Returns: Dict[str, Any]
get_table_columns(self, table_name: str) → List[Dict[str, Any]]
Get column information for a table
Parameters:
selftable_name(str)
Returns: List[Dict[str, Any]]
get_table_list(self) → List[str]
Get list of all tables in the database
Parameters:
self
Returns: List[str]
DatabaseSchema
Utilities for database schema management and migrations
Methods:
__init__(self, connection: DatabaseConnection)
Initializes a new instance of the class with the given database connection.
Stores the provided DatabaseConnection object for use in subsequent schema management and migration operations.
Parameters:
selfconnection(DatabaseConnection)
backup_schema(self) → str
Generate SQL script to backup current schema structure
Parameters:
self
Returns: str
check_schema_compatibility(self) → Dict[str, Any]
Check if current database schema is compatible with models
Parameters:
self
Returns: Dict[str, Any]
check_table_exists(self, table_name: str) → bool
Check if a table exists in the database
Parameters:
selftable_name(str)
Returns: bool
create_all_tables(self)
Create all tables defined in models
Parameters:
self
create_indexes(self)
Create recommended indexes for performance
Parameters:
self
get_database_stats(self) → Dict[str, Any]
Get database statistics
Parameters:
self
Returns: Dict[str, Any]
get_table_columns(self, table_name: str) → List[Dict[str, Any]]
Get column information for a table
Parameters:
selftable_name(str)
Returns: List[Dict[str, Any]]
get_table_list(self) → List[str]
Get list of all tables in the database
Parameters:
self
Returns: List[str]
DatabaseSchema
Utilities for database schema management and migrations
Methods:
__init__(self, connection: DatabaseConnection)
Initializes a new instance of the class with the provided database connection.
This method assigns the given DatabaseConnection object to the instance for use in schema management and migration operations.
Parameters:
selfconnection(DatabaseConnection)
backup_schema(self) → str
Generate SQL script to backup current schema structure
Parameters:
self
Returns: str
check_schema_compatibility(self) → Dict[str, Any]
Check if current database schema is compatible with models
Parameters:
self
Returns: Dict[str, Any]
check_table_exists(self, table_name: str) → bool
Check if a table exists in the database
Parameters:
selftable_name(str)
Returns: bool
create_all_tables(self)
Create all tables defined in models
Parameters:
self
create_indexes(self)
Create recommended indexes for performance
Parameters:
self
get_database_stats(self) → Dict[str, Any]
Get database statistics
Parameters:
self
Returns: Dict[str, Any]
get_table_columns(self, table_name: str) → List[Dict[str, Any]]
Get column information for a table
Parameters:
selftable_name(str)
Returns: List[Dict[str, Any]]
get_table_list(self) → List[str]
Get list of all tables in the database
Parameters:
self
Returns: List[str]
\newpage
Module: pyarchinit_mini/dto/__init__.py
File Path: pyarchinit_mini/dto/__init__.py
\newpage
Module: pyarchinit_mini/dto/inventario_dto.py
File Path: pyarchinit_mini/dto/inventario_dto.py
Classes
InventarioDTO
Data Transfer Object for Inventario (Material Inventory) data This class holds inventory data without SQLAlchemy session dependencies
Decorators: dataclass
Methods:
display_name(self) → str
Get display name for the inventory item
Parameters:
self
Returns: str
Decorators: property
from_model(cls, inventario_model) → InventarioDTO
Create DTO from SQLAlchemy model instance
Parameters:
clsinventario_model
Returns: InventarioDTO
Decorators: classmethod
to_dict(self) → dict
Convert DTO to dictionary
Parameters:
self
Returns: dict
InventarioDTO
Data Transfer Object for Inventario (Material Inventory) data This class holds inventory data without SQLAlchemy session dependencies
Decorators: dataclass
Methods:
display_name(self) → str
Get display name for the inventory item
Parameters:
self
Returns: str
Decorators: property
from_model(cls, inventario_model) → InventarioDTO
Create DTO from SQLAlchemy model instance
Parameters:
clsinventario_model
Returns: InventarioDTO
Decorators: classmethod
to_dict(self) → dict
Convert DTO to dictionary
Parameters:
self
Returns: dict
InventarioDTO
Data Transfer Object for Inventario (Material Inventory) data This class holds inventory data without SQLAlchemy session dependencies
Decorators: dataclass
Methods:
display_name(self) → str
Get display name for the inventory item
Parameters:
self
Returns: str
Decorators: property
from_model(cls, inventario_model) → InventarioDTO
Create DTO from SQLAlchemy model instance
Parameters:
clsinventario_model
Returns: InventarioDTO
Decorators: classmethod
to_dict(self) → dict
Convert DTO to dictionary
Parameters:
self
Returns: dict
\newpage
Module: pyarchinit_mini/dto/site_dto.py
File Path: pyarchinit_mini/dto/site_dto.py
Classes
SiteDTO
Data Transfer Object for Site data This class holds site data without SQLAlchemy session dependencies
Decorators: dataclass
Methods:
display_name(self) → str
Get display name for the site
Parameters:
self
Returns: str
Decorators: property
from_model(cls, site_model) → SiteDTO
Create DTO from SQLAlchemy model instance
Parameters:
clssite_model
Returns: SiteDTO
Decorators: classmethod
to_dict(self) → dict
Convert DTO to dictionary
Parameters:
self
Returns: dict
SiteDTO
Data Transfer Object for Site data This class holds site data without SQLAlchemy session dependencies
Decorators: dataclass
Methods:
display_name(self) → str
Get display name for the site
Parameters:
self
Returns: str
Decorators: property
from_model(cls, site_model) → SiteDTO
Create DTO from SQLAlchemy model instance
Parameters:
clssite_model
Returns: SiteDTO
Decorators: classmethod
to_dict(self) → dict
Convert DTO to dictionary
Parameters:
self
Returns: dict
SiteDTO
Data Transfer Object for Site data This class holds site data without SQLAlchemy session dependencies
Decorators: dataclass
Methods:
display_name(self) → str
Get display name for the site
Parameters:
self
Returns: str
Decorators: property
from_model(cls, site_model) → SiteDTO
Create DTO from SQLAlchemy model instance
Parameters:
clssite_model
Returns: SiteDTO
Decorators: classmethod
to_dict(self) → dict
Convert DTO to dictionary
Parameters:
self
Returns: dict
\newpage
Module: pyarchinit_mini/dto/us_dto.py
File Path: pyarchinit_mini/dto/us_dto.py
Classes
USDTO
Data Transfer Object for US (Stratigraphic Unit) data This class holds US data without SQLAlchemy session dependencies
Decorators: dataclass
Methods:
display_name(self) → str
Get display name for the US
Parameters:
self
Returns: str
Decorators: property
from_model(cls, us_model) → USDTO
Create DTO from SQLAlchemy model instance
Parameters:
clsus_model
Returns: USDTO
Decorators: classmethod
to_dict(self) → dict
Convert DTO to dictionary
Parameters:
self
Returns: dict
USDTO
Data Transfer Object for US (Stratigraphic Unit) data This class holds US data without SQLAlchemy session dependencies
Decorators: dataclass
Methods:
display_name(self) → str
Get display name for the US
Parameters:
self
Returns: str
Decorators: property
from_model(cls, us_model) → USDTO
Create DTO from SQLAlchemy model instance
Parameters:
clsus_model
Returns: USDTO
Decorators: classmethod
to_dict(self) → dict
Convert DTO to dictionary
Parameters:
self
Returns: dict
USDTO
Data Transfer Object for US (Stratigraphic Unit) data This class holds US data without SQLAlchemy session dependencies
Decorators: dataclass
Methods:
display_name(self) → str
Get display name for the US
Parameters:
self
Returns: str
Decorators: property
from_model(cls, us_model) → USDTO
Create DTO from SQLAlchemy model instance
Parameters:
clsus_model
Returns: USDTO
Decorators: classmethod
to_dict(self) → dict
Convert DTO to dictionary
Parameters:
self
Returns: dict
\newpage
Module: pyarchinit_mini/exceptions.py
File Path: pyarchinit_mini/exceptions.py
Classes
ConfigurationError
Configuration errors
Inherits from: PyArchInitError
ConfigurationError
Configuration errors
Inherits from: PyArchInitError
ConfigurationError
Configuration errors
Inherits from: PyArchInitError
DatabaseError
Database related errors
Inherits from: PyArchInitError
DatabaseError
Database related errors
Inherits from: PyArchInitError
DatabaseError
Database related errors
Inherits from: PyArchInitError
PyArchInitError
Base exception for PyArchInit-Mini
Inherits from: Exception
PyArchInitError
Base exception for PyArchInit-Mini
Inherits from: Exception
PyArchInitError
Base exception for PyArchInit-Mini
Inherits from: Exception
ServiceError
Service layer errors
Inherits from: PyArchInitError
ServiceError
Service layer errors
Inherits from: PyArchInitError
ServiceError
Service layer errors
Inherits from: PyArchInitError
ValidationError
Data validation errors
Inherits from: PyArchInitError
ValidationError
Data validation errors
Inherits from: PyArchInitError
ValidationError
Data validation errors
Inherits from: PyArchInitError
\newpage
Module: pyarchinit_mini/harris_matrix/__init__.py
File Path: pyarchinit_mini/harris_matrix/__init__.py
\newpage
Module: pyarchinit_mini/harris_matrix/enhanced_visualizer.py
File Path: pyarchinit_mini/harris_matrix/enhanced_visualizer.py
Classes
EnhancedHarrisMatrixVisualizer
Enhanced Harris Matrix visualizer using Graphviz for hierarchical orthogonal layout Supports area/period/phase grouping and all stratigraphic relationships
Methods:
__init__(self)
init
Initializes the visualizer by configuring default styles and properties for stratigraphic relationships, area color assignments, and period shapes used in Harris Matrix diagrams. Sets up dictionaries that define the visual representation (such as color, line style, and arrowhead type) for different relationship types, as well as color codes for excavation areas and shapes for archaeological periods. These configurations are used throughout the visualizer to ensure consistent and meaningful graphical output.
Parameters:
self
analyze_matrix_statistics(self, graph: nx.DiGraph) → Dict[str, Any]
Analyze Harris Matrix and provide statistics
Parameters:
selfgraph(nx.DiGraph)
Returns: Dict[str, Any]
create_graphviz_matrix(self, graph: nx.DiGraph, grouping: str, output_format: str, output_path: Optional[str]) → str
Create Harris Matrix using Graphviz with hierarchical orthogonal layout
Args: graph: NetworkX directed graph grouping: ‘none’, ‘area’, ‘period’, ‘phase’, or ‘area_period’ output_format: ‘png’, ‘svg’, ‘pdf’, ‘dot’ output_path: Optional output file path
Returns: Path to generated file or DOT source
Parameters:
selfgraph(nx.DiGraph)grouping(str)output_format(str)output_path(Optional[str])
Returns: str
create_relationship_legend(self, output_path: Optional[str]) → str
Create a legend showing all relationship types and their visual styles
Parameters:
selfoutput_path(Optional[str])
Returns: str
create_temporal_matrix(self, graph: nx.DiGraph, output_path: Optional[str]) → str
Create Harris Matrix with temporal/chronological ordering Groups by periods and phases with hierarchical display
Parameters:
selfgraph(nx.DiGraph)output_path(Optional[str])
Returns: str
export_multiple_formats(self, graph: nx.DiGraph, base_filename: str, grouping: str) → Dict[str, str]
Export Harris Matrix in multiple formats
Parameters:
selfgraph(nx.DiGraph)base_filename(str)grouping(str)
Returns: Dict[str, str]
\newpage
Module: pyarchinit_mini/harris_matrix/matrix_generator.py
File Path: pyarchinit_mini/harris_matrix/matrix_generator.py
Classes
HarrisMatrixGenerator
Generates Harris Matrix from stratigraphic relationships
Methods:
__init__(self, db_manager: DatabaseManager)
Initializes a new instance of the HarrisMatrixGenerator class. This constructor sets up the generator with the provided database manager for accessing stratigraphic data and an optional US service for additional context or functionality.
Parameters:
selfdb_manager(DatabaseManager)
add_relationship(self, site_name: str, us_from: int, us_to: int, relationship_type: str, certainty: str, description: str) → bool
Add a new stratigraphic relationship
Args: site_name: Site name us_from: US number (from) us_to: US number (to) relationship_type: Type of relationship certainty: Certainty level description: Optional description
Returns: True if successful
Parameters:
selfsite_name(str)us_from(int)us_to(int)relationship_type(str)certainty(str)description(str)
Returns: bool
generate_matrix(self, site_name: str, area: Optional[str]) → nx.DiGraph
Generate Harris Matrix graph from site relationships
Args: site_name: Site name area: Optional area filter
Returns: NetworkX directed graph representing the Harris Matrix
Parameters:
selfsite_name(str)area(Optional[str])
Returns: nx.DiGraph
get_matrix_levels(self, graph: nx.DiGraph) → Dict[int, List[int]]
Get topological levels for matrix layout
Returns: Dictionary mapping level number to list of US numbers
Parameters:
selfgraph(nx.DiGraph)
Returns: Dict[int, List[int]]
get_matrix_statistics(self, graph: nx.DiGraph) → Dict[str, Any]
Get statistics about the Harris Matrix
Parameters:
selfgraph(nx.DiGraph)
Returns: Dict[str, Any]
HarrisMatrixGenerator
Generates Harris Matrix from stratigraphic relationships
Methods:
__init__(self, db_manager: DatabaseManager, us_service)
Initializes a new instance of the class responsible for generating Harris Matrices from stratigraphic relationships. This constructor sets up the required database manager for data access and optionally accepts a unit stratigraphy service for additional functionality. It prepares the class for subsequent matrix generation operations.
Parameters:
selfdb_manager(DatabaseManager)us_service
add_relationship(self, site_name: str, us_from: int, us_to: int, relationship_type: str, certainty: str, description: str) → bool
Add a new stratigraphic relationship
Args: site_name: Site name us_from: US number (from) us_to: US number (to) relationship_type: Type of relationship certainty: Certainty level description: Optional description
Returns: True if successful
Parameters:
selfsite_name(str)us_from(int)us_to(int)relationship_type(str)certainty(str)description(str)
Returns: bool
generate_matrix(self, site_name: str, area: Optional[str]) → nx.DiGraph
Generate Harris Matrix graph from site relationships
Args: site_name: Site name area: Optional area filter
Returns: NetworkX directed graph representing the Harris Matrix
Parameters:
selfsite_name(str)area(Optional[str])
Returns: nx.DiGraph
get_matrix_levels(self, graph: nx.DiGraph) → Dict[int, List[int]]
Get topological levels for matrix layout
Returns: Dictionary mapping level number to list of US numbers
Parameters:
selfgraph(nx.DiGraph)
Returns: Dict[int, List[int]]
get_matrix_statistics(self, graph: nx.DiGraph) → Dict[str, Any]
Get statistics about the Harris Matrix
Parameters:
selfgraph(nx.DiGraph)
Returns: Dict[str, Any]
HarrisMatrixGenerator
Generates Harris Matrix from stratigraphic relationships
Methods:
__init__(self, db_manager: DatabaseManager, us_service)
Initializes the HarrisMatrixGenerator class by setting up the required database manager and an optional stratigraphic unit service. This method prepares the instance for generating Harris Matrices by establishing the necessary connections to data sources.
Parameters:
selfdb_manager(DatabaseManager)us_service
add_relationship(self, site_name: str, us_from: int, us_to: int, relationship_type: str, certainty: str, description: str) → bool
Add a new stratigraphic relationship
Args: site_name: Site name us_from: US number (from) us_to: US number (to) relationship_type: Type of relationship certainty: Certainty level description: Optional description
Returns: True if successful
Parameters:
selfsite_name(str)us_from(int)us_to(int)relationship_type(str)certainty(str)description(str)
Returns: bool
generate_matrix(self, site_name: str, area: Optional[str]) → nx.DiGraph
Generate Harris Matrix graph from site relationships
Args: site_name: Site name area: Optional area filter
Returns: NetworkX directed graph representing the Harris Matrix
Parameters:
selfsite_name(str)area(Optional[str])
Returns: nx.DiGraph
get_matrix_levels(self, graph: nx.DiGraph) → Dict[int, List[int]]
Get topological levels for matrix layout
Returns: Dictionary mapping level number to list of US numbers
Parameters:
selfgraph(nx.DiGraph)
Returns: Dict[int, List[int]]
get_matrix_statistics(self, graph: nx.DiGraph) → Dict[str, Any]
Get statistics about the Harris Matrix
Parameters:
selfgraph(nx.DiGraph)
Returns: Dict[str, Any]
\newpage
Module: pyarchinit_mini/harris_matrix/matrix_visualizer.py
File Path: pyarchinit_mini/harris_matrix/matrix_visualizer.py
Classes
MatrixVisualizer
Visualizes Harris Matrix using different rendering methods
Methods:
__init__(self)
Initializes the visualizer with a set of default styling parameters for rendering Harris Matrices. This includes node dimensions, spacing, font size, and color schemes for various matrix elements, ensuring consistent visualization across different rendering methods.
Parameters:
self
create_interactive_html(self, graph: nx.DiGraph, levels: Dict[int, List[int]]) → str
Create interactive HTML visualization using D3.js or similar
Parameters:
selfgraph(nx.DiGraph)levels(Dict[int, List[int]])
Returns: str
export_to_formats(self, graph: nx.DiGraph, levels: Dict[int, List[int]], base_filename: str) → Dict[str, str]
Export Harris Matrix to multiple formats
Returns: Dictionary mapping format to file path
Parameters:
selfgraph(nx.DiGraph)levels(Dict[int, List[int]])base_filename(str)
Returns: Dict[str, str]
render_graphviz(self, graph: nx.DiGraph, output_path: Optional[str]) → str
Render Harris Matrix using Graphviz for better layouts
Parameters:
selfgraph(nx.DiGraph)output_path(Optional[str])
Returns: str
render_matplotlib(self, graph: nx.DiGraph, levels: Dict[int, List[int]], output_path: Optional[str], style: Optional[Dict]) → str
Render Harris Matrix using matplotlib
Args: graph: NetworkX graph levels: Matrix levels from generator output_path: Optional file path to save style: Optional style overrides
Returns: Base64 encoded image string
Parameters:
selfgraph(nx.DiGraph)levels(Dict[int, List[int]])output_path(Optional[str])style(Optional[Dict])
Returns: str
MatrixVisualizer
Visualizes Harris Matrix using different rendering methods
Methods:
__init__(self)
Initializes a new instance of the visualizer with default style settings for rendering Harris Matrix diagrams. This method defines standard dimensions, spacing, font size, and color schemes to ensure consistent visualization appearance across different rendering methods. These default styles can later be customized or overridden as needed during rendering.
Parameters:
self
create_interactive_html(self, graph: nx.DiGraph, levels: Dict[int, List[int]]) → str
Create interactive HTML visualization using D3.js or similar
Parameters:
selfgraph(nx.DiGraph)levels(Dict[int, List[int]])
Returns: str
export_to_formats(self, graph: nx.DiGraph, levels: Dict[int, List[int]], base_filename: str) → Dict[str, str]
Export Harris Matrix to multiple formats
Returns: Dictionary mapping format to file path
Parameters:
selfgraph(nx.DiGraph)levels(Dict[int, List[int]])base_filename(str)
Returns: Dict[str, str]
render_graphviz(self, graph: nx.DiGraph, output_path: Optional[str]) → str
Render Harris Matrix using Graphviz for better layouts
Parameters:
selfgraph(nx.DiGraph)output_path(Optional[str])
Returns: str
render_matplotlib(self, graph: nx.DiGraph, levels: Dict[int, List[int]], output_path: Optional[str], style: Optional[Dict]) → str
Render Harris Matrix using matplotlib
Args: graph: NetworkX graph levels: Matrix levels from generator output_path: Optional file path to save style: Optional style overrides
Returns: Base64 encoded image string
Parameters:
selfgraph(nx.DiGraph)levels(Dict[int, List[int]])output_path(Optional[str])style(Optional[Dict])
Returns: str
MatrixVisualizer
Visualizes Harris Matrix using different rendering methods
Methods:
__init__(self)
Initializes a new instance of the Harris Matrix visualizer with a set of default visualization styles and parameters. This includes default node dimensions, spacing, font size, and color schemes for various elements of the Harris Matrix diagram. These defaults are used unless overridden by custom style definitions during rendering.
Parameters:
self
create_interactive_html(self, graph: nx.DiGraph, levels: Dict[int, List[int]]) → str
Create interactive HTML visualization using D3.js or similar
Parameters:
selfgraph(nx.DiGraph)levels(Dict[int, List[int]])
Returns: str
export_to_formats(self, graph: nx.DiGraph, levels: Dict[int, List[int]], base_filename: str) → Dict[str, str]
Export Harris Matrix to multiple formats
Returns: Dictionary mapping format to file path
Parameters:
selfgraph(nx.DiGraph)levels(Dict[int, List[int]])base_filename(str)
Returns: Dict[str, str]
render_graphviz(self, graph: nx.DiGraph, output_path: Optional[str]) → str
Render Harris Matrix using Graphviz for better layouts
Parameters:
selfgraph(nx.DiGraph)output_path(Optional[str])
Returns: str
render_matplotlib(self, graph: nx.DiGraph, levels: Dict[int, List[int]], output_path: Optional[str], style: Optional[Dict]) → str
Render Harris Matrix using matplotlib
Args: graph: NetworkX graph levels: Matrix levels from generator output_path: Optional file path to save style: Optional style overrides
Returns: Base64 encoded image string
Parameters:
selfgraph(nx.DiGraph)levels(Dict[int, List[int]])output_path(Optional[str])style(Optional[Dict])
Returns: str
\newpage
Module: pyarchinit_mini/harris_matrix/pyarchinit_visualizer.py
File Path: pyarchinit_mini/harris_matrix/pyarchinit_visualizer.py
Classes
PyArchInitMatrixVisualizer
Harris Matrix visualizer that replicates PyArchInit plugin behavior Uses Graphviz with hierarchical orthogonal layout and period/area grouping
Methods:
__init__(self)
Initializes a new instance of the Harris Matrix visualizer with a predefined set of default visualization settings. These settings control the appearance and layout of the matrix, including resolution, node and edge styles, grouping options, and legend visibility, to replicate the behavior of the PyArchInit plugin using Graphviz.
Parameters:
self
create_matrix(self, graph: nx.DiGraph, grouping: str, settings: Optional[Dict], output_path: Optional[str]) → str
Create Harris Matrix using PyArchInit approach
Args: graph: NetworkX directed graph with US nodes and relationships grouping: ‘period_area’, ‘period’, ‘area’, ‘none’ settings: Optional style settings override output_path: Optional output file path
Returns: Path to generated file
Parameters:
selfgraph(nx.DiGraph)grouping(str)settings(Optional[Dict])output_path(Optional[str])
Returns: str
export_multiple_formats(self, graph: nx.DiGraph, base_filename: str, grouping: str) → Dict[str, str]
Export matrix in multiple formats
Parameters:
selfgraph(nx.DiGraph)base_filename(str)grouping(str)
Returns: Dict[str, str]
\newpage
Module: pyarchinit_mini/media_manager/__init__.py
File Path: pyarchinit_mini/media_manager/__init__.py
\newpage
Module: pyarchinit_mini/media_manager/media_handler.py
File Path: pyarchinit_mini/media_manager/media_handler.py
Classes
MediaHandler
Handles media file operations, storage, and organization
Methods:
__init__(self, base_media_path: str)
Initializes the media handler by setting up the base directory for media storage. Creates the main media directory and standard subdirectories for images, documents, videos, and thumbnails if they do not already exist. This ensures an organized file structure for subsequent media operations.
Parameters:
selfbase_media_path(str)
create_media_archive(self, entity_type: str, entity_id: int, archive_path: str) → bool
Create ZIP archive of all media for an entity
Parameters:
selfentity_type(str)entity_id(int)archive_path(str)
Returns: bool
delete_file(self, media_filename: str, entity_type: str, entity_id: int) → bool
Delete media file and its thumbnails
Parameters:
selfmedia_filename(str)entity_type(str)entity_id(int)
Returns: bool
get_file_path(self, media_filename: str, entity_type: str, entity_id: int) → Optional[Path]
Get full path to stored media file
Parameters:
selfmedia_filename(str)entity_type(str)entity_id(int)
Returns: Optional[Path]
get_media_info(self, file_path: Path) → Dict[str, Any]
Get detailed media information
Parameters:
selffile_path(Path)
Returns: Dict[str, Any]
organize_media_by_entity(self, entity_type: str, entity_id: int) → List[Dict[str, Any]]
Get all media files for a specific entity
Parameters:
selfentity_type(str)entity_id(int)
Returns: List[Dict[str, Any]]
MediaHandler
Handles media file operations, storage, and organization
Methods:
__init__(self, base_media_path: str)
Initializes the media file handler by setting up the base media directory and creating the necessary subdirectories for images, documents, videos, and thumbnails. If the specified base directory or any subdirectory does not exist, it is created automatically. This ensures that the required folder structure is in place for subsequent media file operations.
Parameters:
selfbase_media_path(str)
create_media_archive(self, entity_type: str, entity_id: int, archive_path: str) → bool
Create ZIP archive of all media for an entity
Parameters:
selfentity_type(str)entity_id(int)archive_path(str)
Returns: bool
delete_file(self, media_filename: str, entity_type: str, entity_id: int) → bool
Delete media file and its thumbnails
Parameters:
selfmedia_filename(str)entity_type(str)entity_id(int)
Returns: bool
get_file_path(self, media_filename: str, entity_type: str, entity_id: int) → Optional[Path]
Get full path to stored media file
Parameters:
selfmedia_filename(str)entity_type(str)entity_id(int)
Returns: Optional[Path]
get_media_info(self, file_path: Path) → Dict[str, Any]
Get detailed media information
Parameters:
selffile_path(Path)
Returns: Dict[str, Any]
organize_media_by_entity(self, entity_type: str, entity_id: int) → List[Dict[str, Any]]
Get all media files for a specific entity
Parameters:
selfentity_type(str)entity_id(int)
Returns: List[Dict[str, Any]]
store_file(self, file_path: str, entity_type: str, entity_id: int, description: str, tags: str, author: str) → Dict[str, Any]
Store a media file and return metadata
Args: file_path: Source file path entity_type: Type of entity (site, us, inventario) entity_id: Entity ID description: File description tags: Tags for the file author: Author/photographer
Returns: Dictionary with file metadata
Parameters:
selffile_path(str)entity_type(str)entity_id(int)description(str)tags(str)author(str)
Returns: Dict[str, Any]
MediaHandler
Handles media file operations, storage, and organization
Methods:
__init__(self, base_media_path: str)
Initializes the media file handler by setting up the base media directory and creating standardized subdirectories for images, documents, videos, and thumbnails. Ensures that all required folders exist for organized storage and future media file operations. The base path can be customized via the base_media_path parameter.
Parameters:
selfbase_media_path(str)
create_media_archive(self, entity_type: str, entity_id: int, archive_path: str) → bool
Create ZIP archive of all media for an entity
Parameters:
selfentity_type(str)entity_id(int)archive_path(str)
Returns: bool
delete_file(self, media_filename: str, entity_type: str, entity_id: int) → bool
Delete media file and its thumbnails
Parameters:
selfmedia_filename(str)entity_type(str)entity_id(int)
Returns: bool
get_file_path(self, media_filename: str, entity_type: str, entity_id: int) → Optional[Path]
Get full path to stored media file
Parameters:
selfmedia_filename(str)entity_type(str)entity_id(int)
Returns: Optional[Path]
get_media_info(self, file_path: Path) → Dict[str, Any]
Get detailed media information
Parameters:
selffile_path(Path)
Returns: Dict[str, Any]
organize_media_by_entity(self, entity_type: str, entity_id: int) → List[Dict[str, Any]]
Get all media files for a specific entity
Parameters:
selfentity_type(str)entity_id(int)
Returns: List[Dict[str, Any]]
store_file(self, file_path: str, entity_type: str, entity_id: int, description: str, tags: str, author: str) → Dict[str, Any]
Store a media file and return metadata
Args: file_path: Source file path entity_type: Type of entity (site, us, inventario) entity_id: Entity ID description: File description tags: Tags for the file author: Author/photographer
Returns: Dictionary with file metadata
Parameters:
selffile_path(str)entity_type(str)entity_id(int)description(str)tags(str)author(str)
Returns: Dict[str, Any]
\newpage
Module: pyarchinit_mini/models/__init__.py
File Path: pyarchinit_mini/models/__init__.py
\newpage
Module: pyarchinit_mini/models/base.py
File Path: pyarchinit_mini/models/base.py
Classes
BaseModel
Base model class with common fields and methods
Inherits from: Base
Methods:
to_dict(self)
Convert model instance to dictionary
Parameters:
self
update_from_dict(self, data)
Update model instance from dictionary
Parameters:
selfdata
BaseModel
Base model class with common fields and methods
Inherits from: Base
Methods:
to_dict(self)
Convert model instance to dictionary
Parameters:
self
update_from_dict(self, data)
Update model instance from dictionary
Parameters:
selfdata
BaseModel
Base model class with common fields and methods
Inherits from: Base
Methods:
to_dict(self)
Convert model instance to dictionary
Parameters:
self
update_from_dict(self, data)
Update model instance from dictionary
Parameters:
selfdata
\newpage
Module: pyarchinit_mini/models/harris_matrix.py
File Path: pyarchinit_mini/models/harris_matrix.py
Classes
HarrisMatrix
Harris Matrix relationships between stratigraphic units
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the HarrisMatrix object, displaying key attributes such as the site identifier (sito) and the relationship between the upper (us_sopra) and lower (us_sotto) stratigraphic units. This representation is useful for debugging and logging, as it provides a clear and concise summary of the object’s state.
Parameters:
self
HarrisMatrix
Harris Matrix relationships between stratigraphic units
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the HarrisMatrix object, displaying its associated sito value as well as the stratigraphic relationship from us_sopra (upper unit) to us_sotto (lower unit). This representation is useful for debugging and logging, as it provides a concise summary of the object’s key attributes and relationships.
Parameters:
self
HarrisMatrix
Harris Matrix relationships between stratigraphic units
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the HarrisMatrix object, displaying key attributes such as the site identifier (sito) and the relationship between us_sopra and us_sotto. This representation is useful for debugging and logging, as it provides a concise summary of the object’s essential information.
Parameters:
self
Period
Archaeological periods and phases
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the Periodizzazione instance, displaying its period name along with the start and end dates. This is primarily used for debugging and logging, providing a human-readable summary that helps identify the periodization assignment at a glance.
Parameters:
self
Period
Archaeological periods and phases
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the Periodizzazione instance, displaying its period name and date range in the format <Period('period_name', start_date-end_date)>. This representation is primarily intended for debugging and logging purposes, providing a concise summary of the object’s key attributes.
Parameters:
self
Period
Archaeological periods and phases
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the Period object, displaying its period_name along with the start_date and end_date. This representation is intended to provide a concise and informative summary of the object’s key attributes for debugging and logging purposes.
Parameters:
self
Periodizzazione
Periodization assignments for archaeological contexts Links US and other entities to chronological periods
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the Periodizzazione object, displaying its associated site (sito), stratigraphic unit (us), and the initial and final periods (periodo_iniziale and periodo_finale). This representation is intended to provide a clear and concise summary of the object’s key identifying information, primarily for debugging and logging purposes.
Parameters:
self
dating_range(self) → str
Get formatted dating range
Parameters:
self
Returns: str
Decorators: property
Periodizzazione
Periodization assignments for archaeological contexts Links US and other entities to chronological periods
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the Periodizzazione object, displaying its associated site, US number, and the range between its initial and final periods. This representation is useful for debugging and logging purposes, providing a concise summary of the object’s key identifying information.
Parameters:
self
dating_range(self) → str
Get formatted dating range
Parameters:
self
Returns: str
Decorators: property
Periodizzazione
Periodization assignments for archaeological contexts Links US and other entities to chronological periods
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the Periodizzazione object, including its associated site (sito), stratigraphic unit (us), and the range from the initial to the final period (periodo_iniziale-periodo_finale). This representation is primarily used for debugging and logging, making it easier to identify specific instances of the class.
Parameters:
self
dating_range(self) → str
Get formatted dating range
Parameters:
self
Returns: str
Decorators: property
USRelationships
Detailed stratigraphic relationships between US
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the USRelationship object, displaying its core attributes in a readable format. Specifically, it outputs the source unit (us_from), the type of relationship (relationship_type), and the target unit (us_to). This representation is useful for debugging and logging, as it succinctly summarizes the object’s key information.
Parameters:
self
USRelationships
Detailed stratigraphic relationships between US
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the USRelationship object, displaying its us_from, relationship_type, and us_to attributes in a concise format. This is primarily used for debugging and logging, allowing for an informative and human-readable display of the object’s key relational data.
Parameters:
self
USRelationships
Detailed stratigraphic relationships between US
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the USRelationship object, displaying its key attributes (us_from, relationship_type, and us_to) in a concise format. This representation is useful for debugging and logging, as it allows developers to quickly identify the relationship between stratigraphic units.
Parameters:
self
\newpage
Module: pyarchinit_mini/models/inventario_materiali.py
File Path: pyarchinit_mini/models/inventario_materiali.py
Classes
InventarioMateriali
Material inventory model Complete implementation from PyArchInit INVENTARIO_MATERIALI entity
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string that provides a clear and concise representation of the InventarioMateriali object, including its primary attributes: id_invmat, sito, numero_inventario, and tipo_reperto. This representation is primarily intended for debugging and logging purposes, making it easier to identify individual instances of the class.
Parameters:
self
context_info(self)
Context information as string
Parameters:
self
Decorators: property
display_name(self)
Human readable identifier
Parameters:
self
Decorators: property
InventarioMateriali
Material inventory model Complete implementation from PyArchInit INVENTARIO_MATERIALI entity
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the InventarioMateriali object, including its unique identifier (id_invmat), site (sito), inventory number (numero_inventario), and artifact type (tipo_reperto). This representation is useful for debugging and logging, as it provides a clear and concise summary of the object’s key attributes.
Parameters:
self
context_info(self)
Context information as string
Parameters:
self
Decorators: property
display_name(self)
Human readable identifier
Parameters:
self
Decorators: property
InventarioMateriali
Material inventory model Complete implementation from PyArchInit INVENTARIO_MATERIALI entity
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the InventarioMateriali object, displaying key attributes such as id_invmat, sito, numero_inventario, and tipo_reperto. This representation is intended to provide a clear and informative summary of the object’s state, which is useful for debugging and logging purposes.
Parameters:
self
context_info(self)
Context information as string
Parameters:
self
Decorators: property
display_name(self)
Human readable identifier
Parameters:
self
Decorators: property
\newpage
Module: pyarchinit_mini/models/media.py
File Path: pyarchinit_mini/models/media.py
Classes
Documentation
Documentation files and reports
Inherits from: BaseModel
Methods:
__repr__(self)
The repr method returns a string representation of the Documentation object, including its title, entity type, and entity ID. This representation is useful for debugging and logging, as it provides a concise summary of the object’s key identifying information.
Parameters:
self
Documentation
Documentation files and reports
Inherits from: BaseModel
Methods:
__repr__(self)
The repr method returns a string representation of the Documentation object, including its title, entity type, and entity ID. This representation is intended to provide a concise summary of the instance, making it useful for debugging and logging purposes.
Parameters:
self
Documentation
Documentation files and reports
Inherits from: BaseModel
Methods:
__repr__(self)
The repr method returns a string representation of the Documentation object, displaying its title, entity type, and entity ID in a concise format. This representation is primarily intended for debugging and logging purposes, providing a clear and informative summary of the object’s key identifying attributes.
Parameters:
self
Media
Media files (images, documents, videos) linked to archaeological records
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the Media object, displaying its media name along with the associated entity type and entity ID. This representation is primarily intended for debugging and logging, making it easier to identify specific Media instances in output or logs.
Parameters:
self
is_document(self)
is_document
Indicates whether the media file is of type ‘document’. Returns True if the media_type attribute equals ‘document’, otherwise returns False. This property helps differentiate document files from other media types.
Parameters:
self
Decorators: property
is_image(self)
The is_image property returns a boolean indicating whether the media instance is classified as an image. It evaluates to True if the instance’s media_type attribute is set to 'image'; otherwise, it returns False. This property enables quick checks for image-type media objects within the class.
Parameters:
self
Decorators: property
Media
Media files (images, documents, videos) linked to archaeological records
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the Media object, displaying its media name, entity type, and entity ID. This representation is primarily intended for debugging and logging purposes, allowing developers to easily identify individual Media instances in output.
Parameters:
self
is_document(self)
is_document
Returns a boolean indicating whether the media file is classified as a document. This property evaluates to True if the media_type attribute equals ‘document’, enabling type checks within media handling workflows.
Parameters:
self
Decorators: property
is_image(self)
The is_image property determines whether the media object’s type is classified as an image. It returns True if the media_type attribute equals 'image'; otherwise, it returns False. This is useful for quickly checking the nature of the media without directly accessing its type attribute.
Parameters:
self
Decorators: property
Media
Media files (images, documents, videos) linked to archaeological records
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the Media object, displaying its media_name, entity_type, and entity_id. This provides a clear and informative summary of the object, which is useful for debugging and logging purposes.
Parameters:
self
is_document(self)
is_document
Returns True if the media file is classified as a document. This property checks whether the media_type attribute of the instance is set to ‘document’, allowing for easy identification of document-type media files.
Parameters:
self
Decorators: property
is_image(self)
The is_image property returns a boolean value indicating whether the media instance is of type ‘image’. It evaluates to True if the media_type attribute equals ‘image’, and False otherwise. This property is useful for distinguishing images from other media types within the class.
Parameters:
self
Decorators: property
MediaThumb
Thumbnails for media files
Inherits from: BaseModel
Methods:
__repr__(self)
The repr method provides a string representation of the MediaThumb object, displaying its associated media ID and thumbnail size. This representation is useful for debugging and logging, as it clearly identifies instances of MediaThumb in an informative and readable format.
Parameters:
self
MediaThumb
Thumbnails for media files
Inherits from: BaseModel
Methods:
__repr__(self)
The repr method returns a string representation of the MediaThumb object, displaying its associated media ID and thumbnail size. This representation is useful for debugging and logging, as it provides a concise summary of the object’s key identifying attributes.
Parameters:
self
MediaThumb
Thumbnails for media files
Inherits from: BaseModel
Methods:
__repr__(self)
The repr method returns a string representation of the MediaThumb instance, displaying its associated media ID and thumbnail size. This is useful for debugging and logging, as it provides a concise summary of the object’s key attributes.
Parameters:
self
\newpage
Module: pyarchinit_mini/models/site.py
File Path: pyarchinit_mini/models/site.py
Classes
Site
Archaeological site model Adapted from PyArchInit SITE entity
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the Site object, displaying key attributes such as id_sito, sito, and comune. This representation is intended to be unambiguous and useful for debugging, logging, or interactive sessions, allowing developers to easily identify instances of the Site class.
Parameters:
self
display_name(self)
Human readable name for the site
Parameters:
self
Decorators: property
Site
Archaeological site model Adapted from PyArchInit SITE entity
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the Site object, displaying its unique identifier (id_sito), name (sito), and associated municipality (comune). This representation is primarily intended for debugging and logging purposes, providing a clear and concise summary of the object’s key attributes.
Parameters:
self
display_name(self)
Human readable name for the site
Parameters:
self
Decorators: property
Site
Archaeological site model Adapted from PyArchInit SITE entity
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method provides a string representation of the Site object, including its unique ID, name (sito), and associated municipality (comune). This representation is primarily intended for debugging and logging purposes, allowing developers to easily identify and inspect instances of the Site class.
Parameters:
self
display_name(self)
Human readable name for the site
Parameters:
self
Decorators: property
\newpage
Module: pyarchinit_mini/models/thesaurus.py
File Path: pyarchinit_mini/models/thesaurus.py
Classes
ThesaurusCategory
Categories for organizing thesaurus entries
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the ThesaurusCategory object, displaying its unique ID and category name. This representation is useful for debugging and logging, as it provides a clear and concise summary of the object’s key attributes.
Parameters:
self
ThesaurusCategory
Categories for organizing thesaurus entries
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the ThesaurusCategory instance, displaying its id_category and category_name attributes. This representation is useful for debugging and logging, as it provides a clear and concise summary of the object’s key information.
Parameters:
self
ThesaurusCategory
Categories for organizing thesaurus entries
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the ThesaurusCategory object, displaying its id_category and category_name attributes. This representation is intended to provide a concise and informative summary of the object, useful for debugging and logging purposes.
Parameters:
self
ThesaurusField
Field-specific thesaurus entries For detailed field vocabularies
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the ThesaurusField instance, including the table name, field name, and value attributes. This representation is primarily used for debugging and logging, providing a clear and concise summary of the object’s key identifying fields.
Parameters:
self
display_name(self)
Display name for UI
Parameters:
self
Decorators: property
ThesaurusField
Field-specific thesaurus entries For detailed field vocabularies
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the ThesaurusField object, including the table name, field name, and value attributes. This representation is useful for debugging and logging, as it provides a clear and concise summary of the object’s key identifying information.
Parameters:
self
display_name(self)
Display name for UI
Parameters:
self
Decorators: property
ThesaurusField
Field-specific thesaurus entries For detailed field vocabularies
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the ThesaurusField object, displaying the values of its table_name, field_name, and value attributes. This representation is useful for debugging and logging, as it provides a clear and concise summary of the object’s key properties.
Parameters:
self
display_name(self)
Display name for UI
Parameters:
self
Decorators: property
ThesaurusSigle
Thesaurus for controlled vocabularies and abbreviations Based on pyarchinit_thesaurus_sigle table
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the ThesaurusSigle object, including its id_thesaurus_sigle, nome_tabella, and sigla attributes. This representation is primarily intended for debugging and logging purposes, providing a clear and concise summary of the object’s key identifying fields.
Parameters:
self
display_value(self)
Display value for UI
Parameters:
self
Decorators: property
ThesaurusSigle
Thesaurus for controlled vocabularies and abbreviations Based on pyarchinit_thesaurus_sigle table
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the ThesaurusSigle object, displaying key attributes such as id_thesaurus_sigle, nome_tabella, and sigla. This representation is primarily intended for debugging and logging, making it easier to identify and inspect instances of the class.
Parameters:
self
display_value(self)
Display value for UI
Parameters:
self
Decorators: property
ThesaurusSigle
Thesaurus for controlled vocabularies and abbreviations Based on pyarchinit_thesaurus_sigle table
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the ThesaurusSigle object, displaying its unique identifier (id_thesaurus_sigle), table name (nome_tabella), and code (sigla). This representation is primarily intended for debugging and logging purposes, providing a concise and informative summary of the object’s key attributes.
Parameters:
self
display_value(self)
Display value for UI
Parameters:
self
Decorators: property
\newpage
Module: pyarchinit_mini/models/us.py
File Path: pyarchinit_mini/models/us.py
Classes
US
Stratigraphic Unit model Adapted from PyArchInit US entity with key fields
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the US object, displaying its key attributes: id_us, sito, area, and us. This representation is useful for debugging and logging, as it provides a concise summary of the object’s state.
Parameters:
self
display_name(self)
Human readable identifier for the US
Parameters:
self
Decorators: property
full_identifier(self)
Complete identifier: Site.Area.US
Parameters:
self
Decorators: property
US
Stratigraphic Unit model Adapted from PyArchInit US entity with key fields
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the US object, including its id_us, sito, area, and us attributes. This representation is useful for debugging and logging, as it provides a concise summary of the object’s key identifying information.
Parameters:
self
display_name(self)
Human readable identifier for the US
Parameters:
self
Decorators: property
full_identifier(self)
Complete identifier: Site.Area.US
Parameters:
self
Decorators: property
US
Stratigraphic Unit model Adapted from PyArchInit US entity with key fields
Inherits from: BaseModel
Methods:
__repr__(self)
The __repr__ method returns a string representation of the US object, including its unique identifier (id_us), site (sito), area, and unit (us). This representation is primarily intended for debugging and logging, allowing developers to easily identify and inspect instances of the US class.
Parameters:
self
display_name(self)
Human readable identifier for the US
Parameters:
self
Decorators: property
full_identifier(self)
Complete identifier: Site.Area.US
Parameters:
self
Decorators: property
\newpage
Module: pyarchinit_mini/pdf_export/__init__.py
File Path: pyarchinit_mini/pdf_export/__init__.py
\newpage
Module: pyarchinit_mini/pdf_export/pdf_generator.py
File Path: pyarchinit_mini/pdf_export/pdf_generator.py
Classes
PDFGenerator
Generate PDF reports for archaeological data
Methods:
__init__(self)
Initializes a new instance of the PDFGenerator class. This method sets up the default stylesheet for PDF generation and applies any custom paragraph styles required for formatting archaeological reports.
Parameters:
self
generate_harris_matrix_report(self, site_name: str, matrix_image_path: str, relationships: List[Dict[str, Any]], statistics: Dict[str, Any], output_path: Optional[str]) → bytes
Generate Harris Matrix documentation report
Parameters:
selfsite_name(str)matrix_image_path(str)relationships(List[Dict[str, Any]])statistics(Dict[str, Any])output_path(Optional[str])
Returns: bytes
generate_site_report(self, site_data: Dict[str, Any], us_list: List[Dict[str, Any]], inventory_list: List[Dict[str, Any]], media_list: List[Dict[str, Any]], output_path: Optional[str]) → bytes
Generate comprehensive site report
Args: site_data: Site information us_list: List of stratigraphic units inventory_list: List of inventory items media_list: List of media files output_path: Optional output file path
Returns: PDF bytes
Parameters:
selfsite_data(Dict[str, Any])us_list(List[Dict[str, Any]])inventory_list(List[Dict[str, Any]])media_list(List[Dict[str, Any]])output_path(Optional[str])
Returns: bytes
PDFGenerator
Generate PDF reports for archaeological data
Methods:
__init__(self)
Initializes the PDF report generator by setting up the default paragraph styles used throughout the document. This method retrieves a sample stylesheet and applies any custom styles needed for formatting the report content.
Parameters:
self
generate_harris_matrix_report(self, site_name: str, matrix_image_path: str, relationships: List[Dict[str, Any]], statistics: Dict[str, Any], output_path: Optional[str]) → bytes
Generate Harris Matrix documentation report
Parameters:
selfsite_name(str)matrix_image_path(str)relationships(List[Dict[str, Any]])statistics(Dict[str, Any])output_path(Optional[str])
Returns: bytes
generate_inventario_pdf(self, site_name: str, inventario_list: List[Dict[str, Any]], output_path: str) → str
Generate Inventario (Finds) PDF report in PyArchInit original format (A5)
Parameters:
selfsite_name(str)inventario_list(List[Dict[str, Any]])output_path(str)
Returns: str
generate_site_report(self, site_data: Dict[str, Any], us_list: List[Dict[str, Any]], inventory_list: List[Dict[str, Any]], media_list: List[Dict[str, Any]], output_path: Optional[str]) → bytes
Generate comprehensive site report
Args: site_data: Site information us_list: List of stratigraphic units inventory_list: List of inventory items media_list: List of media files output_path: Optional output file path
Returns: PDF bytes
Parameters:
selfsite_data(Dict[str, Any])us_list(List[Dict[str, Any]])inventory_list(List[Dict[str, Any]])media_list(List[Dict[str, Any]])output_path(Optional[str])
Returns: bytes
generate_us_pdf(self, site_name: str, us_list: List[Dict[str, Any]], output_path: str) → str
Generate US (Stratigraphic Units) PDF report in PyArchInit original format
Parameters:
selfsite_name(str)us_list(List[Dict[str, Any]])output_path(str)
Returns: str
PDFGenerator
Generate PDF reports for archaeological data
Methods:
__init__(self)
Initializes the PDF report generator by loading the default stylesheet and configuring custom paragraph styles for the document. This method ensures that all subsequent PDF content adheres to the specified formatting standards required for archaeological data reports.
Parameters:
self
generate_harris_matrix_report(self, site_name: str, matrix_image_path: str, relationships: List[Dict[str, Any]], statistics: Dict[str, Any], output_path: Optional[str]) → bytes
Generate Harris Matrix documentation report
Parameters:
selfsite_name(str)matrix_image_path(str)relationships(List[Dict[str, Any]])statistics(Dict[str, Any])output_path(Optional[str])
Returns: bytes
generate_inventario_pdf(self, site_name: str, inventario_list: List[Dict[str, Any]], output_path: str) → str
Generate Inventario (Finds) PDF report using authentic PyArchInit template
Parameters:
selfsite_name(str)inventario_list(List[Dict[str, Any]])output_path(str)
Returns: str
generate_site_report(self, site_data: Dict[str, Any], us_list: List[Dict[str, Any]], inventory_list: List[Dict[str, Any]], media_list: List[Dict[str, Any]], output_path: Optional[str]) → bytes
Generate comprehensive site report
Args: site_data: Site information us_list: List of stratigraphic units inventory_list: List of inventory items media_list: List of media files output_path: Optional output file path
Returns: PDF bytes
Parameters:
selfsite_data(Dict[str, Any])us_list(List[Dict[str, Any]])inventory_list(List[Dict[str, Any]])media_list(List[Dict[str, Any]])output_path(Optional[str])
Returns: bytes
generate_us_pdf(self, site_name: str, us_list: List[Dict[str, Any]], output_path: str) → str
Generate US (Stratigraphic Units) PDF report in PyArchInit original format
Parameters:
selfsite_name(str)us_list(List[Dict[str, Any]])output_path(str)
Returns: str
Functions
safe_str(value)
Safely convert value to string
Parameters:
value
safe_str(value)
Safely convert value to string
Parameters:
value
safe_str(value)
Safely convert value to string
Parameters:
value
\newpage
Module: pyarchinit_mini/pdf_export/pyarchinit_inventory_template.py
File Path: pyarchinit_mini/pdf_export/pyarchinit_inventory_template.py
Classes
PyArchInitInventoryTemplate
Authentic PyArchInit inventory template following the original design
Methods:
__init__(self)
Initializes a new instance of the class by configuring the document’s visual styles according to the authentic PyArchInit inventory template. This method calls setup_styles() to apply PyArchInit-specific style settings, ensuring consistent formatting throughout the document.
Parameters:
self
generate_inventory_catalog(self, inventario_list: List[Dict[str, Any]], output_path: str, site_name: str) → str
Generate inventory catalog (summary table) in A4 format
Args: inventario_list: List of inventory items output_path: Output file path site_name: Site name for header
Returns: Generated file path
Parameters:
selfinventario_list(List[Dict[str, Any]])output_path(str)site_name(str)
Returns: str
generate_inventory_sheets(self, inventario_list: List[Dict[str, Any]], output_path: str, site_name: str) → str
Generate inventory sheets in authentic PyArchInit A5 format
Args: inventario_list: List of inventory items output_path: Output file path site_name: Site name for header
Returns: Generated file path
Parameters:
selfinventario_list(List[Dict[str, Any]])output_path(str)site_name(str)
Returns: str
setup_styles(self)
Setup PyArchInit specific styles
Parameters:
self
Functions
safe_str(value)
Safely convert value to string
Parameters:
value
\newpage
Module: pyarchinit_mini/services/__init__.py
File Path: pyarchinit_mini/services/__init__.py
\newpage
Module: pyarchinit_mini/services/inventario_service.py
File Path: pyarchinit_mini/services/inventario_service.py
Classes
InventarioService
Service class for inventory operations
Methods:
__init__(self, db_manager: DatabaseManager)
Initializes a new instance of the InventarioService class.
This constructor method accepts a DatabaseManager object and assigns it to the service, enabling database operations related to inventory management.
Parameters:
selfdb_manager(DatabaseManager)
count_inventario(self, filters: Optional[Dict[str, Any]]) → int
Count inventory items with optional filters
Parameters:
selffilters(Optional[Dict[str, Any]])
Returns: int
create_inventario(self, inv_data: Dict[str, Any]) → InventarioMateriali
Create a new inventory item
Parameters:
selfinv_data(Dict[str, Any])
Returns: InventarioMateriali
delete_inventario(self, inv_id: int) → bool
Delete inventory item
Parameters:
selfinv_id(int)
Returns: bool
get_all_inventario(self, page: int, size: int, filters: Optional[Dict[str, Any]]) → List[InventarioDTO]
Get all inventory items with pagination and filtering - returns DTOs
Parameters:
selfpage(int)size(int)filters(Optional[Dict[str, Any]])
Returns: List[InventarioDTO]
get_inventario_by_id(self, inv_id: int) → Optional[InventarioMateriali]
Get inventory item by ID
Parameters:
selfinv_id(int)
Returns: Optional[InventarioMateriali]
get_inventario_by_site(self, site_name: str, page: int, size: int) → List[InventarioDTO]
Get all inventory items for a specific site - returns DTOs
Parameters:
selfsite_name(str)page(int)size(int)
Returns: List[InventarioDTO]
get_inventario_by_type(self, tipo_reperto: str, page: int, size: int) → List[InventarioDTO]
Get all inventory items of a specific type - returns DTOs
Parameters:
selftipo_reperto(str)page(int)size(int)
Returns: List[InventarioDTO]
get_inventario_by_us(self, site_name: str, area: str, us_number: int, page: int, size: int) → List[InventarioDTO]
Get all inventory items for a specific US - returns DTOs
Parameters:
selfsite_name(str)area(str)us_number(int)page(int)size(int)
Returns: List[InventarioDTO]
get_inventario_dto_by_id(self, inv_id: int) → Optional[InventarioDTO]
Get inventory item by ID as DTO
Parameters:
selfinv_id(int)
Returns: Optional[InventarioDTO]
get_inventory_statistics(self, inv_id: int) → Dict[str, Any]
Get statistics for an inventory item
Parameters:
selfinv_id(int)
Returns: Dict[str, Any]
get_type_statistics(self, site_name: Optional[str]) → Dict[str, int]
Get statistics by find type
Parameters:
selfsite_name(Optional[str])
Returns: Dict[str, int]
search_inventario(self, search_term: str, page: int, size: int) → List[InventarioDTO]
Search inventory items by term - returns DTOs
Parameters:
selfsearch_term(str)page(int)size(int)
Returns: List[InventarioDTO]
update_inventario(self, inv_id: int, update_data: Dict[str, Any]) → InventarioMateriali
Update existing inventory item
Parameters:
selfinv_id(int)update_data(Dict[str, Any])
Returns: InventarioMateriali
InventarioService
Service class for inventory operations
Methods:
__init__(self, db_manager: DatabaseManager)
Initializes a new instance of the InventarioService class.
This constructor accepts a DatabaseManager object, which is used to manage database operations related to inventory activities.
Parameters:
selfdb_manager(DatabaseManager)
count_inventario(self, filters: Optional[Dict[str, Any]]) → int
Count inventory items with optional filters
Parameters:
selffilters(Optional[Dict[str, Any]])
Returns: int
create_inventario(self, inv_data: Dict[str, Any]) → InventarioMateriali
Create a new inventory item
Parameters:
selfinv_data(Dict[str, Any])
Returns: InventarioMateriali
create_inventario_dto(self, inv_data: Dict[str, Any]) → InventarioDTO
Create a new inventory item and return as DTO
Parameters:
selfinv_data(Dict[str, Any])
Returns: InventarioDTO
delete_inventario(self, inv_id: int) → bool
Delete inventory item
Parameters:
selfinv_id(int)
Returns: bool
get_all_inventario(self, page: int, size: int, filters: Optional[Dict[str, Any]]) → List[InventarioDTO]
Get all inventory items with pagination and filtering - returns DTOs
Parameters:
selfpage(int)size(int)filters(Optional[Dict[str, Any]])
Returns: List[InventarioDTO]
get_all_inventario_dto(self, page: int, size: int) → List
Get all inventario items as DTOs (session-safe)
Parameters:
selfpage(int)size(int)
Returns: List
get_inventario_by_id(self, inv_id: int) → Optional[InventarioMateriali]
Get inventory item by ID
Parameters:
selfinv_id(int)
Returns: Optional[InventarioMateriali]
get_inventario_by_site(self, site_name: str, page: int, size: int) → List[InventarioDTO]
Get all inventory items for a specific site - returns DTOs
Parameters:
selfsite_name(str)page(int)size(int)
Returns: List[InventarioDTO]
get_inventario_by_type(self, tipo_reperto: str, page: int, size: int) → List[InventarioDTO]
Get all inventory items of a specific type - returns DTOs
Parameters:
selftipo_reperto(str)page(int)size(int)
Returns: List[InventarioDTO]
get_inventario_by_us(self, site_name: str, area: str, us_number: int, page: int, size: int) → List[InventarioDTO]
Get all inventory items for a specific US - returns DTOs
Parameters:
selfsite_name(str)area(str)us_number(int)page(int)size(int)
Returns: List[InventarioDTO]
get_inventario_dto_by_id(self, inv_id: int) → Optional[InventarioDTO]
Get inventory item by ID as DTO
Parameters:
selfinv_id(int)
Returns: Optional[InventarioDTO]
get_inventory_statistics(self, inv_id: int) → Dict[str, Any]
Get statistics for an inventory item
Parameters:
selfinv_id(int)
Returns: Dict[str, Any]
get_type_statistics(self, site_name: Optional[str]) → Dict[str, int]
Get statistics by find type
Parameters:
selfsite_name(Optional[str])
Returns: Dict[str, int]
search_inventario(self, search_term: str, page: int, size: int) → List[InventarioDTO]
Search inventory items by term - returns DTOs
Parameters:
selfsearch_term(str)page(int)size(int)
Returns: List[InventarioDTO]
update_inventario(self, inv_id: int, update_data: Dict[str, Any]) → InventarioMateriali
Update existing inventory item
Parameters:
selfinv_id(int)update_data(Dict[str, Any])
Returns: InventarioMateriali
InventarioService
Service class for inventory operations
Methods:
__init__(self, db_manager: DatabaseManager)
Initializes an instance of the InventarioService class.
This constructor accepts a DatabaseManager object and assigns it to the instance for managing database operations related to inventory.
Parameters:
selfdb_manager(DatabaseManager)
count_inventario(self, filters: Optional[Dict[str, Any]]) → int
Count inventory items with optional filters
Parameters:
selffilters(Optional[Dict[str, Any]])
Returns: int
create_inventario(self, inv_data: Dict[str, Any]) → InventarioMateriali
Create a new inventory item
Parameters:
selfinv_data(Dict[str, Any])
Returns: InventarioMateriali
create_inventario_dto(self, inv_data: Dict[str, Any]) → InventarioDTO
Create a new inventory item and return as DTO
Parameters:
selfinv_data(Dict[str, Any])
Returns: InventarioDTO
delete_inventario(self, inv_id: int) → bool
Delete inventory item
Parameters:
selfinv_id(int)
Returns: bool
get_all_inventario(self, page: int, size: int, filters: Optional[Dict[str, Any]]) → List[InventarioDTO]
Get all inventory items with pagination and filtering - returns DTOs
Parameters:
selfpage(int)size(int)filters(Optional[Dict[str, Any]])
Returns: List[InventarioDTO]
get_all_inventario_dto(self, page: int, size: int) → List
Get all inventario items as DTOs (session-safe)
Parameters:
selfpage(int)size(int)
Returns: List
get_inventario_by_id(self, inv_id: int) → Optional[InventarioMateriali]
Get inventory item by ID
Parameters:
selfinv_id(int)
Returns: Optional[InventarioMateriali]
get_inventario_by_site(self, site_name: str, page: int, size: int) → List[InventarioDTO]
Get all inventory items for a specific site - returns DTOs
Parameters:
selfsite_name(str)page(int)size(int)
Returns: List[InventarioDTO]
get_inventario_by_type(self, tipo_reperto: str, page: int, size: int) → List[InventarioDTO]
Get all inventory items of a specific type - returns DTOs
Parameters:
selftipo_reperto(str)page(int)size(int)
Returns: List[InventarioDTO]
get_inventario_by_us(self, site_name: str, area: str, us_number: int, page: int, size: int) → List[InventarioDTO]
Get all inventory items for a specific US - returns DTOs
Parameters:
selfsite_name(str)area(str)us_number(int)page(int)size(int)
Returns: List[InventarioDTO]
get_inventario_dto_by_id(self, inv_id: int) → Optional[InventarioDTO]
Get inventory item by ID as DTO
Parameters:
selfinv_id(int)
Returns: Optional[InventarioDTO]
get_inventory_statistics(self, inv_id: int) → Dict[str, Any]
Get statistics for an inventory item
Parameters:
selfinv_id(int)
Returns: Dict[str, Any]
get_type_statistics(self, site_name: Optional[str]) → Dict[str, int]
Get statistics by find type
Parameters:
selfsite_name(Optional[str])
Returns: Dict[str, int]
search_inventario(self, search_term: str, page: int, size: int) → List[InventarioDTO]
Search inventory items by term - returns DTOs
Parameters:
selfsearch_term(str)page(int)size(int)
Returns: List[InventarioDTO]
update_inventario(self, inv_id: int, update_data: Dict[str, Any]) → InventarioMateriali
Update existing inventory item
Parameters:
selfinv_id(int)update_data(Dict[str, Any])
Returns: InventarioMateriali
\newpage
Module: pyarchinit_mini/services/media_service.py
File Path: pyarchinit_mini/services/media_service.py
Classes
DocumentationService
Service class for documentation operations
Methods:
__init__(self, db_manager: DatabaseManager)
Initializes a new instance of the DocumentationService class.
This constructor method takes a DatabaseManager object as a parameter and assigns it to an instance variable for use in documentation operations.
Parameters:
selfdb_manager(DatabaseManager)
count_documentation(self, filters: Optional[Dict[str, Any]]) → int
Count documentation with optional filters
Parameters:
selffilters(Optional[Dict[str, Any]])
Returns: int
create_documentation(self, doc_data: Dict[str, Any]) → Documentation
Create a new documentation record
Parameters:
selfdoc_data(Dict[str, Any])
Returns: Documentation
delete_documentation(self, doc_id: int, delete_file: bool) → bool
Delete documentation record and optionally the file
Parameters:
selfdoc_id(int)delete_file(bool)
Returns: bool
get_all_documentation(self, page: int, size: int, filters: Optional[Dict[str, Any]]) → List[Documentation]
Get all documentation with pagination and filtering
Parameters:
selfpage(int)size(int)filters(Optional[Dict[str, Any]])
Returns: List[Documentation]
get_documentation_by_entity(self, entity_type: str, entity_id: int, page: int, size: int) → List[Documentation]
Get all documentation for a specific entity
Parameters:
selfentity_type(str)entity_id(int)page(int)size(int)
Returns: List[Documentation]
get_documentation_by_id(self, doc_id: int) → Optional[Documentation]
Get documentation by ID
Parameters:
selfdoc_id(int)
Returns: Optional[Documentation]
update_documentation(self, doc_id: int, update_data: Dict[str, Any]) → Documentation
Update existing documentation
Parameters:
selfdoc_id(int)update_data(Dict[str, Any])
Returns: Documentation
DocumentationService
Service class for documentation operations
Methods:
__init__(self, db_manager: DatabaseManager)
Initializes a new instance of the DocumentationService class. This constructor takes a DatabaseManager object as a parameter and assigns it to an instance variable for managing database interactions related to documentation operations.
Parameters:
selfdb_manager(DatabaseManager)
count_documentation(self, filters: Optional[Dict[str, Any]]) → int
Count documentation with optional filters
Parameters:
selffilters(Optional[Dict[str, Any]])
Returns: int
create_documentation(self, doc_data: Dict[str, Any]) → Documentation
Create a new documentation record
Parameters:
selfdoc_data(Dict[str, Any])
Returns: Documentation
delete_documentation(self, doc_id: int, delete_file: bool) → bool
Delete documentation record and optionally the file
Parameters:
selfdoc_id(int)delete_file(bool)
Returns: bool
get_all_documentation(self, page: int, size: int, filters: Optional[Dict[str, Any]]) → List[Documentation]
Get all documentation with pagination and filtering
Parameters:
selfpage(int)size(int)filters(Optional[Dict[str, Any]])
Returns: List[Documentation]
get_documentation_by_entity(self, entity_type: str, entity_id: int, page: int, size: int) → List[Documentation]
Get all documentation for a specific entity
Parameters:
selfentity_type(str)entity_id(int)page(int)size(int)
Returns: List[Documentation]
get_documentation_by_id(self, doc_id: int) → Optional[Documentation]
Get documentation by ID
Parameters:
selfdoc_id(int)
Returns: Optional[Documentation]
update_documentation(self, doc_id: int, update_data: Dict[str, Any]) → Documentation
Update existing documentation
Parameters:
selfdoc_id(int)update_data(Dict[str, Any])
Returns: Documentation
DocumentationService
Service class for documentation operations
Methods:
__init__(self, db_manager: DatabaseManager)
Initializes a new instance of the DocumentationService class by assigning the provided DatabaseManager instance to the db_manager attribute. This setup enables the service to perform documentation operations using the specified database manager.
Parameters:
selfdb_manager(DatabaseManager)
count_documentation(self, filters: Optional[Dict[str, Any]]) → int
Count documentation with optional filters
Parameters:
selffilters(Optional[Dict[str, Any]])
Returns: int
create_documentation(self, doc_data: Dict[str, Any]) → Documentation
Create a new documentation record
Parameters:
selfdoc_data(Dict[str, Any])
Returns: Documentation
delete_documentation(self, doc_id: int, delete_file: bool) → bool
Delete documentation record and optionally the file
Parameters:
selfdoc_id(int)delete_file(bool)
Returns: bool
get_all_documentation(self, page: int, size: int, filters: Optional[Dict[str, Any]]) → List[Documentation]
Get all documentation with pagination and filtering
Parameters:
selfpage(int)size(int)filters(Optional[Dict[str, Any]])
Returns: List[Documentation]
get_documentation_by_entity(self, entity_type: str, entity_id: int, page: int, size: int) → List[Documentation]
Get all documentation for a specific entity
Parameters:
selfentity_type(str)entity_id(int)page(int)size(int)
Returns: List[Documentation]
get_documentation_by_id(self, doc_id: int) → Optional[Documentation]
Get documentation by ID
Parameters:
selfdoc_id(int)
Returns: Optional[Documentation]
update_documentation(self, doc_id: int, update_data: Dict[str, Any]) → Documentation
Update existing documentation
Parameters:
selfdoc_id(int)update_data(Dict[str, Any])
Returns: Documentation
MediaService
Service class for media operations
Methods:
__init__(self, db_manager: DatabaseManager, media_handler: Optional[MediaHandler])
Initializes a new instance of the MediaService class. This constructor accepts a DatabaseManager object for database operations and an optional MediaHandler; if none is provided, a default MediaHandler instance is created.
Parameters:
selfdb_manager(DatabaseManager)media_handler(Optional[MediaHandler])
count_media(self, filters: Optional[Dict[str, Any]]) → int
Count media with optional filters
Parameters:
selffilters(Optional[Dict[str, Any]])
Returns: int
create_media_collection(self, collection_name: str, entity_type: str, entity_id: int, media_ids: List[int]) → Dict[str, Any]
Create a media collection (virtual grouping)
Parameters:
selfcollection_name(str)entity_type(str)entity_id(int)media_ids(List[int])
Returns: Dict[str, Any]
create_media_record(self, media_data: Dict[str, Any]) → Media
Create a new media record in database
Parameters:
selfmedia_data(Dict[str, Any])
Returns: Media
delete_media(self, media_id: int, delete_file: bool) → bool
Delete media record and optionally the file
Parameters:
selfmedia_id(int)delete_file(bool)
Returns: bool
export_media_archive(self, entity_type: str, entity_id: int, archive_path: str, include_metadata: bool) → bool
Export media archive for an entity
Parameters:
selfentity_type(str)entity_id(int)archive_path(str)include_metadata(bool)
Returns: bool
get_all_media(self, page: int, size: int, filters: Optional[Dict[str, Any]]) → List[Media]
Get all media with pagination and filtering
Parameters:
selfpage(int)size(int)filters(Optional[Dict[str, Any]])
Returns: List[Media]
get_media_by_entity(self, entity_type: str, entity_id: int, page: int, size: int) → List[Media]
Get all media for a specific entity
Parameters:
selfentity_type(str)entity_id(int)page(int)size(int)
Returns: List[Media]
get_media_by_id(self, media_id: int) → Optional[Media]
Get media by ID
Parameters:
selfmedia_id(int)
Returns: Optional[Media]
get_media_by_site_summary(self, site_name: str) → Dict[str, Any]
Get media summary for a site
Parameters:
selfsite_name(str)
Returns: Dict[str, Any]
get_media_by_type(self, media_type: str, page: int, size: int) → List[Media]
Get all media of a specific type
Parameters:
selfmedia_type(str)page(int)size(int)
Returns: List[Media]
get_media_statistics(self) → Dict[str, Any]
Get media statistics
Parameters:
self
Returns: Dict[str, Any]
get_primary_media(self, entity_type: str, entity_id: int) → Optional[Media]
Get primary media for an entity
Parameters:
selfentity_type(str)entity_id(int)
Returns: Optional[Media]
search_media(self, search_term: str, page: int, size: int) → List[Media]
Search media by term
Parameters:
selfsearch_term(str)page(int)size(int)
Returns: List[Media]
set_primary_media(self, media_id: int, entity_type: str, entity_id: int) → bool
Set media as primary for an entity
Parameters:
selfmedia_id(int)entity_type(str)entity_id(int)
Returns: bool
update_media(self, media_id: int, update_data: Dict[str, Any]) → Media
Update existing media
Parameters:
selfmedia_id(int)update_data(Dict[str, Any])
Returns: Media
MediaService
Service class for media operations
Methods:
__init__(self, db_manager: DatabaseManager, media_handler: Optional[MediaHandler])
Initializes a new instance of the MediaService class.
This constructor accepts a DatabaseManager instance for database operations and an optional MediaHandler; if no MediaHandler is provided, a default instance is created and used.
Parameters:
selfdb_manager(DatabaseManager)media_handler(Optional[MediaHandler])
count_media(self, filters: Optional[Dict[str, Any]]) → int
Count media with optional filters
Parameters:
selffilters(Optional[Dict[str, Any]])
Returns: int
create_media_collection(self, collection_name: str, entity_type: str, entity_id: int, media_ids: List[int]) → Dict[str, Any]
Create a media collection (virtual grouping)
Parameters:
selfcollection_name(str)entity_type(str)entity_id(int)media_ids(List[int])
Returns: Dict[str, Any]
create_media_record(self, media_data: Dict[str, Any]) → Media
Create a new media record in database
Parameters:
selfmedia_data(Dict[str, Any])
Returns: Media
delete_media(self, media_id: int, delete_file: bool) → bool
Delete media record and optionally the file
Parameters:
selfmedia_id(int)delete_file(bool)
Returns: bool
export_media_archive(self, entity_type: str, entity_id: int, archive_path: str, include_metadata: bool) → bool
Export media archive for an entity
Parameters:
selfentity_type(str)entity_id(int)archive_path(str)include_metadata(bool)
Returns: bool
get_all_media(self, page: int, size: int, filters: Optional[Dict[str, Any]]) → List[Media]
Get all media with pagination and filtering
Parameters:
selfpage(int)size(int)filters(Optional[Dict[str, Any]])
Returns: List[Media]
get_media_by_entity(self, entity_type: str, entity_id: int, page: int, size: int) → List[Media]
Get all media for a specific entity
Parameters:
selfentity_type(str)entity_id(int)page(int)size(int)
Returns: List[Media]
get_media_by_id(self, media_id: int) → Optional[Media]
Get media by ID
Parameters:
selfmedia_id(int)
Returns: Optional[Media]
get_media_by_site_summary(self, site_name: str) → Dict[str, Any]
Get media summary for a site
Parameters:
selfsite_name(str)
Returns: Dict[str, Any]
get_media_by_type(self, media_type: str, page: int, size: int) → List[Media]
Get all media of a specific type
Parameters:
selfmedia_type(str)page(int)size(int)
Returns: List[Media]
get_media_statistics(self) → Dict[str, Any]
Get media statistics
Parameters:
self
Returns: Dict[str, Any]
get_primary_media(self, entity_type: str, entity_id: int) → Optional[Media]
Get primary media for an entity
Parameters:
selfentity_type(str)entity_id(int)
Returns: Optional[Media]
search_media(self, search_term: str, page: int, size: int) → List[Media]
Search media by term
Parameters:
selfsearch_term(str)page(int)size(int)
Returns: List[Media]
set_primary_media(self, media_id: int, entity_type: str, entity_id: int) → bool
Set media as primary for an entity
Parameters:
selfmedia_id(int)entity_type(str)entity_id(int)
Returns: bool
store_and_register_media(self, file_path: str, entity_type: str, entity_id: int, description: str, tags: str, author: str, is_primary: bool) → Media
Store media file and register in database
Parameters:
selffile_path(str)entity_type(str)entity_id(int)description(str)tags(str)author(str)is_primary(bool)
Returns: Media
update_media(self, media_id: int, update_data: Dict[str, Any]) → Media
Update existing media
Parameters:
selfmedia_id(int)update_data(Dict[str, Any])
Returns: Media
MediaService
Service class for media operations
Methods:
__init__(self, db_manager: DatabaseManager, media_handler: Optional[MediaHandler])
Initializes a new instance of the MediaService class with the specified database manager and an optional media handler. If no media handler is provided, a default MediaHandler instance is created and used. This setup prepares the service for performing media-related operations with the given dependencies.
Parameters:
selfdb_manager(DatabaseManager)media_handler(Optional[MediaHandler])
count_media(self, filters: Optional[Dict[str, Any]]) → int
Count media with optional filters
Parameters:
selffilters(Optional[Dict[str, Any]])
Returns: int
create_media_collection(self, collection_name: str, entity_type: str, entity_id: int, media_ids: List[int]) → Dict[str, Any]
Create a media collection (virtual grouping)
Parameters:
selfcollection_name(str)entity_type(str)entity_id(int)media_ids(List[int])
Returns: Dict[str, Any]
create_media_record(self, media_data: Dict[str, Any]) → Media
Create a new media record in database
Parameters:
selfmedia_data(Dict[str, Any])
Returns: Media
delete_media(self, media_id: int, delete_file: bool) → bool
Delete media record and optionally the file
Parameters:
selfmedia_id(int)delete_file(bool)
Returns: bool
export_media_archive(self, entity_type: str, entity_id: int, archive_path: str, include_metadata: bool) → bool
Export media archive for an entity
Parameters:
selfentity_type(str)entity_id(int)archive_path(str)include_metadata(bool)
Returns: bool
get_all_media(self, page: int, size: int, filters: Optional[Dict[str, Any]]) → List[Media]
Get all media with pagination and filtering
Parameters:
selfpage(int)size(int)filters(Optional[Dict[str, Any]])
Returns: List[Media]
get_media_by_entity(self, entity_type: str, entity_id: int, page: int, size: int) → List[Media]
Get all media for a specific entity
Parameters:
selfentity_type(str)entity_id(int)page(int)size(int)
Returns: List[Media]
get_media_by_id(self, media_id: int) → Optional[Media]
Get media by ID
Parameters:
selfmedia_id(int)
Returns: Optional[Media]
get_media_by_site_summary(self, site_name: str) → Dict[str, Any]
Get media summary for a site
Parameters:
selfsite_name(str)
Returns: Dict[str, Any]
get_media_by_type(self, media_type: str, page: int, size: int) → List[Media]
Get all media of a specific type
Parameters:
selfmedia_type(str)page(int)size(int)
Returns: List[Media]
get_media_statistics(self) → Dict[str, Any]
Get media statistics
Parameters:
self
Returns: Dict[str, Any]
get_primary_media(self, entity_type: str, entity_id: int) → Optional[Media]
Get primary media for an entity
Parameters:
selfentity_type(str)entity_id(int)
Returns: Optional[Media]
search_media(self, search_term: str, page: int, size: int) → List[Media]
Search media by term
Parameters:
selfsearch_term(str)page(int)size(int)
Returns: List[Media]
set_primary_media(self, media_id: int, entity_type: str, entity_id: int) → bool
Set media as primary for an entity
Parameters:
selfmedia_id(int)entity_type(str)entity_id(int)
Returns: bool
store_and_register_media(self, file_path: str, entity_type: str, entity_id: int, description: str, tags: str, author: str, is_primary: bool) → Media
Store media file and register in database
Parameters:
selffile_path(str)entity_type(str)entity_id(int)description(str)tags(str)author(str)is_primary(bool)
Returns: Media
update_media(self, media_id: int, update_data: Dict[str, Any]) → Media
Update existing media
Parameters:
selfmedia_id(int)update_data(Dict[str, Any])
Returns: Media
\newpage
Module: pyarchinit_mini/services/periodizzazione_service.py
File Path: pyarchinit_mini/services/periodizzazione_service.py
Classes
PeriodizzazioneService
Service class for periodization operations
Methods:
__init__(self, db_manager: DatabaseManager)
Initializes a new instance of the PeriodizzazioneService class.
This constructor method accepts a DatabaseManager object and assigns it to the service instance, enabling database operations for periodization-related methods.
Parameters:
selfdb_manager(DatabaseManager)
count_periodizzazioni(self, filters: Optional[Dict[str, Any]]) → int
Count periodizations with optional filters
Parameters:
selffilters(Optional[Dict[str, Any]])
Returns: int
count_periods(self, filters: Optional[Dict[str, Any]]) → int
Count periods with optional filters
Parameters:
selffilters(Optional[Dict[str, Any]])
Returns: int
create_period(self, period_data: Dict[str, Any]) → Period
Create a new archaeological period
Parameters:
selfperiod_data(Dict[str, Any])
Returns: Period
create_periodizzazione(self, periodizzazione_data: Dict[str, Any]) → Periodizzazione
Create a new periodization assignment
Parameters:
selfperiodizzazione_data(Dict[str, Any])
Returns: Periodizzazione
delete_period(self, period_id: int) → bool
Delete period
Parameters:
selfperiod_id(int)
Returns: bool
delete_periodizzazione(self, periodizzazione_id: int) → bool
Delete periodizzazione
Parameters:
selfperiodizzazione_id(int)
Returns: bool
get_all_periodizzazioni(self, page: int, size: int, filters: Optional[Dict[str, Any]]) → List[Periodizzazione]
Get all periodizations with pagination and filtering
Parameters:
selfpage(int)size(int)filters(Optional[Dict[str, Any]])
Returns: List[Periodizzazione]
get_all_periods(self, page: int, size: int, filters: Optional[Dict[str, Any]]) → List[Period]
Get all periods with pagination and filtering
Parameters:
selfpage(int)size(int)filters(Optional[Dict[str, Any]])
Returns: List[Period]
get_chronological_sequence(self, site_name: str) → List[Dict[str, Any]]
Get chronological sequence for a site based on US relationships and dating
Parameters:
selfsite_name(str)
Returns: List[Dict[str, Any]]
get_dating_summary_by_site(self, site_name: str) → Dict[str, Any]
Get dating summary for a site
Parameters:
selfsite_name(str)
Returns: Dict[str, Any]
get_period_by_id(self, period_id: int) → Optional[Period]
Get period by ID
Parameters:
selfperiod_id(int)
Returns: Optional[Period]
get_period_statistics(self) → Dict[str, Any]
Get general statistics about periods and dating
Parameters:
self
Returns: Dict[str, Any]
get_periodizzazione_by_id(self, periodizzazione_id: int) → Optional[Periodizzazione]
Get periodizzazione by ID
Parameters:
selfperiodizzazione_id(int)
Returns: Optional[Periodizzazione]
get_periodizzazioni_by_period(self, period_name: str, page: int, size: int) → List[Periodizzazione]
Get all periodizations for a specific period
Parameters:
selfperiod_name(str)page(int)size(int)
Returns: List[Periodizzazione]
get_periodizzazioni_by_site(self, site_name: str, page: int, size: int) → List[Periodizzazione]
Get all periodizations for a specific site
Parameters:
selfsite_name(str)page(int)size(int)
Returns: List[Periodizzazione]
search_periodizzazioni(self, search_term: str, page: int, size: int) → List[Periodizzazione]
Search periodizations by term
Parameters:
selfsearch_term(str)page(int)size(int)
Returns: List[Periodizzazione]
search_periods(self, search_term: str, page: int, size: int) → List[Period]
Search periods by term
Parameters:
selfsearch_term(str)page(int)size(int)
Returns: List[Period]
update_period(self, period_id: int, update_data: Dict[str, Any]) → Period
Update existing period
Parameters:
selfperiod_id(int)update_data(Dict[str, Any])
Returns: Period
update_periodizzazione(self, periodizzazione_id: int, update_data: Dict[str, Any]) → Periodizzazione
Update existing periodizzazione
Parameters:
selfperiodizzazione_id(int)update_data(Dict[str, Any])
Returns: Periodizzazione
PeriodizzazioneService
Service class for periodization operations
Methods:
__init__(self, db_manager: DatabaseManager)
Initializes a new instance of the PeriodizzazioneService class.
This constructor method accepts a DatabaseManager object, which is used to manage database operations related to periodization, and assigns it to an instance variable for use in the service methods.
Parameters:
selfdb_manager(DatabaseManager)
count_periodizzazioni(self, filters: Optional[Dict[str, Any]]) → int
Count periodizations with optional filters
Parameters:
selffilters(Optional[Dict[str, Any]])
Returns: int
count_periods(self, filters: Optional[Dict[str, Any]]) → int
Count periods with optional filters
Parameters:
selffilters(Optional[Dict[str, Any]])
Returns: int
create_period(self, period_data: Dict[str, Any]) → Period
Create a new archaeological period
Parameters:
selfperiod_data(Dict[str, Any])
Returns: Period
create_periodizzazione(self, periodizzazione_data: Dict[str, Any]) → Periodizzazione
Create a new periodization assignment
Parameters:
selfperiodizzazione_data(Dict[str, Any])
Returns: Periodizzazione
delete_period(self, period_id: int) → bool
Delete period
Parameters:
selfperiod_id(int)
Returns: bool
delete_periodizzazione(self, periodizzazione_id: int) → bool
Delete periodizzazione
Parameters:
selfperiodizzazione_id(int)
Returns: bool
get_all_periodizzazioni(self, page: int, size: int, filters: Optional[Dict[str, Any]]) → List[Periodizzazione]
Get all periodizations with pagination and filtering
Parameters:
selfpage(int)size(int)filters(Optional[Dict[str, Any]])
Returns: List[Periodizzazione]
get_all_periods(self, page: int, size: int, filters: Optional[Dict[str, Any]]) → List[Period]
Get all periods with pagination and filtering
Parameters:
selfpage(int)size(int)filters(Optional[Dict[str, Any]])
Returns: List[Period]
get_chronological_sequence(self, site_name: str) → List[Dict[str, Any]]
Get chronological sequence for a site based on US relationships and dating
Parameters:
selfsite_name(str)
Returns: List[Dict[str, Any]]
get_dating_summary_by_site(self, site_name: str) → Dict[str, Any]
Get dating summary for a site
Parameters:
selfsite_name(str)
Returns: Dict[str, Any]
get_period_by_id(self, period_id: int) → Optional[Period]
Get period by ID
Parameters:
selfperiod_id(int)
Returns: Optional[Period]
get_period_statistics(self) → Dict[str, Any]
Get general statistics about periods and dating
Parameters:
self
Returns: Dict[str, Any]
get_periodizzazione_by_id(self, periodizzazione_id: int) → Optional[Periodizzazione]
Get periodizzazione by ID
Parameters:
selfperiodizzazione_id(int)
Returns: Optional[Periodizzazione]
get_periodizzazioni_by_period(self, period_name: str, page: int, size: int) → List[Periodizzazione]
Get all periodizations for a specific period
Parameters:
selfperiod_name(str)page(int)size(int)
Returns: List[Periodizzazione]
get_periodizzazioni_by_site(self, site_name: str, page: int, size: int) → List[Periodizzazione]
Get all periodizations for a specific site
Parameters:
selfsite_name(str)page(int)size(int)
Returns: List[Periodizzazione]
search_periodizzazioni(self, search_term: str, page: int, size: int) → List[Periodizzazione]
Search periodizations by term
Parameters:
selfsearch_term(str)page(int)size(int)
Returns: List[Periodizzazione]
search_periods(self, search_term: str, page: int, size: int) → List[Period]
Search periods by term
Parameters:
selfsearch_term(str)page(int)size(int)
Returns: List[Period]
update_period(self, period_id: int, update_data: Dict[str, Any]) → Period
Update existing period
Parameters:
selfperiod_id(int)update_data(Dict[str, Any])
Returns: Period
update_periodizzazione(self, periodizzazione_id: int, update_data: Dict[str, Any]) → Periodizzazione
Update existing periodizzazione
Parameters:
selfperiodizzazione_id(int)update_data(Dict[str, Any])
Returns: Periodizzazione
PeriodizzazioneService
Service class for periodization operations
Methods:
__init__(self, db_manager: DatabaseManager)
Initializes a new instance of the PeriodizzazioneService class.
This constructor method accepts a DatabaseManager object and assigns it to the instance, enabling database operations for periodization tasks.
Parameters:
selfdb_manager(DatabaseManager)
count_periodizzazioni(self, filters: Optional[Dict[str, Any]]) → int
Count periodizations with optional filters
Parameters:
selffilters(Optional[Dict[str, Any]])
Returns: int
count_periods(self, filters: Optional[Dict[str, Any]]) → int
Count periods with optional filters
Parameters:
selffilters(Optional[Dict[str, Any]])
Returns: int
create_period(self, period_data: Dict[str, Any]) → Period
Create a new archaeological period
Parameters:
selfperiod_data(Dict[str, Any])
Returns: Period
create_periodizzazione(self, periodizzazione_data: Dict[str, Any]) → Periodizzazione
Create a new periodization assignment
Parameters:
selfperiodizzazione_data(Dict[str, Any])
Returns: Periodizzazione
delete_period(self, period_id: int) → bool
Delete period
Parameters:
selfperiod_id(int)
Returns: bool
delete_periodizzazione(self, periodizzazione_id: int) → bool
Delete periodizzazione
Parameters:
selfperiodizzazione_id(int)
Returns: bool
get_all_periodizzazioni(self, page: int, size: int, filters: Optional[Dict[str, Any]]) → List[Periodizzazione]
Get all periodizations with pagination and filtering
Parameters:
selfpage(int)size(int)filters(Optional[Dict[str, Any]])
Returns: List[Periodizzazione]
get_all_periods(self, page: int, size: int, filters: Optional[Dict[str, Any]]) → List[Period]
Get all periods with pagination and filtering
Parameters:
selfpage(int)size(int)filters(Optional[Dict[str, Any]])
Returns: List[Period]
get_chronological_sequence(self, site_name: str) → List[Dict[str, Any]]
Get chronological sequence for a site based on US relationships and dating
Parameters:
selfsite_name(str)
Returns: List[Dict[str, Any]]
get_dating_summary_by_site(self, site_name: str) → Dict[str, Any]
Get dating summary for a site
Parameters:
selfsite_name(str)
Returns: Dict[str, Any]
get_period_by_id(self, period_id: int) → Optional[Period]
Get period by ID
Parameters:
selfperiod_id(int)
Returns: Optional[Period]
get_period_statistics(self) → Dict[str, Any]
Get general statistics about periods and dating
Parameters:
self
Returns: Dict[str, Any]
get_periodizzazione_by_id(self, periodizzazione_id: int) → Optional[Periodizzazione]
Get periodizzazione by ID
Parameters:
selfperiodizzazione_id(int)
Returns: Optional[Periodizzazione]
get_periodizzazioni_by_period(self, period_name: str, page: int, size: int) → List[Periodizzazione]
Get all periodizations for a specific period
Parameters:
selfperiod_name(str)page(int)size(int)
Returns: List[Periodizzazione]
get_periodizzazioni_by_site(self, site_name: str, page: int, size: int) → List[Periodizzazione]
Get all periodizations for a specific site
Parameters:
selfsite_name(str)page(int)size(int)
Returns: List[Periodizzazione]
search_periodizzazioni(self, search_term: str, page: int, size: int) → List[Periodizzazione]
Search periodizations by term
Parameters:
selfsearch_term(str)page(int)size(int)
Returns: List[Periodizzazione]
search_periods(self, search_term: str, page: int, size: int) → List[Period]
Search periods by term
Parameters:
selfsearch_term(str)page(int)size(int)
Returns: List[Period]
update_period(self, period_id: int, update_data: Dict[str, Any]) → Period
Update existing period
Parameters:
selfperiod_id(int)update_data(Dict[str, Any])
Returns: Period
update_periodizzazione(self, periodizzazione_id: int, update_data: Dict[str, Any]) → Periodizzazione
Update existing periodizzazione
Parameters:
selfperiodizzazione_id(int)update_data(Dict[str, Any])
Returns: Periodizzazione
\newpage
Module: pyarchinit_mini/services/site_service.py
File Path: pyarchinit_mini/services/site_service.py
Classes
SiteService
Service class for site operations
Methods:
__init__(self, db_manager: DatabaseManager)
Initializes a new instance of the SiteService class.
This constructor method accepts a DatabaseManager object and assigns it to an instance variable, enabling the service to interact with the database.
Parameters:
selfdb_manager(DatabaseManager)
count_sites(self, filters: Optional[Dict[str, Any]]) → int
Count sites with optional filters
Parameters:
selffilters(Optional[Dict[str, Any]])
Returns: int
create_site(self, site_data: Dict[str, Any]) → Site
Create a new site
Parameters:
selfsite_data(Dict[str, Any])
Returns: Site
delete_site(self, site_id: int) → bool
Delete site
Parameters:
selfsite_id(int)
Returns: bool
get_all_sites(self, page: int, size: int, filters: Optional[Dict[str, Any]]) → List[SiteDTO]
Get all sites with pagination and filtering - returns DTOs
Parameters:
selfpage(int)size(int)filters(Optional[Dict[str, Any]])
Returns: List[SiteDTO]
get_site_by_id(self, site_id: int) → Optional[Site]
Get site by ID
Parameters:
selfsite_id(int)
Returns: Optional[Site]
get_site_by_name(self, site_name: str) → Optional[Site]
Get site by name
Parameters:
selfsite_name(str)
Returns: Optional[Site]
get_site_dto_by_id(self, site_id: int) → Optional[SiteDTO]
Get site by ID as DTO
Parameters:
selfsite_id(int)
Returns: Optional[SiteDTO]
get_site_statistics(self, site_id: int) → Dict[str, Any]
Get statistics for a site
Parameters:
selfsite_id(int)
Returns: Dict[str, Any]
get_unique_countries(self) → List[str]
Get list of unique countries
Parameters:
self
Returns: List[str]
get_unique_municipalities(self, nazione: Optional[str], regione: Optional[str]) → List[str]
Get list of unique municipalities with optional filters
Parameters:
selfnazione(Optional[str])regione(Optional[str])
Returns: List[str]
get_unique_regions(self, nazione: Optional[str]) → List[str]
Get list of unique regions, optionally filtered by country
Parameters:
selfnazione(Optional[str])
Returns: List[str]
search_sites(self, search_term: str, page: int, size: int, filters: Optional[Dict[str, Any]]) → List[SiteDTO]
Search sites by term - returns DTOs
Parameters:
selfsearch_term(str)page(int)size(int)filters(Optional[Dict[str, Any]])
Returns: List[SiteDTO]
update_site(self, site_id: int, update_data: Dict[str, Any]) → Site
Update existing site
Parameters:
selfsite_id(int)update_data(Dict[str, Any])
Returns: Site
SiteService
Service class for site operations
Methods:
__init__(self, db_manager: DatabaseManager)
Initializes a new instance of the SiteService class.
This constructor accepts a DatabaseManager object, which is used to manage database operations related to site functionalities.
Parameters:
selfdb_manager(DatabaseManager)
count_sites(self, filters: Optional[Dict[str, Any]]) → int
Count sites with optional filters
Parameters:
selffilters(Optional[Dict[str, Any]])
Returns: int
count_sites(self) → int
Count total number of sites
Parameters:
self
Returns: int
create_site(self, site_data: Dict[str, Any]) → Site
Create a new site
Parameters:
selfsite_data(Dict[str, Any])
Returns: Site
create_site_dto(self, site_data: Dict[str, Any]) → SiteDTO
Create a new site and return as DTO
Parameters:
selfsite_data(Dict[str, Any])
Returns: SiteDTO
delete_site(self, site_id: int) → bool
Delete site
Parameters:
selfsite_id(int)
Returns: bool
get_all_sites(self, page: int, size: int, filters: Optional[Dict[str, Any]]) → List[SiteDTO]
Get all sites with pagination and filtering - returns DTOs
Parameters:
selfpage(int)size(int)filters(Optional[Dict[str, Any]])
Returns: List[SiteDTO]
get_all_sites_dto(self, page: int, size: int) → List[SiteDTO]
Get all sites as DTOs with pagination
Parameters:
selfpage(int)size(int)
Returns: List[SiteDTO]
get_site_by_id(self, site_id: int) → Optional[Site]
Get site by ID
Parameters:
selfsite_id(int)
Returns: Optional[Site]
get_site_by_name(self, site_name: str) → Optional[Site]
Get site by name
Parameters:
selfsite_name(str)
Returns: Optional[Site]
get_site_dto_by_id(self, site_id: int) → Optional[SiteDTO]
Get site by ID as DTO
Parameters:
selfsite_id(int)
Returns: Optional[SiteDTO]
get_site_statistics(self, site_id: int) → Dict[str, Any]
Get statistics for a site
Parameters:
selfsite_id(int)
Returns: Dict[str, Any]
get_unique_countries(self) → List[str]
Get list of unique countries
Parameters:
self
Returns: List[str]
get_unique_municipalities(self, nazione: Optional[str], regione: Optional[str]) → List[str]
Get list of unique municipalities with optional filters
Parameters:
selfnazione(Optional[str])regione(Optional[str])
Returns: List[str]
get_unique_regions(self, nazione: Optional[str]) → List[str]
Get list of unique regions, optionally filtered by country
Parameters:
selfnazione(Optional[str])
Returns: List[str]
search_sites(self, search_term: str, page: int, size: int, filters: Optional[Dict[str, Any]]) → List[SiteDTO]
Search sites by term - returns DTOs
Parameters:
selfsearch_term(str)page(int)size(int)filters(Optional[Dict[str, Any]])
Returns: List[SiteDTO]
update_site(self, site_id: int, update_data: Dict[str, Any]) → Site
Update existing site
Parameters:
selfsite_id(int)update_data(Dict[str, Any])
Returns: Site
update_site_dto(self, site_id: int, update_data: Dict[str, Any]) → Optional[SiteDTO]
Update existing site and return DTO
Parameters:
selfsite_id(int)update_data(Dict[str, Any])
Returns: Optional[SiteDTO]
SiteService
Service class for site operations
Methods:
__init__(self, db_manager: DatabaseManager)
Initializes a new instance of the SiteService class.
This constructor method accepts a DatabaseManager object and assigns it to the instance for managing database operations related to site functionality.
Parameters:
selfdb_manager(DatabaseManager)
count_sites(self, filters: Optional[Dict[str, Any]]) → int
Count sites with optional filters
Parameters:
selffilters(Optional[Dict[str, Any]])
Returns: int
count_sites(self) → int
Count total number of sites
Parameters:
self
Returns: int
create_site(self, site_data: Dict[str, Any]) → Site
Create a new site
Parameters:
selfsite_data(Dict[str, Any])
Returns: Site
create_site_dto(self, site_data: Dict[str, Any]) → SiteDTO
Create a new site and return as DTO
Parameters:
selfsite_data(Dict[str, Any])
Returns: SiteDTO
delete_site(self, site_id: int) → bool
Delete site
Parameters:
selfsite_id(int)
Returns: bool
get_all_sites(self, page: int, size: int, filters: Optional[Dict[str, Any]]) → List[SiteDTO]
Get all sites with pagination and filtering - returns DTOs
Parameters:
selfpage(int)size(int)filters(Optional[Dict[str, Any]])
Returns: List[SiteDTO]
get_all_sites_dto(self, page: int, size: int) → List[SiteDTO]
Get all sites as DTOs with pagination
Parameters:
selfpage(int)size(int)
Returns: List[SiteDTO]
get_site_by_id(self, site_id: int) → Optional[Site]
Get site by ID
Parameters:
selfsite_id(int)
Returns: Optional[Site]
get_site_by_name(self, site_name: str) → Optional[Site]
Get site by name
Parameters:
selfsite_name(str)
Returns: Optional[Site]
get_site_dto_by_id(self, site_id: int) → Optional[SiteDTO]
Get site by ID as DTO
Parameters:
selfsite_id(int)
Returns: Optional[SiteDTO]
get_site_statistics(self, site_id: int) → Dict[str, Any]
Get statistics for a site
Parameters:
selfsite_id(int)
Returns: Dict[str, Any]
get_unique_countries(self) → List[str]
Get list of unique countries
Parameters:
self
Returns: List[str]
get_unique_municipalities(self, nazione: Optional[str], regione: Optional[str]) → List[str]
Get list of unique municipalities with optional filters
Parameters:
selfnazione(Optional[str])regione(Optional[str])
Returns: List[str]
get_unique_regions(self, nazione: Optional[str]) → List[str]
Get list of unique regions, optionally filtered by country
Parameters:
selfnazione(Optional[str])
Returns: List[str]
search_sites(self, search_term: str, page: int, size: int, filters: Optional[Dict[str, Any]]) → List[SiteDTO]
Search sites by term - returns DTOs
Parameters:
selfsearch_term(str)page(int)size(int)filters(Optional[Dict[str, Any]])
Returns: List[SiteDTO]
update_site(self, site_id: int, update_data: Dict[str, Any]) → Site
Update existing site
Parameters:
selfsite_id(int)update_data(Dict[str, Any])
Returns: Site
update_site_dto(self, site_id: int, update_data: Dict[str, Any]) → Optional[SiteDTO]
Update existing site and return DTO
Parameters:
selfsite_id(int)update_data(Dict[str, Any])
Returns: Optional[SiteDTO]
\newpage
Module: pyarchinit_mini/services/thesaurus_service.py
File Path: pyarchinit_mini/services/thesaurus_service.py
Classes
ThesaurusService
Service for managing thesaurus and controlled vocabularies
Methods:
__init__(self, db_manager: DatabaseManager)
Initializes the service with the provided database manager instance.
This constructor sets up the necessary database connection required for managing thesaurus and controlled vocabularies.
It ensures that all subsequent operations within the service have access to the database through the specified DatabaseManager.
Parameters:
selfdb_manager(DatabaseManager)
add_field_value(self, table_name: str, field_name: str, value: str, label: Optional[str], description: Optional[str], language: str) → Dict[str, Any]
Add a new vocabulary value for a field
Args: table_name: Database table name field_name: Field name value: The vocabulary value label: Human-readable label description: Description language: Language code
Returns: Created entry data
Parameters:
selftable_name(str)field_name(str)value(str)label(Optional[str])description(Optional[str])language(str)
Returns: Dict[str, Any]
delete_field_value(self, field_id: int) → bool
Delete a vocabulary value
Args: field_id: Field entry ID
Returns: True if deleted successfully
Parameters:
selffield_id(int)
Returns: bool
get_field_values(self, table_name: str, field_name: str, language: str) → List[Dict[str, Any]]
Get vocabulary values for a specific field
Args: table_name: Database table name field_name: Field name language: Language code
Returns: List of vocabulary entries
Parameters:
selftable_name(str)field_name(str)language(str)
Returns: List[Dict[str, Any]]
get_table_fields(self, table_name: str) → List[str]
Get list of fields that have thesaurus entries for a table
Args: table_name: Database table name
Returns: List of field names
Parameters:
selftable_name(str)
Returns: List[str]
initialize_default_vocabularies(self) → bool
Initialize default vocabularies from predefined mappings
Returns: True if initialized successfully
Parameters:
self
Returns: bool
search_values(self, query: str, table_name: Optional[str], field_name: Optional[str], language: str) → List[Dict[str, Any]]
Search vocabulary values by query string
Args: query: Search query table_name: Optional table filter field_name: Optional field filter language: Language code
Returns: List of matching entries
Parameters:
selfquery(str)table_name(Optional[str])field_name(Optional[str])language(str)
Returns: List[Dict[str, Any]]
update_field_value(self, field_id: int, value: Optional[str], label: Optional[str], description: Optional[str]) → Dict[str, Any]
Update an existing vocabulary value
Args: field_id: Field entry ID value: New value label: New label description: New description
Returns: Updated entry data
Parameters:
selffield_id(int)value(Optional[str])label(Optional[str])description(Optional[str])
Returns: Dict[str, Any]
ThesaurusService
Service for managing thesaurus and controlled vocabularies
Methods:
__init__(self, db_manager: DatabaseManager)
Initializes a new instance of the service for managing thesaurus and controlled vocabularies.
This constructor takes a DatabaseManager object as a parameter and assigns it to an instance variable for use in database operations throughout the service.
Parameters:
selfdb_manager(DatabaseManager)
add_field_value(self, table_name: str, field_name: str, value: str, label: Optional[str], description: Optional[str], language: str) → Dict[str, Any]
Add a new vocabulary value for a field
Args: table_name: Database table name field_name: Field name value: The vocabulary value label: Human-readable label description: Description language: Language code
Returns: Created entry data
Parameters:
selftable_name(str)field_name(str)value(str)label(Optional[str])description(Optional[str])language(str)
Returns: Dict[str, Any]
delete_field_value(self, field_id: int) → bool
Delete a vocabulary value
Args: field_id: Field entry ID
Returns: True if deleted successfully
Parameters:
selffield_id(int)
Returns: bool
get_field_values(self, table_name: str, field_name: str, language: str) → List[Dict[str, Any]]
Get vocabulary values for a specific field
Args: table_name: Database table name field_name: Field name language: Language code
Returns: List of vocabulary entries
Parameters:
selftable_name(str)field_name(str)language(str)
Returns: List[Dict[str, Any]]
get_table_fields(self, table_name: str) → List[str]
Get list of fields that have thesaurus entries for a table
Args: table_name: Database table name
Returns: List of field names
Parameters:
selftable_name(str)
Returns: List[str]
initialize_default_vocabularies(self) → bool
Initialize default vocabularies from predefined mappings
Returns: True if initialized successfully
Parameters:
self
Returns: bool
search_values(self, query: str, table_name: Optional[str], field_name: Optional[str], language: str) → List[Dict[str, Any]]
Search vocabulary values by query string
Args: query: Search query table_name: Optional table filter field_name: Optional field filter language: Language code
Returns: List of matching entries
Parameters:
selfquery(str)table_name(Optional[str])field_name(Optional[str])language(str)
Returns: List[Dict[str, Any]]
update_field_value(self, field_id: int, value: Optional[str], label: Optional[str], description: Optional[str]) → Dict[str, Any]
Update an existing vocabulary value
Args: field_id: Field entry ID value: New value label: New label description: New description
Returns: Updated entry data
Parameters:
selffield_id(int)value(Optional[str])label(Optional[str])description(Optional[str])
Returns: Dict[str, Any]
ThesaurusService
Service for managing thesaurus and controlled vocabularies
Methods:
__init__(self, db_manager: DatabaseManager)
Initializes a new instance of the service for managing thesaurus and controlled vocabularies.
This method sets up the service with the provided DatabaseManager, enabling database operations required for vocabulary management.
Parameters:
selfdb_manager(DatabaseManager)
add_field_value(self, table_name: str, field_name: str, value: str, label: Optional[str], description: Optional[str], language: str) → Dict[str, Any]
Add a new vocabulary value for a field
Args: table_name: Database table name field_name: Field name value: The vocabulary value label: Human-readable label description: Description language: Language code
Returns: Created entry data
Parameters:
selftable_name(str)field_name(str)value(str)label(Optional[str])description(Optional[str])language(str)
Returns: Dict[str, Any]
delete_field_value(self, field_id: int) → bool
Delete a vocabulary value
Args: field_id: Field entry ID
Returns: True if deleted successfully
Parameters:
selffield_id(int)
Returns: bool
get_field_values(self, table_name: str, field_name: str, language: str) → List[Dict[str, Any]]
Get vocabulary values for a specific field
Args: table_name: Database table name field_name: Field name language: Language code
Returns: List of vocabulary entries
Parameters:
selftable_name(str)field_name(str)language(str)
Returns: List[Dict[str, Any]]
get_table_fields(self, table_name: str) → List[str]
Get list of fields that have thesaurus entries for a table
Args: table_name: Database table name
Returns: List of field names
Parameters:
selftable_name(str)
Returns: List[str]
initialize_default_vocabularies(self) → bool
Initialize default vocabularies from predefined mappings
Returns: True if initialized successfully
Parameters:
self
Returns: bool
search_values(self, query: str, table_name: Optional[str], field_name: Optional[str], language: str) → List[Dict[str, Any]]
Search vocabulary values by query string
Args: query: Search query table_name: Optional table filter field_name: Optional field filter language: Language code
Returns: List of matching entries
Parameters:
selfquery(str)table_name(Optional[str])field_name(Optional[str])language(str)
Returns: List[Dict[str, Any]]
update_field_value(self, field_id: int, value: Optional[str], label: Optional[str], description: Optional[str]) → Dict[str, Any]
Update an existing vocabulary value
Args: field_id: Field entry ID value: New value label: New label description: New description
Returns: Updated entry data
Parameters:
selffield_id(int)value(Optional[str])label(Optional[str])description(Optional[str])
Returns: Dict[str, Any]
\newpage
Module: pyarchinit_mini/services/us_service.py
File Path: pyarchinit_mini/services/us_service.py
Classes
USService
Service class for US operations
Methods:
__init__(self, db_manager: DatabaseManager)
Initializes a new instance of the USService class with the specified database manager.
This constructor assigns the provided DatabaseManager instance to the service, enabling database operations related to US (stratigraphic unit) management.
Parameters:
selfdb_manager(DatabaseManager)
count_us(self, filters: Optional[Dict[str, Any]]) → int
Count US with optional filters
Parameters:
selffilters(Optional[Dict[str, Any]])
Returns: int
create_us(self, us_data: Dict[str, Any]) → US
Create a new stratigraphic unit
Parameters:
selfus_data(Dict[str, Any])
Returns: US
delete_us(self, us_id: int) → bool
Delete US
Parameters:
selfus_id(int)
Returns: bool
get_all_us(self, page: int, size: int, filters: Optional[Dict[str, Any]]) → List[USDTO]
Get all US with pagination and filtering - returns DTOs
Parameters:
selfpage(int)size(int)filters(Optional[Dict[str, Any]])
Returns: List[USDTO]
get_us_by_id(self, us_id: int) → Optional[US]
Get US by ID
Parameters:
selfus_id(int)
Returns: Optional[US]
get_us_by_site(self, site_name: str, page: int, size: int) → List[USDTO]
Get all US for a specific site - returns DTOs
Parameters:
selfsite_name(str)page(int)size(int)
Returns: List[USDTO]
get_us_by_site_and_area(self, site_name: str, area: str, page: int, size: int) → List[USDTO]
Get all US for a specific site and area - returns DTOs
Parameters:
selfsite_name(str)area(str)page(int)size(int)
Returns: List[USDTO]
get_us_dto_by_id(self, us_id: int) → Optional[USDTO]
Get US by ID as DTO
Parameters:
selfus_id(int)
Returns: Optional[USDTO]
get_us_statistics(self, us_id: int) → Dict[str, Any]
Get statistics for a US
Parameters:
selfus_id(int)
Returns: Dict[str, Any]
search_us(self, search_term: str, page: int, size: int) → List[USDTO]
Search US by term - returns DTOs
Parameters:
selfsearch_term(str)page(int)size(int)
Returns: List[USDTO]
update_us(self, us_id: int, update_data: Dict[str, Any]) → US
Update existing US
Parameters:
selfus_id(int)update_data(Dict[str, Any])
Returns: US
update_us_dto(self, us_id: int, update_data: Dict[str, Any]) → Optional[USDTO]
Update existing US and return DTO
Parameters:
selfus_id(int)update_data(Dict[str, Any])
Returns: Optional[USDTO]
USService
Service class for US operations
Methods:
__init__(self, db_manager: DatabaseManager)
Initializes a new instance of the USService class.
This constructor method accepts a DatabaseManager object, which is stored as an instance attribute for managing database operations related to US services.
Parameters:
selfdb_manager(DatabaseManager)
count_us(self, filters: Optional[Dict[str, Any]]) → int
Count US with optional filters
Parameters:
selffilters(Optional[Dict[str, Any]])
Returns: int
create_us(self, us_data: Dict[str, Any]) → US
Create a new stratigraphic unit
Parameters:
selfus_data(Dict[str, Any])
Returns: US
create_us_dto(self, us_data: Dict[str, Any]) → USDTO
Create a new US and return as DTO
Parameters:
selfus_data(Dict[str, Any])
Returns: USDTO
delete_us(self, us_id: int) → bool
Delete US
Parameters:
selfus_id(int)
Returns: bool
get_all_us(self, page: int, size: int, filters: Optional[Dict[str, Any]]) → List[USDTO]
Get all US with pagination and filtering - returns DTOs
Parameters:
selfpage(int)size(int)filters(Optional[Dict[str, Any]])
Returns: List[USDTO]
get_us_by_id(self, us_id: int) → Optional[US]
Get US by ID
Parameters:
selfus_id(int)
Returns: Optional[US]
get_us_by_site(self, site_name: str, page: int, size: int) → List[USDTO]
Get all US for a specific site - returns DTOs
Parameters:
selfsite_name(str)page(int)size(int)
Returns: List[USDTO]
get_us_by_site_and_area(self, site_name: str, area: str, page: int, size: int) → List[USDTO]
Get all US for a specific site and area - returns DTOs
Parameters:
selfsite_name(str)area(str)page(int)size(int)
Returns: List[USDTO]
get_us_dto_by_id(self, us_id: int) → Optional[USDTO]
Get US by ID as DTO
Parameters:
selfus_id(int)
Returns: Optional[USDTO]
get_us_statistics(self, us_id: int) → Dict[str, Any]
Get statistics for a US
Parameters:
selfus_id(int)
Returns: Dict[str, Any]
search_us(self, search_term: str, page: int, size: int) → List[USDTO]
Search US by term - returns DTOs
Parameters:
selfsearch_term(str)page(int)size(int)
Returns: List[USDTO]
update_us(self, us_id: int, update_data: Dict[str, Any]) → US
Update existing US
Parameters:
selfus_id(int)update_data(Dict[str, Any])
Returns: US
update_us_dto(self, us_id: int, update_data: Dict[str, Any]) → Optional[USDTO]
Update existing US and return DTO
Parameters:
selfus_id(int)update_data(Dict[str, Any])
Returns: Optional[USDTO]
USService
Service class for US operations
Methods:
__init__(self, db_manager: DatabaseManager)
Initializes a new instance of the USService class.
This constructor accepts a DatabaseManager object, which is assigned to the instance for managing database operations related to US services.
Parameters:
selfdb_manager(DatabaseManager)
count_us(self, filters: Optional[Dict[str, Any]]) → int
Count US with optional filters
Parameters:
selffilters(Optional[Dict[str, Any]])
Returns: int
create_us(self, us_data: Dict[str, Any]) → US
Create a new stratigraphic unit
Parameters:
selfus_data(Dict[str, Any])
Returns: US
create_us_dto(self, us_data: Dict[str, Any]) → USDTO
Create a new US and return as DTO
Parameters:
selfus_data(Dict[str, Any])
Returns: USDTO
delete_us(self, us_id: int) → bool
Delete US
Parameters:
selfus_id(int)
Returns: bool
get_all_us(self, page: int, size: int, filters: Optional[Dict[str, Any]]) → List[USDTO]
Get all US with pagination and filtering - returns DTOs
Parameters:
selfpage(int)size(int)filters(Optional[Dict[str, Any]])
Returns: List[USDTO]
get_us_by_id(self, us_id: int) → Optional[US]
Get US by ID
Parameters:
selfus_id(int)
Returns: Optional[US]
get_us_by_site(self, site_name: str, page: int, size: int) → List[USDTO]
Get all US for a specific site - returns DTOs
Parameters:
selfsite_name(str)page(int)size(int)
Returns: List[USDTO]
get_us_by_site_and_area(self, site_name: str, area: str, page: int, size: int) → List[USDTO]
Get all US for a specific site and area - returns DTOs
Parameters:
selfsite_name(str)area(str)page(int)size(int)
Returns: List[USDTO]
get_us_dto_by_id(self, us_id: int) → Optional[USDTO]
Get US by ID as DTO
Parameters:
selfus_id(int)
Returns: Optional[USDTO]
get_us_statistics(self, us_id: int) → Dict[str, Any]
Get statistics for a US
Parameters:
selfus_id(int)
Returns: Dict[str, Any]
search_us(self, search_term: str, page: int, size: int) → List[USDTO]
Search US by term - returns DTOs
Parameters:
selfsearch_term(str)page(int)size(int)
Returns: List[USDTO]
update_us(self, us_id: int, update_data: Dict[str, Any]) → US
Update existing US
Parameters:
selfus_id(int)update_data(Dict[str, Any])
Returns: US
update_us_dto(self, us_id: int, update_data: Dict[str, Any]) → Optional[USDTO]
Update existing US and return DTO
Parameters:
selfus_id(int)update_data(Dict[str, Any])
Returns: Optional[USDTO]
\newpage
Module: pyarchinit_mini/utils/__init__.py
File Path: pyarchinit_mini/utils/__init__.py
\newpage
Module: pyarchinit_mini/utils/exceptions.py
File Path: pyarchinit_mini/utils/exceptions.py
Classes
ConfigurationError
Raised when configuration is invalid
Inherits from: PyArchInitMiniError
ConfigurationError
Raised when configuration is invalid
Inherits from: PyArchInitMiniError
ConfigurationError
Raised when configuration is invalid
Inherits from: PyArchInitMiniError
ConnectionError
Raised when database connection fails
Inherits from: PyArchInitMiniError
ConnectionError
Raised when database connection fails
Inherits from: PyArchInitMiniError
ConnectionError
Raised when database connection fails
Inherits from: PyArchInitMiniError
DatabaseError
Raised when database operations fail
Inherits from: PyArchInitMiniError
DatabaseError
Raised when database operations fail
Inherits from: PyArchInitMiniError
DatabaseError
Raised when database operations fail
Inherits from: PyArchInitMiniError
DuplicateRecordError
Raised when trying to create a duplicate record
Inherits from: PyArchInitMiniError
DuplicateRecordError
Raised when trying to create a duplicate record
Inherits from: PyArchInitMiniError
DuplicateRecordError
Raised when trying to create a duplicate record
Inherits from: PyArchInitMiniError
PermissionError
Raised when user lacks required permissions
Inherits from: PyArchInitMiniError
PermissionError
Raised when user lacks required permissions
Inherits from: PyArchInitMiniError
PermissionError
Raised when user lacks required permissions
Inherits from: PyArchInitMiniError
PyArchInitMiniError
Base exception class for PyArchInit-Mini
Inherits from: Exception
PyArchInitMiniError
Base exception class for PyArchInit-Mini
Inherits from: Exception
PyArchInitMiniError
Base exception class for PyArchInit-Mini
Inherits from: Exception
RecordNotFoundError
Raised when a requested record is not found
Inherits from: PyArchInitMiniError
RecordNotFoundError
Raised when a requested record is not found
Inherits from: PyArchInitMiniError
RecordNotFoundError
Raised when a requested record is not found
Inherits from: PyArchInitMiniError
ValidationError
Raised when data validation fails
Inherits from: PyArchInitMiniError
Methods:
__init__(self, message: str, field: str, value)
Initializes a new instance of the ValidationError class. This method sets the error message, and optionally associates the error with a specific field and value that caused the validation to fail. It also calls the initializer of the base exception class with the provided message.
Parameters:
selfmessage(str)field(str)value
ValidationError
Raised when data validation fails
Inherits from: PyArchInitMiniError
Methods:
__init__(self, message: str, field: str, value)
Initializes a new instance of the ValidationError class with a specified error message, and optionally the field and value that caused the validation to fail. This constructor also calls the base class initializer with the provided message, and stores the field and value information for further context about the validation error.
Parameters:
selfmessage(str)field(str)value
ValidationError
Raised when data validation fails
Inherits from: PyArchInitMiniError
Methods:
__init__(self, message: str, field: str, value)
Initializes a new instance of the ValidationError class with a specified error message, and optionally the name of the field and its associated value that caused the validation to fail.
This constructor passes the error message to the base exception class and stores the field and value information for further context about the validation error.
Parameters:
selfmessage(str)field(str)value
\newpage
Module: pyarchinit_mini/utils/validators.py
File Path: pyarchinit_mini/utils/validators.py
Classes
BaseValidator
Base validator class
Methods:
validate_numeric_range(value, field_name: str, min_value, max_value)
Validate numeric value is within range
Parameters:
valuefield_name(str)min_valuemax_value
Decorators: staticmethod
validate_required_fields(data: Dict[str, Any], required_fields: List[str])
Validate that all required fields are present and not empty
Parameters:
data(Dict[str, Any])required_fields(List[str])
Decorators: staticmethod
validate_string_length(value: str, field_name: str, max_length: int, min_length: int)
Validate string length
Parameters:
value(str)field_name(str)max_length(int)min_length(int)
Decorators: staticmethod
BaseValidator
Base validator class
Methods:
validate_numeric_range(value, field_name: str, min_value, max_value)
Validate numeric value is within range
Parameters:
valuefield_name(str)min_valuemax_value
Decorators: staticmethod
validate_required_fields(data: Dict[str, Any], required_fields: List[str])
Validate that all required fields are present and not empty
Parameters:
data(Dict[str, Any])required_fields(List[str])
Decorators: staticmethod
validate_string_length(value: str, field_name: str, max_length: int, min_length: int)
Validate string length
Parameters:
value(str)field_name(str)max_length(int)min_length(int)
Decorators: staticmethod
BaseValidator
Base validator class
Methods:
validate_numeric_range(value, field_name: str, min_value, max_value)
Validate numeric value is within range
Parameters:
valuefield_name(str)min_valuemax_value
Decorators: staticmethod
validate_required_fields(data: Dict[str, Any], required_fields: List[str])
Validate that all required fields are present and not empty
Parameters:
data(Dict[str, Any])required_fields(List[str])
Decorators: staticmethod
validate_string_length(value: str, field_name: str, max_length: int, min_length: int)
Validate string length
Parameters:
value(str)field_name(str)max_length(int)min_length(int)
Decorators: staticmethod
InventarioValidator
Validator for Inventario Materiali model data
Inherits from: BaseValidator
Methods:
validate(cls, data: Dict[str, Any])
Validate inventory material data
Parameters:
clsdata(Dict[str, Any])
Decorators: classmethod
InventarioValidator
Validator for Inventario Materiali model data
Inherits from: BaseValidator
Methods:
validate(cls, data: Dict[str, Any])
Validate inventory material data
Parameters:
clsdata(Dict[str, Any])
Decorators: classmethod
InventarioValidator
Validator for Inventario Materiali model data
Inherits from: BaseValidator
Methods:
validate(cls, data: Dict[str, Any])
Validate inventory material data
Parameters:
clsdata(Dict[str, Any])
Decorators: classmethod
SiteValidator
Validator for Site model data
Inherits from: BaseValidator
Methods:
validate(cls, data: Dict[str, Any])
Validate site data
Parameters:
clsdata(Dict[str, Any])
Decorators: classmethod
SiteValidator
Validator for Site model data
Inherits from: BaseValidator
Methods:
validate(cls, data: Dict[str, Any])
Validate site data
Parameters:
clsdata(Dict[str, Any])
Decorators: classmethod
SiteValidator
Validator for Site model data
Inherits from: BaseValidator
Methods:
validate(cls, data: Dict[str, Any])
Validate site data
Parameters:
clsdata(Dict[str, Any])
Decorators: classmethod
USValidator
Validator for US (Stratigraphic Unit) model data
Inherits from: BaseValidator
Methods:
validate(cls, data: Dict[str, Any])
Validate US data
Parameters:
clsdata(Dict[str, Any])
Decorators: classmethod
USValidator
Validator for US (Stratigraphic Unit) model data
Inherits from: BaseValidator
Methods:
validate(cls, data: Dict[str, Any])
Validate US data
Parameters:
clsdata(Dict[str, Any])
Decorators: classmethod
USValidator
Validator for US (Stratigraphic Unit) model data
Inherits from: BaseValidator
Methods:
validate(cls, data: Dict[str, Any])
Validate US data
Parameters:
clsdata(Dict[str, Any])
Decorators: classmethod
Functions
validate_data(model_type: str, data: Dict[str, Any])
Validate data based on model type
Args: model_type: Type of model (‘site’, ‘us’, ‘inventario’) data: Data to validate
Raises: ValidationError: If validation fails
Parameters:
model_type(str)data(Dict[str, Any])
validate_data(model_type: str, data: Dict[str, Any])
Validate data based on model type
Args: model_type: Type of model (‘site’, ‘us’, ‘inventario’) data: Data to validate
Raises: ValidationError: If validation fails
Parameters:
model_type(str)data(Dict[str, Any])
validate_data(model_type: str, data: Dict[str, Any])
Validate data based on model type
Args: model_type: Type of model (‘site’, ‘us’, ‘inventario’) data: Data to validate
Raises: ValidationError: If validation fails
Parameters:
model_type(str)data(Dict[str, Any])
\newpage
Module: run_gui.py
File Path: run_gui.py
Functions
main()
Launch the desktop GUI
main()
Launch the desktop GUI
main()
Launch the desktop GUI
\newpage
Module: scripts/load_sample_as_main.py
File Path: scripts/load_sample_as_main.py
Functions
load_sample_database()
Copy sample database as main database
load_sample_database()
Copy sample database as main database
\newpage
Module: scripts/populate_sample_data.py
File Path: scripts/populate_sample_data.py
Classes
SampleDataGenerator
Generator for archaeological sample data
Methods:
__init__(self, db_manager: DatabaseManager)
Initializes a new instance of the SampleDataGenerator class by setting up predefined data attributes used for generating archaeological sample data. This includes references to the database manager, site information, lists of areas, archaeological periods, formation types, material types, and relevant descriptive categories.
Parameters:
selfdb_manager(DatabaseManager)
create_materials(self, us_records)
Create 50 material records distributed across US
Parameters:
selfus_records
create_periodization(self, us_records, periods)
Create periodization assignments for US
Parameters:
selfus_recordsperiods
create_periods(self)
Create archaeological periods
Parameters:
self
create_site(self)
Create the sample archaeological site
Parameters:
self
create_stratigraphic_relationships(self, us_records)
Create realistic stratigraphic relationships
Parameters:
selfus_records
create_thesaurus(self)
Create thesaurus entries
Parameters:
self
create_us_records(self, site)
Create 100 US records with realistic stratigraphic data
Parameters:
selfsite
generate_all_data(self)
Generate complete sample dataset
Parameters:
self
SampleDataGenerator
Generator for archaeological sample data
Methods:
__init__(self, db_manager: DatabaseManager)
Initializes a new instance of the SampleDataGenerator class with predefined attributes for generating archaeological sample data. This constructor sets up references to the database manager, site name, and various lists representing archaeological periods, formation types, material types, and related properties used in sample data generation.
Parameters:
selfdb_manager(DatabaseManager)
create_materials(self, us_records)
Create 50 material records distributed across US
Parameters:
selfus_records
create_periodization(self, us_records, periods)
Create periodization assignments for US
Parameters:
selfus_recordsperiods
create_periods(self)
Create archaeological periods
Parameters:
self
create_site(self)
Create the sample archaeological site
Parameters:
self
create_stratigraphic_relationships(self, us_records)
Create realistic stratigraphic relationships
Parameters:
selfus_records
create_thesaurus(self)
Create thesaurus entries
Parameters:
self
create_us_records(self, site)
Create 100 US records with realistic stratigraphic data
Parameters:
selfsite
generate_all_data(self)
Generate complete sample dataset
Parameters:
self
Functions
main()
Main function to run sample data generation
main()
Main function to run sample data generation
\newpage
Module: scripts/populate_simple_data.py
File Path: scripts/populate_simple_data.py
Functions
create_sample_data(clean_first)
Create all sample data
Parameters:
clean_first
create_sample_data(clean_first)
Create all sample data
Parameters:
clean_first
\newpage
Module: setup.py
File Path: setup.py
\newpage
Module: web_interface/app.py
File Path: web_interface/app.py
Classes
InventarioForm
The InventarioForm class defines a structured web form for recording and managing inventory data of archaeological artifacts within a Flask application. It captures essential details such as site, inventory number, artifact type, definition, description, area, stratigraphic unit (US), and weight. The form ensures data integrity through field validations and standardized input choices for consistent cataloging.
Inherits from: FlaskForm
InventarioForm
The InventarioForm class defines a web form for managing archaeological inventory records using Flask-WTF. It allows users to input and validate key artifact information such as site, inventory number, artifact type, definition, description, area, stratigraphic unit (US), and weight. This form ensures structured data entry for cataloging artifacts in an archaeological database.
Inherits from: FlaskForm
InventarioForm
The InventarioForm class defines a Flask-WTF form for recording and managing archaeological inventory data. It includes fields for selecting a site, entering inventory numbers, specifying artifact type, providing definitions and descriptions, and recording contextual details such as area, stratigraphic unit (US), and weight. This form ensures structured data input for cataloging archaeological finds within a web application.
Inherits from: FlaskForm
MediaUploadForm
The MediaUploadForm class is a Flask-WTF form designed for uploading media files and associating them with specific entities within an application, such as a site, US, or inventory item. It collects essential metadata including the entity type and ID, the media file itself, an optional description, and author or photographer information. This form ensures all required fields are validated before processing uploads.
Inherits from: FlaskForm
MediaUploadForm
The MediaUploadForm class is a Flask-WTF form designed to facilitate the upload of media files associated with specific entities, such as sites, US (stratigraphic units), or inventory items. It allows users to specify the entity type and ID, upload a file, and optionally provide a description and author information. This form ensures that all required fields are validated before accepting the upload.
Inherits from: FlaskForm
MediaUploadForm
The MediaUploadForm class defines a Flask-WTF form used for uploading media files associated with different entities (such as sites, US, or inventory items) within a web application. It collects essential metadata about the upload, including the entity type and ID, the file itself, an optional description, and the author’s name. This form ensures that all required information is provided and properly validated before processing the upload.
Inherits from: FlaskForm
SiteForm
The SiteForm class is a Flask-WTF form used to collect and validate information about archaeological sites within a web application. It includes fields for site name, country, region, municipality, province, site definition, and a description, ensuring required data such as the site name is provided. This form facilitates standardized data entry for site records in the application.
Inherits from: FlaskForm
SiteForm
The SiteForm class is a Flask-WTF form used to collect and validate information about archaeological sites. It includes fields for site name, country, region, municipality, province, site definition, and a description. This form ensures that required data, such as the site name, is provided by the user before submission.
Inherits from: FlaskForm
SiteForm
The SiteForm class is a Flask-WTF form designed for collecting and validating archaeological site information. It includes fields for site name, country, region, municipality, province, site definition, and a descriptive text, ensuring essential data is captured for each site entry. The form utilizes standard field types and validators to facilitate structured and accurate input.
Inherits from: FlaskForm
USForm
The USForm class defines a structured web form for recording and managing archaeological stratigraphic units (“Unità Stratigrafiche”) using Flask-WTF. It collects detailed information such as site, area, stratigraphic and interpretive descriptions, inventory numbers, excavation year, and formation type. This form ensures standardized data entry for stratigraphic records in archaeological projects.
Inherits from: FlaskForm
USForm
The USForm class is a Flask-WTF form designed for recording and managing archaeological stratigraphic unit (US) data within a web application. It collects detailed information such as site, area, stratigraphic and interpretative descriptions, excavation year, and other relevant metadata, ensuring comprehensive documentation of each stratigraphic unit. The form employs validation to ensure required fields are properly completed for accurate data entry.
Inherits from: FlaskForm
USForm
The USForm class is a Flask-WTF form designed for the input and management of archaeological stratigraphic unit (US) data within a web application. It facilitates the collection of detailed information such as site, area, US number, stratigraphic and interpretative descriptions, excavation year, and formation type. This form ensures data integrity by enforcing required fields and standardized choices for key attributes.
Inherits from: FlaskForm
Functions
api_sites()
The api_sites function is a Flask route handler that serves as an API endpoint at /api/sites. It retrieves up to 100 site records using the site_service.get_all_sites method and returns a JSON-formatted list of sites, where each site is represented by its id and name attributes. This endpoint is typically used for AJAX requests to dynamically fetch site information.
Decorators: app.route
api_sites()
The api_sites function is a Flask route handler that provides an API endpoint at /api/sites. When accessed, it retrieves up to 100 site records using the site_service.get_all_sites method and returns a JSON array containing the ID and name of each site. This endpoint is typically used for AJAX requests to populate site data dynamically in client-side applications.
Decorators: app.route
api_sites()
The api_sites function is a Flask route that provides an API endpoint at /api/sites. When accessed, it retrieves up to 100 site records using the site_service, and returns a JSON array containing the id and name of each site. This endpoint is typically used for AJAX requests to fetch site information dynamically.
Decorators: app.route
create_app()
The create_app function initializes and configures a Flask web application for managing archaeological site data, stratigraphic units (US), inventories, Harris matrices, and media uploads. It sets up the application configuration, database connections, service layers, and all primary routes for site management, data visualization, PDF export, and media handling. This function returns the fully configured Flask app instance, ready to be run as a web server.
create_app()
Description:
The create_app function initializes and configures a Flask web application for managing archaeological site data. It sets up application configuration, database connections, and service objects, and defines routes for CRUD operations on sites, stratigraphic units (US), inventory, Harris matrix generation, PDF export, media uploads, and API endpoints. This function serves as the main entry point for building and running the application.
create_app()
The create_app function initializes and configures a Flask web application for managing archaeological site data, including sites, stratigraphic units (US), inventories, Harris matrices, and media uploads. It sets up essential configuration, database connections, service layers, and registers all routes for CRUD operations, data visualization, PDF export, and API endpoints. This function returns a fully configured Flask app instance ready to be run.
create_inventario()
The create_inventario function handles the creation of a new inventory record (“reperto”) via a web form in a Flask application. It displays the form to the user, populates site choices, validates submitted data, and, upon successful validation, creates the inventory record using the provided service. If the creation is successful, it flashes a success message and redirects to the inventory list; otherwise, it displays an error message.
Decorators: app.route
create_inventario()
The create_inventario function handles the creation of a new inventory record (“reperto”) via a web form in a Flask application. It displays a form for entering inventory details, populates site choices dynamically, validates submitted data, and, upon successful submission, saves the new record using the inventory service. If creation is successful, it flashes a success message and redirects to the inventory list; otherwise, it handles errors and redisplays the form.
Decorators: app.route
create_inventario()
The create_inventario function handles the creation of new inventory records (reperti) through a web form in a Flask application. It displays the form, populates site choices dynamically, validates user input, and upon successful submission, saves the new item to the database and provides user feedback. If any error occurs during the process, it flashes an error message and re-displays the form.
Decorators: app.route
create_site()
The create_site function handles the creation of a new site record via a web form in a Flask application. It processes both GET and POST requests: displaying the empty form on GET, and validating and saving the form data on POST. Upon successful creation, it flashes a success message and redirects to the sites list; otherwise, it renders the form with error messages as needed.
Decorators: app.route
create_site()
The create_site function handles the creation of a new site record within the web application. It displays a form for user input, validates and processes the form submission, creates the site using the provided data, and provides user feedback on success or failure. Upon successful creation, it redirects to the site listing page; otherwise, it re-renders the form with error messages if needed.
Decorators: app.route
create_site()
The create_site function handles the creation of a new site record via a web form within a Flask application. It displays the site creation form to the user, validates the submitted data, and, upon successful validation, saves the new site using the site_service. On success or failure, it provides user feedback and redirects appropriately.
Decorators: app.route
create_us()
The create_us function handles the creation of a new “US” (Unità Stratigrafica) record via a web form in a Flask application. It displays the form for input, populates site choices, validates submitted data, and, upon successful validation, creates the new record using the provided service. If creation is successful, it redirects to the US list page with a success message; otherwise, it displays appropriate error messages.
Decorators: app.route
create_us()
The create_us function handles the creation of a new “US” (Unità Stratigrafica) record via a web form. It displays the form to the user, populates site choices dynamically, validates the submitted data, and, upon successful validation, saves the new record using the us_service. If creation is successful, it flashes a success message and redirects to the US list; otherwise, it displays any errors encountered.
Decorators: app.route
create_us()
The create_us function handles the creation of a new “US” (Unità Stratigrafica) record via a web form in a Flask application. It displays the form to the user, populates the site selection options, processes form submissions, and saves the new record to the database if validation succeeds, providing user feedback through flash messages. Upon successful creation, it redirects the user to the list of US records.
Decorators: app.route
export_site_pdf(site_id)
The export_site_pdf function generates and downloads a PDF report containing detailed information about a specific site, including its associated US (stratigraphic units) and inventory records. When accessed via the /export/site_pdf/<site_id> route, it retrieves the site’s data, compiles it into a PDF using a PDF generator, and returns the PDF file as a download to the user. If the site is not found or an error occurs during the process, the user is redirected with an appropriate error message.
Parameters:
site_id
Decorators: app.route
export_site_pdf(site_id)
The export_site_pdf function handles the export of a PDF report for a specific site, identified by its site_id. It retrieves the site’s details and related data, generates a comprehensive PDF report, and sends the PDF as a downloadable file to the user. If the site is not found or an error occurs during export, the user is redirected with an appropriate error message.
Parameters:
site_id
Decorators: app.route
export_site_pdf(site_id)
The export_site_pdf function generates and exports a PDF report for a specific site, identified by its site_id. It retrieves the site’s data along with related records, generates a comprehensive PDF report, and sends the file to the user as a downloadable attachment. If an error occurs or the site is not found, the function displays an appropriate error message and redirects the user accordingly.
Parameters:
site_id
Decorators: app.route
harris_matrix(site_name)
The harris_matrix function is a Flask route handler that generates and displays the Harris Matrix for a given archaeological site, identified by site_name. It creates the matrix graph, calculates its levels and statistics, and renders a visualization, all of which are presented in the ‘harris_matrix/view.html’ template. If an error occurs during this process, the function flashes an error message and redirects the user to the site list page.
Parameters:
site_name
Decorators: app.route
harris_matrix(site_name)
The harris_matrix function is a Flask route that generates and displays the Harris Matrix for a given archaeological site, identified by site_name. It constructs the matrix graph, calculates its levels and statistical data, creates a visual representation, and renders these results in a dedicated template. If an error occurs during processing, it displays an error message and redirects the user to the sites list.
Parameters:
site_name
Decorators: app.route
harris_matrix(site_name)
The harris_matrix function is a Flask route that generates and displays the Harris Matrix for a given archaeological site, identified by its site name. It constructs the matrix graph, computes relevant levels and statistics, creates a visualization, and then renders these details in the ‘harris_matrix/view.html’ template. If an error occurs during processing, it flashes an error message and redirects the user to the site list page.
Parameters:
site_name
Decorators: app.route
index()
Dashboard with statistics
Decorators: app.route
index()
Dashboard with statistics
Decorators: app.route
index()
Dashboard with statistics
Decorators: app.route
inventario_list()
The inventario_list function handles the /inventario route and displays a paginated list of inventory items, allowing optional filtering by site (sito) and item type (tipo). It retrieves the relevant inventory data and available site options, then renders the inventario/list.html template with the filtered results and pagination details.
Decorators: app.route
inventario_list()
The inventario_list function handles the /inventario route and displays a paginated list of inventory items, with optional filtering by site (sito) and item type (tipo). It retrieves the relevant inventory data and available site options, then renders the inventario/list.html template with the resulting list, filters, and pagination information.
Decorators: app.route
inventario_list()
The inventario_list function handles the /inventario route and displays a paginated list of inventory items, with optional filters for site (sito) and item type (tipo). It retrieves the relevant inventory data and site options, then renders the inventario/list.html template with the filtered results and pagination details. This view facilitates browsing and filtering of inventory records within the application.
Decorators: app.route
sites_list()
The sites_list function handles HTTP GET requests to the /sites route, displaying a paginated list of sites. It supports optional search functionality via a query parameter and renders the sites/list.html template with the retrieved sites, total count, current page, and search term.
Decorators: app.route
sites_list()
The sites_list function handles requests to the /sites route, displaying a paginated list of sites. It supports optional search functionality, retrieves the relevant sites from the database, and renders the sites/list.html template with the sites, pagination details, and search query.
Decorators: app.route
sites_list()
The sites_list function handles the /sites route and displays a paginated list of sites, optionally filtered by a search query provided via the request parameters. It retrieves the relevant site data and the total count of sites from the site_service, then renders the ‘sites/list.html’ template with this information along with the current page and search term.
Decorators: app.route
upload_media()
The upload_media function handles both the display and processing of a media upload form. It allows users to upload a media file associated with a specific entity, temporarily saves and processes the file, stores its metadata using a media handler, and provides user feedback on the upload status. On successful upload, it also manages cleanup of the temporary file and redirects the user back to the upload page.
Decorators: app.route
upload_media()
The upload_media function handles the uploading of media files through a web form. It processes both GET and POST requests, validates the submitted form, saves the uploaded file temporarily, and delegates storage to a media handler with associated metadata. Upon successful upload, it provides user feedback and redirects, while handling errors gracefully and rendering the upload form as needed.
Decorators: app.route
upload_media()
The upload_media function handles the uploading of media files via a web form. It processes both GET and POST requests: displaying the upload form, validating submitted data, securely saving the uploaded file temporarily, and delegating the file storage to a media handler along with associated metadata. Upon successful upload or error, it provides user feedback and redirects appropriately.
Decorators: app.route
us_list()
The us_list function is a Flask route handler that displays a paginated list of US records, optionally filtered by a site parameter provided via query string. It retrieves the filtered data and total count from the us_service, fetches available sites for filtering from site_service, and renders them in the us/list.html template along with pagination and filter information.
Decorators: app.route
us_list()
The us_list function handles the /us route and displays a paginated list of “us” records, optionally filtered by site (sito). It retrieves the current page number and filter parameters from the request, fetches the filtered list and total count from the service layer, and renders the results along with available sites in the us/list.html template.
Decorators: app.route
us_list()
The us_list function handles the /us route and displays a paginated list of “US” entries, with optional filtering by site (“sito”). It retrieves the relevant data from the service layer, gathers site options for filtering, and renders the us/list.html template with the results and filter parameters.
Decorators: app.route
view_site(site_id)
The view_site function handles requests to display detailed information about a specific site identified by its site_id. It retrieves the site’s data along with related US records and inventory items, and renders them in the sites/detail.html template. If the site is not found, it flashes an error message and redirects the user to the site list page.
Parameters:
site_id
Decorators: app.route
view_site(site_id)
The view_site function handles the display of detailed information for a specific site identified by its site_id. It retrieves the site’s data along with related US and inventory records; if the site is not found, the user is redirected with an error message. Upon successful retrieval, it renders the detail page with all relevant information displayed.
Parameters:
site_id
Decorators: app.route
view_site(site_id)
The view_site function handles requests to display the details of a specific site identified by site_id. It retrieves the site’s information, along with related US and inventory records, and renders them in the sites/detail.html template. If the site does not exist, the user is notified and redirected to the list of sites.
Parameters:
site_id
Decorators: app.route
\newpage