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.
Files changed (270) hide show
  1. aait-2.3.12.3/PKG-INFO +32 -0
  2. aait-2.3.12.3/aait.egg-info/PKG-INFO +32 -0
  3. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWFileWithPath.py +14 -8
  4. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWFindFilesFromDir.py +154 -20
  5. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owfindfilesfromdir.ui +25 -11
  6. {aait-2.3.12.2 → aait-2.3.12.3}/setup.py +1 -1
  7. aait-2.3.12.2/PKG-INFO +0 -9
  8. aait-2.3.12.2/aait.egg-info/PKG-INFO +0 -9
  9. {aait-2.3.12.2 → aait-2.3.12.3}/License.txt +0 -0
  10. {aait-2.3.12.2 → aait-2.3.12.3}/aait.egg-info/SOURCES.txt +0 -0
  11. {aait-2.3.12.2 → aait-2.3.12.3}/aait.egg-info/dependency_links.txt +0 -0
  12. {aait-2.3.12.2 → aait-2.3.12.3}/aait.egg-info/entry_points.txt +0 -0
  13. {aait-2.3.12.2 → aait-2.3.12.3}/aait.egg-info/namespace_packages.txt +0 -0
  14. {aait-2.3.12.2 → aait-2.3.12.3}/aait.egg-info/requires.txt +0 -0
  15. {aait-2.3.12.2 → aait-2.3.12.3}/aait.egg-info/top_level.txt +0 -0
  16. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/__init__.py +0 -0
  17. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/fix_torch/fix_torch_dll_error.py +0 -0
  18. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/fix_torch/libomp140.x86_64.dll +0 -0
  19. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/llm/__init__.py +0 -0
  20. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/llm/answers.py +0 -0
  21. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/llm/answers_llama.py +0 -0
  22. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/llm/chunking.py +0 -0
  23. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/llm/embeddings.py +0 -0
  24. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/llm/lemmes.py +0 -0
  25. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/llm/lmstudio.py +0 -0
  26. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/llm/process_documents.py +0 -0
  27. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/llm/prompt_management.py +0 -0
  28. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/llm/translations.py +0 -0
  29. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/optimiser/__init__.py +0 -0
  30. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/optimiser/optuna_multi.py +0 -0
  31. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/MetManagement.py +0 -0
  32. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/OperationSystem.py +0 -0
  33. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/SimpleDialogQt.py +0 -0
  34. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/__init__.py +0 -0
  35. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/aait_repo_file.py +0 -0
  36. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/aait_table_viewer.py +0 -0
  37. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/base_widget.py +0 -0
  38. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/delta_local_shared_fodler.py +0 -0
  39. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/import_uic.py +0 -0
  40. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/initialize_from_ini.py +0 -0
  41. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/mac_utils.py +0 -0
  42. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/shared_functions.py +0 -0
  43. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/shared_variables.py +0 -0
  44. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/subprocess_management.py +0 -0
  45. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/thread_management.py +0 -0
  46. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/tools/__init__.py +0 -0
  47. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/tools/change_owcorpus.py +0 -0
  48. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/tools/concat_splitted_pypi.py +0 -0
  49. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/tools/first_time_check.py +0 -0
  50. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/tools/owcorpus_ok.txt +0 -0
  51. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/unlink_table_domain.py +0 -0
  52. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/widget_positioning.py +0 -0
  53. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/utils/windows_utils.py +0 -0
  54. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWAAITResourcesManager.py +0 -0
  55. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWAccumulator.py +0 -0
  56. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWAddColumns.py +0 -0
  57. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWApplyRules.py +0 -0
  58. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWAutoShowCreateInstance.py +0 -0
  59. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWAutoShowTable.py +0 -0
  60. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWCN2rule_view.py +0 -0
  61. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWChunking.py +0 -0
  62. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWConcatRules.py +0 -0
  63. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWConverseLLM.py +0 -0
  64. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWCreateEmbeddings.py +0 -0
  65. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWDisplayMD.py +0 -0
  66. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWEditTable.py +0 -0
  67. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWEmptySwitch.py +0 -0
  68. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWEndLoop.py +0 -0
  69. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWExecuteScript.py +0 -0
  70. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWExtraChunks.py +0 -0
  71. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWExtractTokens.py +0 -0
  72. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWFileMetadata.py +0 -0
  73. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWFileSyncChecker.py +0 -0
  74. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWFusionNM.py +0 -0
  75. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWGenerateQuestions.py +0 -0
  76. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWGenerateSynthesis.py +0 -0
  77. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWGenerateWord.py +0 -0
  78. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWInputSelector.py +0 -0
  79. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWKeywords.py +0 -0
  80. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWKeywordsDetection.py +0 -0
  81. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWLLMEngine.py +0 -0
  82. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWLMStudio.py +0 -0
  83. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWLanguageDetection.py +0 -0
  84. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWLargeLanguageModel.py +0 -0
  85. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWLemmatizer.py +0 -0
  86. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWLoadDocuments.py +0 -0
  87. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_CE_MiniLML6.py +0 -0
  88. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_Embeddings.py +0 -0
  89. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_Falcon.py +0 -0
  90. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_HelsinkiEnFr.py +0 -0
  91. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_HelsinkiFrEn.py +0 -0
  92. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_MPNET.py +0 -0
  93. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_Mistral.py +0 -0
  94. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_Qwen.py +0 -0
  95. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_Qwen1B5_Q6.py +0 -0
  96. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_Qwen2_5_32B.py +0 -0
  97. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_Qwen3B_Q4.py +0 -0
  98. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_Qwen7B_Q4.py +0 -0
  99. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_Qwen7B_Q6.py +0 -0
  100. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_Solar.py +0 -0
  101. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_SolarUncensored.py +0 -0
  102. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_SpacyMD_EN.py +0 -0
  103. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWModel_SpacyMD_FR.py +0 -0
  104. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWOperationSystem.py +0 -0
  105. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWOptimisation.py +0 -0
  106. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWOptimisationSelection.py +0 -0
  107. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWOptimisationSendScore.py +0 -0
  108. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWProcessDocumentsFromPath.py +0 -0
  109. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWQuadrantclicker.py +0 -0
  110. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWQueryLLM.py +0 -0
  111. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWRandomData.py +0 -0
  112. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWReranking.py +0 -0
  113. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWSaveFilepathEntry.py +0 -0
  114. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWSelectColumnDynamique.py +0 -0
  115. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWSelectRowsDynamic.py +0 -0
  116. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWSortAndSelect.py +0 -0
  117. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWStartLoop.py +0 -0
  118. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWTable2Corpus.py +0 -0
  119. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWTranslation.py +0 -0
  120. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWTrigger.py +0 -0
  121. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/OWUnzipFolder.py +0 -0
  122. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/POW_Wfactory.py +0 -0
  123. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/__init__.py +0 -0
  124. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owMarkdown.ui +0 -0
  125. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/ow_OperationSystem.ui +0 -0
  126. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/ow_in_or_out_path.ui +0 -0
  127. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/ow_widget_random_data.ui +0 -0
  128. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owaccumulator.ui +0 -0
  129. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owaddcolumns.ui +0 -0
  130. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owapplyrules.ui +0 -0
  131. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owchunking.ui +0 -0
  132. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owconcatrules.ui +0 -0
  133. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owconversellm.ui +0 -0
  134. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owedgellm.ui +0 -0
  135. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owembeddings.ui +0 -0
  136. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owemptyswitch.ui +0 -0
  137. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owendloop.ui +0 -0
  138. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owexecutescript.ui +0 -0
  139. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owexecutescript_TEST.ui +0 -0
  140. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owextrachunks.ui +0 -0
  141. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owextracttokens.ui +0 -0
  142. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owfilemetadata.ui +0 -0
  143. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owfilesyncchecker.ui +0 -0
  144. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owfilewithpath.ui +0 -0
  145. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owfusion_nm.ui +0 -0
  146. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owgenerate_word.ui +0 -0
  147. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owgeneratequestions.ui +0 -0
  148. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owgeneratesynthesis.ui +0 -0
  149. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owkeyword.ui +0 -0
  150. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owkeywordsdetection.ui +0 -0
  151. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owlangdetect.ui +0 -0
  152. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owlargelanguagemodel.ui +0 -0
  153. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owlemmatizer.ui +0 -0
  154. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owllm4all.ui +0 -0
  155. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owloaddocuments.ui +0 -0
  156. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owloadworkflow.ui +0 -0
  157. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_ce_minilml6.ui +0 -0
  158. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_falcon.ui +0 -0
  159. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_helsinki_en_fr.ui +0 -0
  160. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_helsinki_fr_en.ui +0 -0
  161. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_mistral.ui +0 -0
  162. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_mpnet.ui +0 -0
  163. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_qwen.ui +0 -0
  164. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_2.5_32b.ui +0 -0
  165. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_instruct_1.5b_q6.ui +0 -0
  166. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_instruct_3b_q4.ui +0 -0
  167. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_instruct_7b_q4.ui +0 -0
  168. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_qwen_instruct_7b_q6.ui +0 -0
  169. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_qwencoder_7b.ui +0 -0
  170. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_solar.ui +0 -0
  171. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_solar_uncensored.ui +0 -0
  172. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_spacymd_en.ui +0 -0
  173. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owmodel_spacymd_fr.ui +0 -0
  174. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/ownumberpointinrules.ui +0 -0
  175. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owprocessdocuments.ui +0 -0
  176. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owquadrant_clicker.ui +0 -0
  177. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owqueryllm.ui +0 -0
  178. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owreranking.ui +0 -0
  179. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owsavewithpath.ui +0 -0
  180. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owselect_column_dynamic.ui +0 -0
  181. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owselect_row_dynamic.ui +0 -0
  182. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owsortandselect.ui +0 -0
  183. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owstartloop.ui +0 -0
  184. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owtable2corpus.ui +0 -0
  185. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owtranslation.ui +0 -0
  186. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owtrigger.ui +0 -0
  187. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/designer/owunzipfolder.ui +0 -0
  188. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/CN2RuleViewer.svg +0 -0
  189. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/CreateInstance.svg +0 -0
  190. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/MDViewer.png +0 -0
  191. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/Mistral.png +0 -0
  192. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/Table.svg +0 -0
  193. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/apply_rules.svg +0 -0
  194. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/blue_down_arrow.svg +0 -0
  195. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/category.svg +0 -0
  196. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/dark_green.txt +0 -0
  197. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/de.png +0 -0
  198. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/document_generator.png +0 -0
  199. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/documents.png +0 -0
  200. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/edge_llm.svg +0 -0
  201. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/endloop.png +0 -0
  202. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/extra_chunks.png +0 -0
  203. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/green_check.svg +0 -0
  204. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/in_or_out.png +0 -0
  205. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/input.png +0 -0
  206. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/languages.png +0 -0
  207. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/lm_studio.png +0 -0
  208. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/local_interf_img_multi_pull.svg +0 -0
  209. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/local_interf_multi_pull.svg +0 -0
  210. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/local_interf_pull.svg +0 -0
  211. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/local_interf_push.svg +0 -0
  212. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/local_interf_text_pull.svg +0 -0
  213. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/logo_solar.svg +0 -0
  214. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/logo_uncensoredsolar.svg +0 -0
  215. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/logo_upload.png +0 -0
  216. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/models.png +0 -0
  217. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/operationSystem.png +0 -0
  218. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/optimisation.png +0 -0
  219. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/optimizer.png +0 -0
  220. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/output.png +0 -0
  221. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owCN2_intersect_rules.svg +0 -0
  222. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owaccumulator.png +0 -0
  223. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owchunking.png +0 -0
  224. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owconversellm.svg +0 -0
  225. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owedittable.svg +0 -0
  226. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owembeddings.svg +0 -0
  227. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owemptyswitch.svg +0 -0
  228. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owenvinfo.png +0 -0
  229. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owexecutescript.svg +0 -0
  230. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owextracttokens.svg +0 -0
  231. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owfilemetadata.svg +0 -0
  232. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owfilesfromdir.svg +0 -0
  233. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owfilesyncchecker.svg +0 -0
  234. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owfilewithpath.svg +0 -0
  235. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owfusion_nm.png +0 -0
  236. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owgeneratequestions.svg +0 -0
  237. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owgeneratesynthesis.png +0 -0
  238. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owkeywords.png +0 -0
  239. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owkeywordsdetection.png +0 -0
  240. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owlargelanguagemodel.svg +0 -0
  241. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owlemmatizer.svg +0 -0
  242. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owloaddocuments.svg +0 -0
  243. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owmodel_ce_minilml6.svg +0 -0
  244. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owmodel_embeddings.svg +0 -0
  245. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owmodel_falcon.png +0 -0
  246. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owmodel_helsinki_en_fr.svg +0 -0
  247. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owmodel_helsinki_fr_en.svg +0 -0
  248. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owmodel_mpnet.svg +0 -0
  249. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owmodel_spacymd_en.svg +0 -0
  250. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owmodel_spacymd_fr.svg +0 -0
  251. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owoptimisation.svg +0 -0
  252. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owoptimisationselection.png +0 -0
  253. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owqueryllm.svg +0 -0
  254. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owreranking.svg +0 -0
  255. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owsavefilepathentry.svg +0 -0
  256. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owselectcolumndynamique.png +0 -0
  257. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owsortandselect.svg +0 -0
  258. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owtable2corpus.svg +0 -0
  259. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owtranslation.svg +0 -0
  260. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/owtrigger.svg +0 -0
  261. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/processdocuments.svg +0 -0
  262. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/quadrantclicker.svg +0 -0
  263. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/qwen-color.png +0 -0
  264. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/select_dynamic_row.png +0 -0
  265. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/startloop.png +0 -0
  266. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/tools.png +0 -0
  267. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/widgetFactory.svg +0 -0
  268. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/AAIT/widgets/icons/zip.svg +0 -0
  269. {aait-2.3.12.2 → aait-2.3.12.3}/orangecontrib/__init__.py +0 -0
  270. {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("content")
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
- if "path" in in_path_table.domain:
57
- self.filepath = in_path_table[0]["path"].value
58
- self.run()
59
- else:
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(600)
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
- DD,JJ,SS,MM=self._parse_delta_4_numbers(self.time_filter)
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(self.spinBox_minute.value())+"-"+str(self.spinBox_second.value())
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() #a jout de la gestion d'une zone vide
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
- def on_checkBox_2_toggled(self,state):
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() # si pas de d'extensions, elles apparaitront toutes
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
- files_data.append([os.path.join(root, file).replace("\\", "/")])
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>563</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>281</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>180</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>220</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>220</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>220</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>220</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>330</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>514</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>520</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.2" # la version doit être supérieure à la précédente sinon la publication sera refusée
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