aait 2.3.12.2__tar.gz → 2.3.12.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- aait-2.3.12.3/PKG-INFO +32 -0
- aait-2.3.12.3/aait.egg-info/PKG-INFO +32 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWFileWithPath.py +14 -8
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWFindFilesFromDir.py +154 -20
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owfindfilesfromdir.ui +25 -11
- {aait-2.3.12.2 → aait-2.3.12.3}/setup.py +1 -1
- aait-2.3.12.2/PKG-INFO +0 -9
- aait-2.3.12.2/aait.egg-info/PKG-INFO +0 -9
- {aait-2.3.12.2 → aait-2.3.12.3}/License.txt +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/aait.egg-info/SOURCES.txt +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/aait.egg-info/dependency_links.txt +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/aait.egg-info/entry_points.txt +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/aait.egg-info/namespace_packages.txt +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/aait.egg-info/requires.txt +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/aait.egg-info/top_level.txt +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/__init__.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/fix_torch/fix_torch_dll_error.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/fix_torch/libomp140.x86_64.dll +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/llm/__init__.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/llm/answers.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/llm/answers_llama.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/llm/chunking.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/llm/embeddings.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/llm/lemmes.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/llm/lmstudio.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/llm/process_documents.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/llm/prompt_management.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/llm/translations.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/optimiser/__init__.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/optimiser/optuna_multi.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/MetManagement.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/OperationSystem.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/SimpleDialogQt.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/__init__.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/aait_repo_file.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/aait_table_viewer.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/base_widget.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/delta_local_shared_fodler.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/import_uic.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/initialize_from_ini.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/mac_utils.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/shared_functions.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/shared_variables.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/subprocess_management.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/thread_management.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/tools/__init__.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/tools/change_owcorpus.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/tools/concat_splitted_pypi.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/tools/first_time_check.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/tools/owcorpus_ok.txt +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/unlink_table_domain.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/widget_positioning.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/windows_utils.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWAAITResourcesManager.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWAccumulator.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWAddColumns.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWApplyRules.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWAutoShowCreateInstance.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWAutoShowTable.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWCN2rule_view.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWChunking.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWConcatRules.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWConverseLLM.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWCreateEmbeddings.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWDisplayMD.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWEditTable.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWEmptySwitch.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWEndLoop.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWExecuteScript.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWExtraChunks.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWExtractTokens.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWFileMetadata.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWFileSyncChecker.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWFusionNM.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWGenerateQuestions.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWGenerateSynthesis.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWGenerateWord.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWInputSelector.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWKeywords.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWKeywordsDetection.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWLLMEngine.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWLMStudio.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWLanguageDetection.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWLargeLanguageModel.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWLemmatizer.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWLoadDocuments.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_CE_MiniLML6.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_Embeddings.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_Falcon.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_HelsinkiEnFr.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_HelsinkiFrEn.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_MPNET.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_Mistral.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_Qwen.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_Qwen1B5_Q6.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_Qwen2_5_32B.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_Qwen3B_Q4.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_Qwen7B_Q4.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_Qwen7B_Q6.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_Solar.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_SolarUncensored.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_SpacyMD_EN.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_SpacyMD_FR.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWOperationSystem.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWOptimisation.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWOptimisationSelection.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWOptimisationSendScore.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWProcessDocumentsFromPath.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWQuadrantclicker.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWQueryLLM.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWRandomData.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWReranking.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWSaveFilepathEntry.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWSelectColumnDynamique.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWSelectRowsDynamic.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWSortAndSelect.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWStartLoop.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWTable2Corpus.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWTranslation.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWTrigger.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWUnzipFolder.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/POW_Wfactory.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/__init__.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owMarkdown.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/ow_OperationSystem.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/ow_in_or_out_path.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/ow_widget_random_data.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owaccumulator.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owaddcolumns.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owapplyrules.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owchunking.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owconcatrules.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owconversellm.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owedgellm.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owembeddings.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owemptyswitch.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owendloop.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owexecutescript.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owexecutescript_TEST.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owextrachunks.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owextracttokens.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owfilemetadata.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owfilesyncchecker.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owfilewithpath.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owfusion_nm.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owgenerate_word.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owgeneratequestions.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owgeneratesynthesis.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owkeyword.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owkeywordsdetection.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owlangdetect.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owlargelanguagemodel.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owlemmatizer.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owllm4all.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owloaddocuments.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owloadworkflow.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_ce_minilml6.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_falcon.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_helsinki_en_fr.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_helsinki_fr_en.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_mistral.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_mpnet.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_qwen.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_2.5_32b.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_instruct_1.5b_q6.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_instruct_3b_q4.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_instruct_7b_q4.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_instruct_7b_q6.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_qwencoder_7b.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_solar.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_solar_uncensored.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_spacymd_en.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_spacymd_fr.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/ownumberpointinrules.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owprocessdocuments.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owquadrant_clicker.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owqueryllm.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owreranking.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owsavewithpath.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owselect_column_dynamic.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owselect_row_dynamic.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owsortandselect.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owstartloop.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owtable2corpus.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owtranslation.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owtrigger.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owunzipfolder.ui +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/CN2RuleViewer.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/CreateInstance.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/MDViewer.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/Mistral.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/Table.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/apply_rules.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/blue_down_arrow.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/category.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/dark_green.txt +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/de.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/document_generator.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/documents.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/edge_llm.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/endloop.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/extra_chunks.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/green_check.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/in_or_out.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/input.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/languages.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/lm_studio.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/local_interf_img_multi_pull.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/local_interf_multi_pull.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/local_interf_pull.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/local_interf_push.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/local_interf_text_pull.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/logo_solar.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/logo_uncensoredsolar.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/logo_upload.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/models.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/operationSystem.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/optimisation.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/optimizer.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/output.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owCN2_intersect_rules.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owaccumulator.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owchunking.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owconversellm.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owedittable.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owembeddings.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owemptyswitch.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owenvinfo.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owexecutescript.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owextracttokens.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owfilemetadata.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owfilesfromdir.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owfilesyncchecker.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owfilewithpath.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owfusion_nm.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owgeneratequestions.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owgeneratesynthesis.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owkeywords.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owkeywordsdetection.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owlargelanguagemodel.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owlemmatizer.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owloaddocuments.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owmodel_ce_minilml6.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owmodel_embeddings.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owmodel_falcon.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owmodel_helsinki_en_fr.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owmodel_helsinki_fr_en.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owmodel_mpnet.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owmodel_spacymd_en.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owmodel_spacymd_fr.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owoptimisation.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owoptimisationselection.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owqueryllm.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owreranking.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owsavefilepathentry.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owselectcolumndynamique.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owsortandselect.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owtable2corpus.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owtranslation.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owtrigger.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/processdocuments.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/quadrantclicker.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/qwen-color.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/select_dynamic_row.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/startloop.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/tools.png +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/widgetFactory.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/zip.svg +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/__init__.py +0 -0
- {aait-2.3.12.2 → aait-2.3.12.3}/setup.cfg +0 -0
aait-2.3.12.3/PKG-INFO
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: aait
|
|
3
|
+
Version: 2.3.12.3
|
|
4
|
+
Summary: Advanced Artificial Intelligence Tools is a package meant to develop and enable advanced AI functionalities in Orange
|
|
5
|
+
Home-page:
|
|
6
|
+
Author: Orange community
|
|
7
|
+
Author-email:
|
|
8
|
+
License: UNKNOWN
|
|
9
|
+
Keywords: orange3 add-on
|
|
10
|
+
Platform: UNKNOWN
|
|
11
|
+
License-File: License.txt
|
|
12
|
+
Requires-Dist: torch
|
|
13
|
+
Requires-Dist: sentence-transformers==5.0.0
|
|
14
|
+
Requires-Dist: gpt4all[all]==2.8.2
|
|
15
|
+
Requires-Dist: sacremoses==0.1.1
|
|
16
|
+
Requires-Dist: transformers==4.51.3
|
|
17
|
+
Requires-Dist: sentencepiece==0.2.0
|
|
18
|
+
Requires-Dist: optuna
|
|
19
|
+
Requires-Dist: spacy==3.7.6
|
|
20
|
+
Requires-Dist: markdown
|
|
21
|
+
Requires-Dist: python-multipart
|
|
22
|
+
Requires-Dist: PyMuPDF==1.24.14
|
|
23
|
+
Requires-Dist: chonkie==0.4.1
|
|
24
|
+
Requires-Dist: GPUtil==1.4.0
|
|
25
|
+
Requires-Dist: unidecode==1.3.8
|
|
26
|
+
Requires-Dist: python-docx==1.1.2
|
|
27
|
+
Requires-Dist: psutil
|
|
28
|
+
Requires-Dist: thefuzz==0.22.1
|
|
29
|
+
Requires-Dist: beautifulsoup4==4.12.3
|
|
30
|
+
Requires-Dist: CATEGORIT
|
|
31
|
+
|
|
32
|
+
UNKNOWN
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: aait
|
|
3
|
+
Version: 2.3.12.3
|
|
4
|
+
Summary: Advanced Artificial Intelligence Tools is a package meant to develop and enable advanced AI functionalities in Orange
|
|
5
|
+
Home-page:
|
|
6
|
+
Author: Orange community
|
|
7
|
+
Author-email:
|
|
8
|
+
License: UNKNOWN
|
|
9
|
+
Keywords: orange3 add-on
|
|
10
|
+
Platform: UNKNOWN
|
|
11
|
+
License-File: License.txt
|
|
12
|
+
Requires-Dist: torch
|
|
13
|
+
Requires-Dist: sentence-transformers==5.0.0
|
|
14
|
+
Requires-Dist: gpt4all[all]==2.8.2
|
|
15
|
+
Requires-Dist: sacremoses==0.1.1
|
|
16
|
+
Requires-Dist: transformers==4.51.3
|
|
17
|
+
Requires-Dist: sentencepiece==0.2.0
|
|
18
|
+
Requires-Dist: optuna
|
|
19
|
+
Requires-Dist: spacy==3.7.6
|
|
20
|
+
Requires-Dist: markdown
|
|
21
|
+
Requires-Dist: python-multipart
|
|
22
|
+
Requires-Dist: PyMuPDF==1.24.14
|
|
23
|
+
Requires-Dist: chonkie==0.4.1
|
|
24
|
+
Requires-Dist: GPUtil==1.4.0
|
|
25
|
+
Requires-Dist: unidecode==1.3.8
|
|
26
|
+
Requires-Dist: python-docx==1.1.2
|
|
27
|
+
Requires-Dist: psutil
|
|
28
|
+
Requires-Dist: thefuzz==0.22.1
|
|
29
|
+
Requires-Dist: beautifulsoup4==4.12.3
|
|
30
|
+
Requires-Dist: CATEGORIT
|
|
31
|
+
|
|
32
|
+
UNKNOWN
|
|
@@ -2,9 +2,8 @@ import os
|
|
|
2
2
|
import sys
|
|
3
3
|
|
|
4
4
|
import Orange.data
|
|
5
|
-
from AnyQt.QtWidgets import QApplication
|
|
5
|
+
from AnyQt.QtWidgets import QApplication, QPushButton
|
|
6
6
|
from Orange.data import StringVariable
|
|
7
|
-
from Orange.widgets import widget
|
|
8
7
|
from Orange.widgets.utils.signals import Input, Output
|
|
9
8
|
from AnyQt.QtWidgets import QCheckBox
|
|
10
9
|
from Orange.widgets.settings import Setting
|
|
@@ -29,7 +28,7 @@ class OWFileWithPath(base_widget.BaseListWidget):
|
|
|
29
28
|
priority = 1060
|
|
30
29
|
|
|
31
30
|
# Settings
|
|
32
|
-
selected_column_name = Setting("
|
|
31
|
+
selected_column_name = Setting("path")
|
|
33
32
|
|
|
34
33
|
class Inputs:
|
|
35
34
|
filepath = Input("Path", str, auto_summary=False)
|
|
@@ -50,14 +49,16 @@ class OWFileWithPath(base_widget.BaseListWidget):
|
|
|
50
49
|
@Inputs.path_table
|
|
51
50
|
def set_path_table(self, in_path_table):
|
|
52
51
|
self.in_path_table = in_path_table
|
|
52
|
+
if self.in_path_table is None:
|
|
53
|
+
self.Outputs.data.send(None)
|
|
54
|
+
return
|
|
53
55
|
if self.in_path_table is not None:
|
|
54
56
|
self.var_selector.add_variables(self.in_path_table.domain)
|
|
55
57
|
self.var_selector.select_variable_by_name(self.selected_column_name)
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
self.warning("You need a 'path' variable from which the data will be loaded.")
|
|
58
|
+
|
|
59
|
+
self.filepath = in_path_table[0][self.selected_column_name].value
|
|
60
|
+
self.run()
|
|
61
|
+
|
|
61
62
|
if self.autorun:
|
|
62
63
|
self.run()
|
|
63
64
|
|
|
@@ -66,6 +67,8 @@ class OWFileWithPath(base_widget.BaseListWidget):
|
|
|
66
67
|
super().__init__()
|
|
67
68
|
# Qt Management
|
|
68
69
|
#uic.loadUi(self.gui, self)
|
|
70
|
+
self.setFixedWidth(500)
|
|
71
|
+
self.setFixedHeight(450)
|
|
69
72
|
self.checkbox_interface = self.findChild(QCheckBox, 'checkBox')
|
|
70
73
|
if self.strloadAsString=="False":
|
|
71
74
|
self.checkbox_interface.setChecked(False)
|
|
@@ -80,6 +83,9 @@ class OWFileWithPath(base_widget.BaseListWidget):
|
|
|
80
83
|
self.data = None
|
|
81
84
|
self.autorun = True
|
|
82
85
|
self.post_initialized()
|
|
86
|
+
|
|
87
|
+
self.pushButton_run = self.findChild(QPushButton, 'pushButton_send')
|
|
88
|
+
self.pushButton_run.clicked.connect(self.run)
|
|
83
89
|
def on_checkbox_toggled(self):
|
|
84
90
|
if self.checkbox_interface.isChecked():
|
|
85
91
|
self.strloadAsString="True"
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import os
|
|
2
|
-
import sys
|
|
3
1
|
import Orange.data
|
|
4
2
|
from AnyQt.QtWidgets import QApplication, QLineEdit, QCheckBox,QSpinBox, QPushButton
|
|
5
3
|
from Orange.data import StringVariable, Table, Domain
|
|
6
4
|
from Orange.widgets.utils.signals import Input, Output
|
|
7
5
|
from Orange.widgets.settings import Setting
|
|
8
6
|
from datetime import datetime, timedelta
|
|
7
|
+
import openpyxl
|
|
8
|
+
import os
|
|
9
|
+
import sys
|
|
10
|
+
import shutil
|
|
11
|
+
from openpyxl import Workbook, load_workbook
|
|
12
|
+
|
|
9
13
|
if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
|
|
10
14
|
from Orange.widgets.orangecontrib.AAIT.utils import base_widget
|
|
11
15
|
from Orange.widgets.orangecontrib.AAIT.utils.initialize_from_ini import apply_modification_from_python_file
|
|
@@ -30,6 +34,7 @@ class OWFileFromDir(base_widget.BaseListWidget):
|
|
|
30
34
|
recursive = Setting("False")
|
|
31
35
|
filter_per_date = Setting("False")
|
|
32
36
|
time_filter= Setting("0-0-0-1")
|
|
37
|
+
identify_sheets = Setting("False")
|
|
33
38
|
|
|
34
39
|
class Inputs:
|
|
35
40
|
data = Input("Data", Orange.data.Table)
|
|
@@ -54,7 +59,7 @@ class OWFileFromDir(base_widget.BaseListWidget):
|
|
|
54
59
|
super().__init__()
|
|
55
60
|
# Qt Management
|
|
56
61
|
self.setFixedWidth(500)
|
|
57
|
-
self.setFixedHeight(
|
|
62
|
+
self.setFixedHeight(620)
|
|
58
63
|
if self.is_dash_int_castable(self.time_filter)!=0:
|
|
59
64
|
self.time_filter = "0-0-0-1"
|
|
60
65
|
|
|
@@ -67,8 +72,10 @@ class OWFileFromDir(base_widget.BaseListWidget):
|
|
|
67
72
|
self.spinBox_day = self.findChild(QSpinBox, 'spinBox_day')
|
|
68
73
|
self.spinBox_hour = self.findChild(QSpinBox, 'spinBox_hour')
|
|
69
74
|
self.spinBox_minute = self.findChild(QSpinBox, 'spinBox_minute')
|
|
70
|
-
self.spinBox_second= self.findChild(QSpinBox, 'spinBox_second')
|
|
71
|
-
|
|
75
|
+
self.spinBox_second = self.findChild(QSpinBox, 'spinBox_second')
|
|
76
|
+
self.checkBox_sheets = self.findChild(QCheckBox, 'checkBox_sheets')
|
|
77
|
+
|
|
78
|
+
DD, JJ, SS, MM = self._parse_delta_4_numbers(self.time_filter)
|
|
72
79
|
self.spinBox_day.setValue(int(DD))
|
|
73
80
|
self.spinBox_hour.setValue(int(JJ))
|
|
74
81
|
self.spinBox_minute.setValue(int(SS))
|
|
@@ -76,6 +83,7 @@ class OWFileFromDir(base_widget.BaseListWidget):
|
|
|
76
83
|
# Data Management
|
|
77
84
|
self.folderpath = None
|
|
78
85
|
self.data = None
|
|
86
|
+
self.temp_dir = None
|
|
79
87
|
self.autorun = True
|
|
80
88
|
self.post_initialized()
|
|
81
89
|
|
|
@@ -95,6 +103,10 @@ class OWFileFromDir(base_widget.BaseListWidget):
|
|
|
95
103
|
if self.recursive == "True":
|
|
96
104
|
self.comboBox.setChecked(True)
|
|
97
105
|
|
|
106
|
+
if self.identify_sheets == "True":
|
|
107
|
+
self.checkBox_sheets.setChecked(True)
|
|
108
|
+
else:
|
|
109
|
+
self.checkBox_sheets.setChecked(False)
|
|
98
110
|
|
|
99
111
|
self.comboBox.stateChanged.connect(self.on_checkbox_toggled)
|
|
100
112
|
self.checkBox_2.stateChanged.connect(self.on_checkBox_2_toggled)
|
|
@@ -102,27 +114,30 @@ class OWFileFromDir(base_widget.BaseListWidget):
|
|
|
102
114
|
self.spinBox_hour.valueChanged.connect(self.on_value_changed)
|
|
103
115
|
self.spinBox_minute.valueChanged.connect(self.on_value_changed)
|
|
104
116
|
self.spinBox_second.valueChanged.connect(self.on_value_changed)
|
|
117
|
+
self.checkBox_sheets.stateChanged.connect(self.on_checkBox_sheets_toggled)
|
|
105
118
|
|
|
106
|
-
self.pushButton_run =self.findChild(QPushButton, 'pushButton_send')
|
|
119
|
+
self.pushButton_run = self.findChild(QPushButton, 'pushButton_send')
|
|
107
120
|
self.pushButton_run.clicked.connect(self.run)
|
|
108
121
|
|
|
109
|
-
|
|
110
122
|
def on_value_changed(self):
|
|
111
|
-
self.time_filter = str(self.spinBox_day.value())+"-"+str(self.spinBox_hour.value())+"-"+str(
|
|
123
|
+
self.time_filter = str(self.spinBox_day.value()) + "-" + str(self.spinBox_hour.value()) + "-" + str(
|
|
124
|
+
self.spinBox_minute.value()) + "-" + str(self.spinBox_second.value())
|
|
125
|
+
|
|
112
126
|
def update_parameters(self):
|
|
113
|
-
self.extension = (self.edit_extension.text() or "").strip()
|
|
127
|
+
self.extension = (self.edit_extension.text() or "").strip() # a jout de la gestion d'une zone vide
|
|
114
128
|
if self.folderpath is not None:
|
|
115
129
|
self.run()
|
|
116
130
|
|
|
117
|
-
def on_checkbox_toggled(self,state):
|
|
131
|
+
def on_checkbox_toggled(self, state):
|
|
118
132
|
self.recursive = "True"
|
|
119
|
-
if state==0:
|
|
133
|
+
if state == 0:
|
|
120
134
|
self.recursive = "False"
|
|
121
135
|
if self.folderpath is not None:
|
|
122
136
|
self.run()
|
|
123
|
-
|
|
137
|
+
|
|
138
|
+
def on_checkBox_2_toggled(self, state):
|
|
124
139
|
self.filter_per_date = "True"
|
|
125
|
-
if state==0:
|
|
140
|
+
if state == 0:
|
|
126
141
|
self.filter_per_date = "False"
|
|
127
142
|
|
|
128
143
|
if self.filter_per_date == "False":
|
|
@@ -136,16 +151,79 @@ class OWFileFromDir(base_widget.BaseListWidget):
|
|
|
136
151
|
self.spinBox_minute.setVisible(True)
|
|
137
152
|
self.spinBox_second.setVisible(True)
|
|
138
153
|
|
|
154
|
+
if self.folderpath is not None:
|
|
155
|
+
self.run()
|
|
139
156
|
|
|
140
|
-
|
|
141
|
-
|
|
157
|
+
def on_checkBox_sheets_toggled(self, state):
|
|
158
|
+
self.identify_sheets = "True"
|
|
159
|
+
if state == 0:
|
|
160
|
+
self.identify_sheets = "False"
|
|
142
161
|
if self.folderpath is not None:
|
|
143
162
|
self.run()
|
|
144
163
|
|
|
164
|
+
def split_excel_sheets(self, filepath):
|
|
165
|
+
"""
|
|
166
|
+
Découpe un fichier Excel.
|
|
167
|
+
Crée un dossier [NomFichier]_sheets dans le même répertoire que le fichier.
|
|
168
|
+
Y dépose un fichier .xlsx par feuille.
|
|
169
|
+
"""
|
|
170
|
+
new_paths = []
|
|
171
|
+
try:
|
|
172
|
+
source_dir = os.path.dirname(filepath)
|
|
173
|
+
filename_no_ext = os.path.splitext(os.path.basename(filepath))[0]
|
|
174
|
+
|
|
175
|
+
# Nom du dossier : ex "MonFichier_sheets"
|
|
176
|
+
output_folder_name = f"{filename_no_ext}_sheets"
|
|
177
|
+
output_folder_path = os.path.join(source_dir, output_folder_name)
|
|
178
|
+
|
|
179
|
+
# Création du dossier (exist_ok=True évite de planter s'il existe déjà)
|
|
180
|
+
os.makedirs(output_folder_path, exist_ok=True)
|
|
181
|
+
|
|
182
|
+
# 2. Lire le fichier source avec Openpyxl
|
|
183
|
+
wb = load_workbook(filepath, data_only=True)
|
|
184
|
+
|
|
185
|
+
for sheet_name in wb.sheetnames:
|
|
186
|
+
ws = wb[sheet_name]
|
|
187
|
+
|
|
188
|
+
safe_sheet = "".join(c if c.isalnum() else "_" for c in sheet_name)
|
|
189
|
+
target_filename = f"{safe_sheet}.xlsx"
|
|
190
|
+
target_path = os.path.join(output_folder_path, target_filename).replace("\\", "/")
|
|
191
|
+
|
|
192
|
+
new_wb = Workbook()
|
|
193
|
+
new_ws = new_wb.active
|
|
194
|
+
new_ws.title = sheet_name
|
|
195
|
+
|
|
196
|
+
for row in ws.iter_rows():
|
|
197
|
+
new_ws.append([
|
|
198
|
+
"" if cell.value is None else str(cell.value)
|
|
199
|
+
for cell in row
|
|
200
|
+
])
|
|
201
|
+
|
|
202
|
+
new_wb.save(target_path)
|
|
203
|
+
new_paths.append(target_path)
|
|
204
|
+
|
|
205
|
+
wb.close()
|
|
206
|
+
|
|
207
|
+
except Exception as e:
|
|
208
|
+
# En cas d'échec (ex: fichier ouvert, permissions...), on log et on renvoie l'original
|
|
209
|
+
print(f"Erreur lors de l'extraction des feuilles pour {filepath} : {e}")
|
|
210
|
+
return [filepath]
|
|
211
|
+
|
|
212
|
+
return new_paths
|
|
145
213
|
|
|
146
214
|
def find_files(self):
|
|
147
215
|
files_data = []
|
|
148
|
-
suffixes = self.parse_extensions()
|
|
216
|
+
suffixes = self.parse_extensions()
|
|
217
|
+
excel_suffixes = (".xlsx", ".xlsm", ".xls")
|
|
218
|
+
|
|
219
|
+
# Nettoyage du dossier temp précédent si nouvelle recherche
|
|
220
|
+
# (Note : ce bloc est conservé tel quel, même si on utilise maintenant des dossiers locaux)
|
|
221
|
+
if self.identify_sheets == "True" and self.temp_dir and os.path.exists(self.temp_dir):
|
|
222
|
+
try:
|
|
223
|
+
shutil.rmtree(self.temp_dir)
|
|
224
|
+
self.temp_dir = None
|
|
225
|
+
except:
|
|
226
|
+
pass
|
|
149
227
|
|
|
150
228
|
for i in range(len(self.folderpath)):
|
|
151
229
|
base = self.folderpath[i]
|
|
@@ -160,8 +238,42 @@ class OWFileFromDir(base_widget.BaseListWidget):
|
|
|
160
238
|
for root, _, files in traversal:
|
|
161
239
|
for file in files:
|
|
162
240
|
name = file.lower()
|
|
241
|
+
full_path = os.path.join(root, file).replace("\\", "/")
|
|
242
|
+
|
|
163
243
|
if suffixes is None or name.endswith(suffixes):
|
|
164
|
-
|
|
244
|
+
is_excel = any(name.endswith(ext) for ext in excel_suffixes)
|
|
245
|
+
|
|
246
|
+
if self.identify_sheets == "True" and is_excel:
|
|
247
|
+
filename_no_ext = os.path.splitext(file)[0]
|
|
248
|
+
expected_folder_name = f"{filename_no_ext}_sheets"
|
|
249
|
+
expected_folder_path = os.path.join(root, expected_folder_name)
|
|
250
|
+
|
|
251
|
+
if os.path.exists(expected_folder_path) and os.path.isdir(expected_folder_path):
|
|
252
|
+
found_sheets = False
|
|
253
|
+
try:
|
|
254
|
+
existing_files = [
|
|
255
|
+
os.path.join(expected_folder_path, f).replace("\\", "/")
|
|
256
|
+
for f in os.listdir(expected_folder_path)
|
|
257
|
+
if f.endswith(".xlsx") and not f.startswith("~$")
|
|
258
|
+
]
|
|
259
|
+
if existing_files:
|
|
260
|
+
for ex_path in existing_files:
|
|
261
|
+
files_data.append([ex_path])
|
|
262
|
+
found_sheets = True
|
|
263
|
+
except OSError:
|
|
264
|
+
pass
|
|
265
|
+
# Si le dossier existait mais était vide
|
|
266
|
+
if not found_sheets:
|
|
267
|
+
split_files = self.split_excel_sheets(full_path)
|
|
268
|
+
for split_path in split_files:
|
|
269
|
+
files_data.append([split_path])
|
|
270
|
+
# 3. Le dossier n'existe pas, on lance le découpage
|
|
271
|
+
else:
|
|
272
|
+
split_files = self.split_excel_sheets(full_path)
|
|
273
|
+
for split_path in split_files:
|
|
274
|
+
files_data.append([split_path])
|
|
275
|
+
else:
|
|
276
|
+
files_data.append([full_path])
|
|
165
277
|
return files_data
|
|
166
278
|
|
|
167
279
|
def parse_extensions(self):
|
|
@@ -330,14 +442,36 @@ class OWFileFromDir(base_widget.BaseListWidget):
|
|
|
330
442
|
def post_initialized(self):
|
|
331
443
|
pass
|
|
332
444
|
|
|
445
|
+
def get_sheet_names_from_file(self, filepath: str):
|
|
446
|
+
"""
|
|
447
|
+
Méthode simplifiée pour récupérer la liste des noms des feuilles
|
|
448
|
+
en utilisant directement les bibliothèques sous-jacentes (openpyxl/xlrd).
|
|
449
|
+
"""
|
|
450
|
+
# Récupérer l'extension en minuscules
|
|
451
|
+
extension = os.path.splitext(filepath)[1].lower()
|
|
452
|
+
sheets = []
|
|
453
|
+
|
|
454
|
+
try:
|
|
455
|
+
if extension in ('.xlsx', '.xlsm'):
|
|
456
|
+
workbook = openpyxl.load_workbook(filepath, read_only=True, data_only=False)
|
|
457
|
+
sheets = workbook.sheetnames
|
|
458
|
+
workbook.close()
|
|
459
|
+
else:
|
|
460
|
+
print(f"INFO: Extension {extension} non supportée pour l'extraction de feuilles.")
|
|
461
|
+
|
|
462
|
+
except ImportError as e:
|
|
463
|
+
self.warning(
|
|
464
|
+
f"Librairie manquante pour lire les feuilles : {e}. Assurez-vous d'avoir 'openpyxl'")
|
|
465
|
+
except Exception as e:
|
|
466
|
+
self.error(f"Impossible de lire les feuilles du fichier {os.path.basename(filepath)} : {e}")
|
|
467
|
+
return sheets
|
|
468
|
+
|
|
333
469
|
if __name__ == "__main__":
|
|
334
470
|
app = QApplication(sys.argv)
|
|
335
|
-
#data = Orange.data.Table(r"C:\Users\max83\Desktop\data.tab")
|
|
336
471
|
my_widget = OWFileFromDir()
|
|
337
472
|
my_widget.show()
|
|
338
|
-
#my_widget.set_path_table(data)
|
|
339
473
|
|
|
340
474
|
if hasattr(app, "exec"):
|
|
341
475
|
app.exec()
|
|
342
476
|
else:
|
|
343
|
-
app.exec_()
|
|
477
|
+
app.exec_()
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<x>0</x>
|
|
8
8
|
<y>0</y>
|
|
9
9
|
<width>478</width>
|
|
10
|
-
<height>
|
|
10
|
+
<height>603</height>
|
|
11
11
|
</rect>
|
|
12
12
|
</property>
|
|
13
13
|
<property name="windowTitle">
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
<x>19</x>
|
|
20
20
|
<y>30</y>
|
|
21
21
|
<width>441</width>
|
|
22
|
-
<height>
|
|
22
|
+
<height>321</height>
|
|
23
23
|
</rect>
|
|
24
24
|
</property>
|
|
25
25
|
<property name="title">
|
|
@@ -61,11 +61,25 @@
|
|
|
61
61
|
<string>Allow multiple extensions separated with comma (.jpg,.png)</string>
|
|
62
62
|
</property>
|
|
63
63
|
</widget>
|
|
64
|
+
|
|
65
|
+
<widget class="QCheckBox" name="checkBox_sheets">
|
|
66
|
+
<property name="geometry">
|
|
67
|
+
<rect>
|
|
68
|
+
<x>20</x>
|
|
69
|
+
<y>160</y>
|
|
70
|
+
<width>411</width>
|
|
71
|
+
<height>16</height>
|
|
72
|
+
</rect>
|
|
73
|
+
</property>
|
|
74
|
+
<property name="text">
|
|
75
|
+
<string>Also identify sheets in Excel files (.xlsx, .xlsm)</string>
|
|
76
|
+
</property>
|
|
77
|
+
</widget>
|
|
64
78
|
<widget class="QCheckBox" name="checkBox_2">
|
|
65
79
|
<property name="geometry">
|
|
66
80
|
<rect>
|
|
67
81
|
<x>20</x>
|
|
68
|
-
<y>
|
|
82
|
+
<y>200</y>
|
|
69
83
|
<width>411</width>
|
|
70
84
|
<height>16</height>
|
|
71
85
|
</rect>
|
|
@@ -78,7 +92,7 @@
|
|
|
78
92
|
<property name="geometry">
|
|
79
93
|
<rect>
|
|
80
94
|
<x>30</x>
|
|
81
|
-
<y>
|
|
95
|
+
<y>240</y>
|
|
82
96
|
<width>71</width>
|
|
83
97
|
<height>22</height>
|
|
84
98
|
</rect>
|
|
@@ -91,7 +105,7 @@
|
|
|
91
105
|
<property name="geometry">
|
|
92
106
|
<rect>
|
|
93
107
|
<x>120</x>
|
|
94
|
-
<y>
|
|
108
|
+
<y>240</y>
|
|
95
109
|
<width>71</width>
|
|
96
110
|
<height>22</height>
|
|
97
111
|
</rect>
|
|
@@ -104,7 +118,7 @@
|
|
|
104
118
|
<property name="geometry">
|
|
105
119
|
<rect>
|
|
106
120
|
<x>210</x>
|
|
107
|
-
<y>
|
|
121
|
+
<y>240</y>
|
|
108
122
|
<width>71</width>
|
|
109
123
|
<height>22</height>
|
|
110
124
|
</rect>
|
|
@@ -117,7 +131,7 @@
|
|
|
117
131
|
<property name="geometry">
|
|
118
132
|
<rect>
|
|
119
133
|
<x>300</x>
|
|
120
|
-
<y>
|
|
134
|
+
<y>240</y>
|
|
121
135
|
<width>71</width>
|
|
122
136
|
<height>22</height>
|
|
123
137
|
</rect>
|
|
@@ -137,7 +151,7 @@
|
|
|
137
151
|
<property name="geometry">
|
|
138
152
|
<rect>
|
|
139
153
|
<x>20</x>
|
|
140
|
-
<y>
|
|
154
|
+
<y>370</y>
|
|
141
155
|
<width>431</width>
|
|
142
156
|
<height>161</height>
|
|
143
157
|
</rect>
|
|
@@ -188,7 +202,7 @@
|
|
|
188
202
|
<property name="geometry">
|
|
189
203
|
<rect>
|
|
190
204
|
<x>149</x>
|
|
191
|
-
<y>
|
|
205
|
+
<y>554</y>
|
|
192
206
|
<width>301</width>
|
|
193
207
|
<height>31</height>
|
|
194
208
|
</rect>
|
|
@@ -204,7 +218,7 @@
|
|
|
204
218
|
<property name="geometry">
|
|
205
219
|
<rect>
|
|
206
220
|
<x>20</x>
|
|
207
|
-
<y>
|
|
221
|
+
<y>560</y>
|
|
208
222
|
<width>131</width>
|
|
209
223
|
<height>16</height>
|
|
210
224
|
</rect>
|
|
@@ -216,4 +230,4 @@
|
|
|
216
230
|
</widget>
|
|
217
231
|
<resources/>
|
|
218
232
|
<connections/>
|
|
219
|
-
</ui>
|
|
233
|
+
</ui>
|
|
@@ -4,7 +4,7 @@ from setuptools import setup, find_packages
|
|
|
4
4
|
NAME = "aait"
|
|
5
5
|
|
|
6
6
|
# Version du package PyPI
|
|
7
|
-
VERSION = "2.3.12.
|
|
7
|
+
VERSION = "2.3.12.3" # la version doit être supérieure à la précédente sinon la publication sera refusée
|
|
8
8
|
|
|
9
9
|
# Facultatif / Adaptable à souhait
|
|
10
10
|
AUTHOR = "Orange community"
|
aait-2.3.12.2/PKG-INFO
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: aait
|
|
3
|
-
Version: 2.3.12.2
|
|
4
|
-
Summary: Advanced Artificial Intelligence Tools is a package meant to develop and enable advanced AI functionalities in Orange
|
|
5
|
-
Home-page:
|
|
6
|
-
Author: Orange community
|
|
7
|
-
Author-email:
|
|
8
|
-
Keywords: orange3 add-on
|
|
9
|
-
License-File: License.txt
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: aait
|
|
3
|
-
Version: 2.3.12.2
|
|
4
|
-
Summary: Advanced Artificial Intelligence Tools is a package meant to develop and enable advanced AI functionalities in Orange
|
|
5
|
-
Home-page:
|
|
6
|
-
Author: Orange community
|
|
7
|
-
Author-email:
|
|
8
|
-
Keywords: orange3 add-on
|
|
9
|
-
License-File: License.txt
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|