radboy 0.0.445__tar.gz → 0.0.447__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.

Potentially problematic release.


This version of radboy might be problematic. Click here for more details.

Files changed (450) hide show
  1. {radboy-0.0.445 → radboy-0.0.447}/PKG-INFO +1 -1
  2. radboy-0.0.447/STDOUT.TXT +8 -0
  3. {radboy-0.0.445 → radboy-0.0.447}/pyproject.toml +1 -1
  4. radboy-0.0.447/radboy/CookBook/CookBook.py +458 -0
  5. radboy-0.0.447/radboy/CookBook/__init__.py +29 -0
  6. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/db.cpython-313.pyc +0 -0
  7. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/db.py +84 -1
  8. {radboy-0.0.445 → radboy-0.0.447}/radboy/FB/FBMTXT.py +1 -1
  9. {radboy-0.0.445 → radboy-0.0.447}/radboy/FB/__pycache__/FBMTXT.cpython-313.pyc +0 -0
  10. {radboy-0.0.445 → radboy-0.0.447}/radboy/HealthLog/HealthLog.py +1 -0
  11. {radboy-0.0.445 → radboy-0.0.447}/radboy/HealthLog/__pycache__/HealthLog.cpython-313.pyc +0 -0
  12. {radboy-0.0.445 → radboy-0.0.447}/radboy/RepeatableDates/RepeatableDates.py +1 -1
  13. {radboy-0.0.445 → radboy-0.0.447}/radboy/TasksMode/Tasks.py +20 -3
  14. {radboy-0.0.445 → radboy-0.0.447}/radboy/TasksMode/__pycache__/Tasks.cpython-313.pyc +0 -0
  15. radboy-0.0.447/radboy/__init__.py +1 -0
  16. {radboy-0.0.445 → radboy-0.0.447}/radboy/__pycache__/__init__.cpython-313.pyc +0 -0
  17. {radboy-0.0.445 → radboy-0.0.447}/radboy.egg-info/PKG-INFO +1 -1
  18. {radboy-0.0.445 → radboy-0.0.447}/radboy.egg-info/SOURCES.txt +2 -0
  19. {radboy-0.0.445 → radboy-0.0.447}/setup.py +1 -1
  20. radboy-0.0.445/STDOUT.TXT +0 -7
  21. radboy-0.0.445/radboy/__init__.py +0 -1
  22. {radboy-0.0.445 → radboy-0.0.447}/.gitignore +0 -0
  23. {radboy-0.0.445 → radboy-0.0.447}/.~lock.dictionary.xlsx# +0 -0
  24. {radboy-0.0.445 → radboy-0.0.447}/EntryQR.png +0 -0
  25. {radboy-0.0.445 → radboy-0.0.447}/EntryQR.txt +0 -0
  26. {radboy-0.0.445 → radboy-0.0.447}/EntryTXT.txt +0 -0
  27. {radboy-0.0.445 → radboy-0.0.447}/ExtraQR.png +0 -0
  28. {radboy-0.0.445 → radboy-0.0.447}/ExtraQR.txt +0 -0
  29. {radboy-0.0.445 → radboy-0.0.447}/ImportExcel.xlsx.done-21.01.2025 +0 -0
  30. {radboy-0.0.445 → radboy-0.0.447}/LCL_IMG/43_02122025.jpg +0 -0
  31. {radboy-0.0.445 → radboy-0.0.447}/README.md +0 -0
  32. {radboy-0.0.445 → radboy-0.0.447}/Run.py +0 -0
  33. {radboy-0.0.445 → radboy-0.0.447}/api_key +0 -0
  34. {radboy-0.0.445 → radboy-0.0.447}/build.sh +0 -0
  35. {radboy-0.0.445 → radboy-0.0.447}/dictionary.xlsx +0 -0
  36. {radboy-0.0.445 → radboy-0.0.447}/radboy/.~lock.case-export-2024-05-14-13-10-00.672971.xlsx# +0 -0
  37. {radboy-0.0.445 → radboy-0.0.447}/radboy/1-2024-04-02.png_04022024.jpg +0 -0
  38. {radboy-0.0.445 → radboy-0.0.447}/radboy/AlcoholConsumption/__init__.py +0 -0
  39. {radboy-0.0.445 → radboy-0.0.447}/radboy/AlcoholConsumption/__pycache__/__init__.cpython-312.pyc +0 -0
  40. {radboy-0.0.445 → radboy-0.0.447}/radboy/AlcoholConsumption/__pycache__/__init__.cpython-313.pyc +0 -0
  41. {radboy-0.0.445 → radboy-0.0.447}/radboy/AlcoholConsumption/__pycache__/ac.cpython-312.pyc +0 -0
  42. {radboy-0.0.445 → radboy-0.0.447}/radboy/AlcoholConsumption/__pycache__/ac.cpython-313.pyc +0 -0
  43. {radboy-0.0.445 → radboy-0.0.447}/radboy/AlcoholConsumption/ac.py +0 -0
  44. {radboy-0.0.445 → radboy-0.0.447}/radboy/BNC/BnC.py +0 -0
  45. {radboy-0.0.445 → radboy-0.0.447}/radboy/BNC/__init__.py +0 -0
  46. {radboy-0.0.445 → radboy-0.0.447}/radboy/BNC/__pycache__/BnC.cpython-312.pyc +0 -0
  47. {radboy-0.0.445 → radboy-0.0.447}/radboy/BNC/__pycache__/BnC.cpython-313.pyc +0 -0
  48. {radboy-0.0.445 → radboy-0.0.447}/radboy/BNC/__pycache__/__init__.cpython-312.pyc +0 -0
  49. {radboy-0.0.445 → radboy-0.0.447}/radboy/BNC/__pycache__/__init__.cpython-313.pyc +0 -0
  50. {radboy-0.0.445 → radboy-0.0.447}/radboy/Collector2/Collector2.py +0 -0
  51. {radboy-0.0.445 → radboy-0.0.447}/radboy/Collector2/__init__.py +0 -0
  52. {radboy-0.0.445 → radboy-0.0.447}/radboy/Collector2/__pycache__/Collector2.cpython-311.pyc +0 -0
  53. {radboy-0.0.445 → radboy-0.0.447}/radboy/Collector2/__pycache__/Collector2.cpython-312.pyc +0 -0
  54. {radboy-0.0.445 → radboy-0.0.447}/radboy/Collector2/__pycache__/Collector2.cpython-313.pyc +0 -0
  55. {radboy-0.0.445 → radboy-0.0.447}/radboy/Collector2/__pycache__/__init__.cpython-311.pyc +0 -0
  56. {radboy-0.0.445 → radboy-0.0.447}/radboy/Collector2/__pycache__/__init__.cpython-312.pyc +0 -0
  57. {radboy-0.0.445 → radboy-0.0.447}/radboy/Collector2/__pycache__/__init__.cpython-313.pyc +0 -0
  58. {radboy-0.0.445 → radboy-0.0.447}/radboy/Comm/RxTx.py +0 -0
  59. {radboy-0.0.445 → radboy-0.0.447}/radboy/Comm/__init__.py +0 -0
  60. {radboy-0.0.445 → radboy-0.0.447}/radboy/Comm/__pycache__/RxTx.cpython-312.pyc +0 -0
  61. {radboy-0.0.445 → radboy-0.0.447}/radboy/Comm/__pycache__/RxTx.cpython-313.pyc +0 -0
  62. {radboy-0.0.445 → radboy-0.0.447}/radboy/Comm/__pycache__/__init__.cpython-312.pyc +0 -0
  63. {radboy-0.0.445 → radboy-0.0.447}/radboy/Comm/__pycache__/__init__.cpython-313.pyc +0 -0
  64. {radboy-0.0.445 → radboy-0.0.447}/radboy/Compare/Compare.py +0 -0
  65. {radboy-0.0.445 → radboy-0.0.447}/radboy/Compare/__init__.py +0 -0
  66. {radboy-0.0.445 → radboy-0.0.447}/radboy/Compare/__pycache__/Compare.cpython-312.pyc +0 -0
  67. {radboy-0.0.445 → radboy-0.0.447}/radboy/Compare/__pycache__/Compare.cpython-313.pyc +0 -0
  68. {radboy-0.0.445 → radboy-0.0.447}/radboy/Compare/__pycache__/__init__.cpython-312.pyc +0 -0
  69. {radboy-0.0.445 → radboy-0.0.447}/radboy/Compare/__pycache__/__init__.cpython-313.pyc +0 -0
  70. {radboy-0.0.445 → radboy-0.0.447}/radboy/Conversion/Conversion.py +0 -0
  71. {radboy-0.0.445 → radboy-0.0.447}/radboy/Conversion/__init__.py +0 -0
  72. {radboy-0.0.445 → radboy-0.0.447}/radboy/Conversion/__pycache__/Conversion.cpython-311.pyc +0 -0
  73. {radboy-0.0.445 → radboy-0.0.447}/radboy/Conversion/__pycache__/Conversion.cpython-312.pyc +0 -0
  74. {radboy-0.0.445 → radboy-0.0.447}/radboy/Conversion/__pycache__/Conversion.cpython-313.pyc +0 -0
  75. {radboy-0.0.445 → radboy-0.0.447}/radboy/Conversion/__pycache__/__init__.cpython-311.pyc +0 -0
  76. {radboy-0.0.445 → radboy-0.0.447}/radboy/Conversion/__pycache__/__init__.cpython-312.pyc +0 -0
  77. {radboy-0.0.445 → radboy-0.0.447}/radboy/Conversion/__pycache__/__init__.cpython-313.pyc +0 -0
  78. {radboy-0.0.445 → radboy-0.0.447}/radboy/ConvertCode/ConvertCode.py +0 -0
  79. {radboy-0.0.445 → radboy-0.0.447}/radboy/ConvertCode/__init__.py +0 -0
  80. {radboy-0.0.445 → radboy-0.0.447}/radboy/ConvertCode/__pycache__/ConvertCode.cpython-311.pyc +0 -0
  81. {radboy-0.0.445 → radboy-0.0.447}/radboy/ConvertCode/__pycache__/ConvertCode.cpython-312.pyc +0 -0
  82. {radboy-0.0.445 → radboy-0.0.447}/radboy/ConvertCode/__pycache__/ConvertCode.cpython-313.pyc +0 -0
  83. {radboy-0.0.445 → radboy-0.0.447}/radboy/ConvertCode/__pycache__/__init__.cpython-311.pyc +0 -0
  84. {radboy-0.0.445 → radboy-0.0.447}/radboy/ConvertCode/__pycache__/__init__.cpython-312.pyc +0 -0
  85. {radboy-0.0.445 → radboy-0.0.447}/radboy/ConvertCode/__pycache__/__init__.cpython-313.pyc +0 -0
  86. {radboy-0.0.445 → radboy-0.0.447}/radboy/ConvertCode/__pycache__/codep.cpython-311.pyc +0 -0
  87. {radboy-0.0.445 → radboy-0.0.447}/radboy/ConvertCode/codep.py +0 -0
  88. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/CoinCombo.py +0 -0
  89. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/DatePicker.py +0 -0
  90. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/DisplayItemDb.py +0 -0
  91. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/EstimatedPayCalendarWorkSheet.txt +0 -0
  92. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/ExerciseTracker.py +0 -0
  93. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/PayDay.py +0 -0
  94. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/PayModels.py +0 -0
  95. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/PrintLogging.py +0 -0
  96. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/Prompt.py +0 -0
  97. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/RandomStringUtil.py +0 -0
  98. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/ResetTools.py +0 -0
  99. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/SMLabelImporter.py +0 -0
  100. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__init__.py +0 -0
  101. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/DatePicker.cpython-311.pyc +0 -0
  102. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/DatePicker.cpython-312.pyc +0 -0
  103. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/DatePicker.cpython-313.pyc +0 -0
  104. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/DisplayItemDb.cpython-312.pyc +0 -0
  105. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/DisplayItemDb.cpython-313.pyc +0 -0
  106. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/ExerciseTracker.cpython-312.pyc +0 -0
  107. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/ExerciseTracker.cpython-313.pyc +0 -0
  108. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/FormBuilder.cpython-312.pyc +0 -0
  109. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/PrintLogging.cpython-312.pyc +0 -0
  110. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/Prompt.cpython-311.pyc +0 -0
  111. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/Prompt.cpython-312.pyc +0 -0
  112. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/Prompt.cpython-313.pyc +0 -0
  113. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/RandomStringUtil.cpython-312.pyc +0 -0
  114. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/RandomStringUtil.cpython-313.pyc +0 -0
  115. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/ResetTools.cpython-311.pyc +0 -0
  116. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/ResetTools.cpython-312.pyc +0 -0
  117. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/ResetTools.cpython-313.pyc +0 -0
  118. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/SMLabelImporter.cpython-311.pyc +0 -0
  119. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/SMLabelImporter.cpython-312.pyc +0 -0
  120. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/SMLabelImporter.cpython-313.pyc +0 -0
  121. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/__init__.cpython-311.pyc +0 -0
  122. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/__init__.cpython-312.pyc +0 -0
  123. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/__init__.cpython-313.pyc +0 -0
  124. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/blankDataFile.cpython-312.pyc +0 -0
  125. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/blankDataFile.cpython-313.pyc +0 -0
  126. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/config.cpython-312.pyc +0 -0
  127. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/config.cpython-313.pyc +0 -0
  128. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/db.cpython-311.pyc +0 -0
  129. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/db.cpython-312.pyc +0 -0
  130. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/glossary_db.cpython-312.pyc +0 -0
  131. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/glossary_db.cpython-313.pyc +0 -0
  132. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/masterLookup.cpython-312.pyc +0 -0
  133. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/masterLookup.cpython-313.pyc +0 -0
  134. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/renderText2Png.cpython-311.pyc +0 -0
  135. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/renderText2Png.cpython-312.pyc +0 -0
  136. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/renderText2Png.cpython-313.pyc +0 -0
  137. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/__pycache__/testClass.cpython-311.pyc +0 -0
  138. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/blankDataFile.py +0 -0
  139. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/config.py +0 -0
  140. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/glossary_db.py +0 -0
  141. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/masterLookup.py +0 -0
  142. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/msg.txt +0 -0
  143. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/renderText2Png.py +0 -0
  144. {radboy-0.0.445 → radboy-0.0.447}/radboy/DB/testClass.py +0 -0
  145. {radboy-0.0.445 → radboy-0.0.447}/radboy/DayLog/BhTrSa/__init__.py +0 -0
  146. {radboy-0.0.445 → radboy-0.0.447}/radboy/DayLog/BhTrSa/bhtrsaa.py +0 -0
  147. {radboy-0.0.445 → radboy-0.0.447}/radboy/DayLog/DayLogger.py +0 -0
  148. {radboy-0.0.445 → radboy-0.0.447}/radboy/DayLog/TaxiFares.py +0 -0
  149. {radboy-0.0.445 → radboy-0.0.447}/radboy/DayLog/Wavelength4Freq.py +0 -0
  150. {radboy-0.0.445 → radboy-0.0.447}/radboy/DayLog/__init__.py +0 -0
  151. {radboy-0.0.445 → radboy-0.0.447}/radboy/DayLog/__pycache__/DayLogger.cpython-311.pyc +0 -0
  152. {radboy-0.0.445 → radboy-0.0.447}/radboy/DayLog/__pycache__/DayLogger.cpython-312.pyc +0 -0
  153. {radboy-0.0.445 → radboy-0.0.447}/radboy/DayLog/__pycache__/DayLogger.cpython-313.pyc +0 -0
  154. {radboy-0.0.445 → radboy-0.0.447}/radboy/DayLog/__pycache__/__init__.cpython-311.pyc +0 -0
  155. {radboy-0.0.445 → radboy-0.0.447}/radboy/DayLog/__pycache__/__init__.cpython-312.pyc +0 -0
  156. {radboy-0.0.445 → radboy-0.0.447}/radboy/DayLog/__pycache__/__init__.cpython-313.pyc +0 -0
  157. {radboy-0.0.445 → radboy-0.0.447}/radboy/Default.TTF +0 -0
  158. {radboy-0.0.445 → radboy-0.0.447}/radboy/EntryExtras/Extras.py +0 -0
  159. {radboy-0.0.445 → radboy-0.0.447}/radboy/EntryExtras/__init__.py +0 -0
  160. {radboy-0.0.445 → radboy-0.0.447}/radboy/EntryExtras/__pycache__/Extras.cpython-312.pyc +0 -0
  161. {radboy-0.0.445 → radboy-0.0.447}/radboy/EntryExtras/__pycache__/Extras.cpython-313.pyc +0 -0
  162. {radboy-0.0.445 → radboy-0.0.447}/radboy/EntryExtras/__pycache__/__init__.cpython-312.pyc +0 -0
  163. {radboy-0.0.445 → radboy-0.0.447}/radboy/EntryExtras/__pycache__/__init__.cpython-313.pyc +0 -0
  164. {radboy-0.0.445 → radboy-0.0.447}/radboy/EntryExtras/__pycache__/db.cpython-312.pyc +0 -0
  165. {radboy-0.0.445 → radboy-0.0.447}/radboy/EntryRating/ER.py +0 -0
  166. {radboy-0.0.445 → radboy-0.0.447}/radboy/EntryRating/__init__.py +0 -0
  167. {radboy-0.0.445 → radboy-0.0.447}/radboy/EntryRating/__pycache__/ER.cpython-312.pyc +0 -0
  168. {radboy-0.0.445 → radboy-0.0.447}/radboy/EntryRating/__pycache__/ER.cpython-313.pyc +0 -0
  169. {radboy-0.0.445 → radboy-0.0.447}/radboy/EntryRating/__pycache__/__init__.cpython-312.pyc +0 -0
  170. {radboy-0.0.445 → radboy-0.0.447}/radboy/EntryRating/__pycache__/__init__.cpython-313.pyc +0 -0
  171. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExportList/ExportListCurrent.py +0 -0
  172. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExportList/__init__.py +0 -0
  173. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExportList/__pycache__/ExportListCurrent.cpython-311.pyc +0 -0
  174. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExportList/__pycache__/ExportListCurrent.cpython-312.pyc +0 -0
  175. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExportList/__pycache__/ExportListCurrent.cpython-313.pyc +0 -0
  176. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExportList/__pycache__/__init__.cpython-311.pyc +0 -0
  177. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExportList/__pycache__/__init__.cpython-312.pyc +0 -0
  178. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExportList/__pycache__/__init__.cpython-313.pyc +0 -0
  179. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExportUtility/ExportTableClass.py +0 -0
  180. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExportUtility/__init__.py +0 -0
  181. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExportUtility/__pycache__/ExportTableClass.cpython-312.pyc +0 -0
  182. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExportUtility/__pycache__/ExportTableClass.cpython-313.pyc +0 -0
  183. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExportUtility/__pycache__/__init__.cpython-312.pyc +0 -0
  184. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExportUtility/__pycache__/__init__.cpython-313.pyc +0 -0
  185. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExtraTools/__init__.py +0 -0
  186. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExtraTools/__pycache__/__init__.cpython-312.pyc +0 -0
  187. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExtraTools/__pycache__/verify.cpython-312.pyc +0 -0
  188. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExtraTools/process_hs_s1.py +0 -0
  189. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExtraTools/renderQR.py +0 -0
  190. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExtraTools/renderQR.py.README +0 -0
  191. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExtraTools/snippet.py +0 -0
  192. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExtraTools/snippet2.py +0 -0
  193. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExtraTools/verify.py +0 -0
  194. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExtractPkg/ExtractPkg2.py +0 -0
  195. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExtractPkg/__init__.py +0 -0
  196. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExtractPkg/__pycache__/ExtractPkg2.cpython-311.pyc +0 -0
  197. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExtractPkg/__pycache__/ExtractPkg2.cpython-312.pyc +0 -0
  198. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExtractPkg/__pycache__/ExtractPkg2.cpython-313.pyc +0 -0
  199. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExtractPkg/__pycache__/__init__.cpython-311.pyc +0 -0
  200. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExtractPkg/__pycache__/__init__.cpython-312.pyc +0 -0
  201. {radboy-0.0.445 → radboy-0.0.447}/radboy/ExtractPkg/__pycache__/__init__.cpython-313.pyc +0 -0
  202. {radboy-0.0.445 → radboy-0.0.447}/radboy/FB/FormBuilder.py +0 -0
  203. {radboy-0.0.445 → radboy-0.0.447}/radboy/FB/__init__.py +0 -0
  204. {radboy-0.0.445 → radboy-0.0.447}/radboy/FB/__pycache__/FBMTXT.cpython-312.pyc +0 -0
  205. {radboy-0.0.445 → radboy-0.0.447}/radboy/FB/__pycache__/FormBuilder.cpython-312.pyc +0 -0
  206. {radboy-0.0.445 → radboy-0.0.447}/radboy/FB/__pycache__/FormBuilder.cpython-313.pyc +0 -0
  207. {radboy-0.0.445 → radboy-0.0.447}/radboy/FB/__pycache__/__init__.cpython-312.pyc +0 -0
  208. {radboy-0.0.445 → radboy-0.0.447}/radboy/FB/__pycache__/__init__.cpython-313.pyc +0 -0
  209. {radboy-0.0.445 → radboy-0.0.447}/radboy/GDOWN/GDOWN.py +0 -0
  210. {radboy-0.0.445 → radboy-0.0.447}/radboy/GDOWN/__init__.py +0 -0
  211. {radboy-0.0.445 → radboy-0.0.447}/radboy/GeoTools/GeoClass.py +0 -0
  212. {radboy-0.0.445 → radboy-0.0.447}/radboy/GeoTools/__init__.py +0 -0
  213. {radboy-0.0.445 → radboy-0.0.447}/radboy/GeoTools/__pycache__/GeoClass.cpython-312.pyc +0 -0
  214. {radboy-0.0.445 → radboy-0.0.447}/radboy/GeoTools/__pycache__/GeoClass.cpython-313.pyc +0 -0
  215. {radboy-0.0.445 → radboy-0.0.447}/radboy/GeoTools/__pycache__/OSMClass.cpython-312.pyc +0 -0
  216. {radboy-0.0.445 → radboy-0.0.447}/radboy/GeoTools/__pycache__/__init__.cpython-312.pyc +0 -0
  217. {radboy-0.0.445 → radboy-0.0.447}/radboy/GeoTools/__pycache__/__init__.cpython-313.pyc +0 -0
  218. {radboy-0.0.445 → radboy-0.0.447}/radboy/HealthLog/__init__.py +0 -0
  219. {radboy-0.0.445 → radboy-0.0.447}/radboy/HealthLog/__pycache__/HealthLog.cpython-312.pyc +0 -0
  220. {radboy-0.0.445 → radboy-0.0.447}/radboy/HealthLog/__pycache__/__init__.cpython-312.pyc +0 -0
  221. {radboy-0.0.445 → radboy-0.0.447}/radboy/HealthLog/__pycache__/__init__.cpython-313.pyc +0 -0
  222. {radboy-0.0.445 → radboy-0.0.447}/radboy/Holidays.txt +0 -0
  223. {radboy-0.0.445 → radboy-0.0.447}/radboy/InListRestore/ILR.py +0 -0
  224. {radboy-0.0.445 → radboy-0.0.447}/radboy/InListRestore/__init__.py +0 -0
  225. {radboy-0.0.445 → radboy-0.0.447}/radboy/InListRestore/__pycache__/ILR.cpython-312.pyc +0 -0
  226. {radboy-0.0.445 → radboy-0.0.447}/radboy/InListRestore/__pycache__/ILR.cpython-313.pyc +0 -0
  227. {radboy-0.0.445 → radboy-0.0.447}/radboy/InListRestore/__pycache__/__init__.cpython-312.pyc +0 -0
  228. {radboy-0.0.445 → radboy-0.0.447}/radboy/InListRestore/__pycache__/__init__.cpython-313.pyc +0 -0
  229. {radboy-0.0.445 → radboy-0.0.447}/radboy/InventoryGlossary.txt +0 -0
  230. {radboy-0.0.445 → radboy-0.0.447}/radboy/ListMode2/ListMode2.py +0 -0
  231. {radboy-0.0.445 → radboy-0.0.447}/radboy/ListMode2/__init__.py +0 -0
  232. {radboy-0.0.445 → radboy-0.0.447}/radboy/ListMode2/__pycache__/ListMode2.cpython-311.pyc +0 -0
  233. {radboy-0.0.445 → radboy-0.0.447}/radboy/ListMode2/__pycache__/ListMode2.cpython-312.pyc +0 -0
  234. {radboy-0.0.445 → radboy-0.0.447}/radboy/ListMode2/__pycache__/ListMode2.cpython-313.pyc +0 -0
  235. {radboy-0.0.445 → radboy-0.0.447}/radboy/ListMode2/__pycache__/__init__.cpython-311.pyc +0 -0
  236. {radboy-0.0.445 → radboy-0.0.447}/radboy/ListMode2/__pycache__/__init__.cpython-312.pyc +0 -0
  237. {radboy-0.0.445 → radboy-0.0.447}/radboy/ListMode2/__pycache__/__init__.cpython-313.pyc +0 -0
  238. {radboy-0.0.445 → radboy-0.0.447}/radboy/LocationSequencer/LocationSequencer.py +0 -0
  239. {radboy-0.0.445 → radboy-0.0.447}/radboy/LocationSequencer/__init__.py +0 -0
  240. {radboy-0.0.445 → radboy-0.0.447}/radboy/LocationSequencer/__pycache__/LocationSequencer.cpython-311.pyc +0 -0
  241. {radboy-0.0.445 → radboy-0.0.447}/radboy/LocationSequencer/__pycache__/LocationSequencer.cpython-312.pyc +0 -0
  242. {radboy-0.0.445 → radboy-0.0.447}/radboy/LocationSequencer/__pycache__/LocationSequencer.cpython-313.pyc +0 -0
  243. {radboy-0.0.445 → radboy-0.0.447}/radboy/LocationSequencer/__pycache__/__init__.cpython-311.pyc +0 -0
  244. {radboy-0.0.445 → radboy-0.0.447}/radboy/LocationSequencer/__pycache__/__init__.cpython-312.pyc +0 -0
  245. {radboy-0.0.445 → radboy-0.0.447}/radboy/LocationSequencer/__pycache__/__init__.cpython-313.pyc +0 -0
  246. {radboy-0.0.445 → radboy-0.0.447}/radboy/Locator/Locator.py +0 -0
  247. {radboy-0.0.445 → radboy-0.0.447}/radboy/Locator/__init__.py +0 -0
  248. {radboy-0.0.445 → radboy-0.0.447}/radboy/Locator/__pycache__/Locator.cpython-311.pyc +0 -0
  249. {radboy-0.0.445 → radboy-0.0.447}/radboy/Locator/__pycache__/Locator.cpython-312.pyc +0 -0
  250. {radboy-0.0.445 → radboy-0.0.447}/radboy/Locator/__pycache__/Locator.cpython-313.pyc +0 -0
  251. {radboy-0.0.445 → radboy-0.0.447}/radboy/Locator/__pycache__/__init__.cpython-311.pyc +0 -0
  252. {radboy-0.0.445 → radboy-0.0.447}/radboy/Locator/__pycache__/__init__.cpython-312.pyc +0 -0
  253. {radboy-0.0.445 → radboy-0.0.447}/radboy/Locator/__pycache__/__init__.cpython-313.pyc +0 -0
  254. {radboy-0.0.445 → radboy-0.0.447}/radboy/Lookup/Lookup.py +0 -0
  255. {radboy-0.0.445 → radboy-0.0.447}/radboy/Lookup/__init__.py +0 -0
  256. {radboy-0.0.445 → radboy-0.0.447}/radboy/Lookup/__pycache__/Lookup.cpython-311.pyc +0 -0
  257. {radboy-0.0.445 → radboy-0.0.447}/radboy/Lookup/__pycache__/Lookup.cpython-312.pyc +0 -0
  258. {radboy-0.0.445 → radboy-0.0.447}/radboy/Lookup/__pycache__/Lookup.cpython-313.pyc +0 -0
  259. {radboy-0.0.445 → radboy-0.0.447}/radboy/Lookup/__pycache__/__init__.cpython-311.pyc +0 -0
  260. {radboy-0.0.445 → radboy-0.0.447}/radboy/Lookup/__pycache__/__init__.cpython-312.pyc +0 -0
  261. {radboy-0.0.445 → radboy-0.0.447}/radboy/Lookup/__pycache__/__init__.cpython-313.pyc +0 -0
  262. {radboy-0.0.445 → radboy-0.0.447}/radboy/Lookup2/Lookup2.py +0 -0
  263. {radboy-0.0.445 → radboy-0.0.447}/radboy/Lookup2/__init__.py +0 -0
  264. {radboy-0.0.445 → radboy-0.0.447}/radboy/Lookup2/__pycache__/Lookup2.cpython-312.pyc +0 -0
  265. {radboy-0.0.445 → radboy-0.0.447}/radboy/Lookup2/__pycache__/Lookup2.cpython-313.pyc +0 -0
  266. {radboy-0.0.445 → radboy-0.0.447}/radboy/Lookup2/__pycache__/__init__.cpython-312.pyc +0 -0
  267. {radboy-0.0.445 → radboy-0.0.447}/radboy/Lookup2/__pycache__/__init__.cpython-313.pyc +0 -0
  268. {radboy-0.0.445 → radboy-0.0.447}/radboy/ModuleTemplate/Tasks.py +0 -0
  269. {radboy-0.0.445 → radboy-0.0.447}/radboy/ModuleTemplate/__init__.py +0 -0
  270. {radboy-0.0.445 → radboy-0.0.447}/radboy/ModuleTemplate/__pycache__/Tasks.cpython-311.pyc +0 -0
  271. {radboy-0.0.445 → radboy-0.0.447}/radboy/ModuleTemplate/__pycache__/__init__.cpython-311.pyc +0 -0
  272. {radboy-0.0.445 → radboy-0.0.447}/radboy/Of/__init__.py +0 -0
  273. {radboy-0.0.445 → radboy-0.0.447}/radboy/Of/__pycache__/__init__.cpython-312.pyc +0 -0
  274. {radboy-0.0.445 → radboy-0.0.447}/radboy/Of/__pycache__/__init__.cpython-313.pyc +0 -0
  275. {radboy-0.0.445 → radboy-0.0.447}/radboy/Of/__pycache__/of.cpython-312.pyc +0 -0
  276. {radboy-0.0.445 → radboy-0.0.447}/radboy/Of/__pycache__/of.cpython-313.pyc +0 -0
  277. {radboy-0.0.445 → radboy-0.0.447}/radboy/Of/of.py +0 -0
  278. {radboy-0.0.445 → radboy-0.0.447}/radboy/Old Schedules/schedule-template-11.01.2024.txt +0 -0
  279. {radboy-0.0.445 → radboy-0.0.447}/radboy/Old Schedules/schedule-template-pre-11.01.2024.txt +0 -0
  280. {radboy-0.0.445 → radboy-0.0.447}/radboy/Orders/MilkWaterOrder.py +0 -0
  281. {radboy-0.0.445 → radboy-0.0.447}/radboy/Orders/__init__.py +0 -0
  282. {radboy-0.0.445 → radboy-0.0.447}/radboy/POS/POS.py +0 -0
  283. {radboy-0.0.445 → radboy-0.0.447}/radboy/POS/__init__.py +0 -0
  284. {radboy-0.0.445 → radboy-0.0.447}/radboy/POS/__pycache__/POS.cpython-311.pyc +0 -0
  285. {radboy-0.0.445 → radboy-0.0.447}/radboy/POS/__pycache__/POS.cpython-312.pyc +0 -0
  286. {radboy-0.0.445 → radboy-0.0.447}/radboy/POS/__pycache__/POS.cpython-313.pyc +0 -0
  287. {radboy-0.0.445 → radboy-0.0.447}/radboy/POS/__pycache__/__init__.cpython-311.pyc +0 -0
  288. {radboy-0.0.445 → radboy-0.0.447}/radboy/POS/__pycache__/__init__.cpython-312.pyc +0 -0
  289. {radboy-0.0.445 → radboy-0.0.447}/radboy/POS/__pycache__/__init__.cpython-313.pyc +0 -0
  290. {radboy-0.0.445 → radboy-0.0.447}/radboy/PunchCard/CalcTimePad.py +0 -0
  291. {radboy-0.0.445 → radboy-0.0.447}/radboy/PunchCard/PunchCard.py +0 -0
  292. {radboy-0.0.445 → radboy-0.0.447}/radboy/PunchCard/__init__.py +0 -0
  293. {radboy-0.0.445 → radboy-0.0.447}/radboy/PunchCard/__pycache__/CalcTimePad.cpython-311.pyc +0 -0
  294. {radboy-0.0.445 → radboy-0.0.447}/radboy/PunchCard/__pycache__/CalcTimePad.cpython-312.pyc +0 -0
  295. {radboy-0.0.445 → radboy-0.0.447}/radboy/PunchCard/__pycache__/CalcTimePad.cpython-313.pyc +0 -0
  296. {radboy-0.0.445 → radboy-0.0.447}/radboy/PunchCard/__pycache__/PunchCard.cpython-311.pyc +0 -0
  297. {radboy-0.0.445 → radboy-0.0.447}/radboy/PunchCard/__pycache__/PunchCard.cpython-312.pyc +0 -0
  298. {radboy-0.0.445 → radboy-0.0.447}/radboy/PunchCard/__pycache__/PunchCard.cpython-313.pyc +0 -0
  299. {radboy-0.0.445 → radboy-0.0.447}/radboy/PunchCard/__pycache__/__init__.cpython-311.pyc +0 -0
  300. {radboy-0.0.445 → radboy-0.0.447}/radboy/PunchCard/__pycache__/__init__.cpython-312.pyc +0 -0
  301. {radboy-0.0.445 → radboy-0.0.447}/radboy/PunchCard/__pycache__/__init__.cpython-313.pyc +0 -0
  302. {radboy-0.0.445 → radboy-0.0.447}/radboy/RNE/RNE.py +0 -0
  303. {radboy-0.0.445 → radboy-0.0.447}/radboy/RNE/__init__.py +0 -0
  304. {radboy-0.0.445 → radboy-0.0.447}/radboy/RNE/__pycache__/RNE.cpython-312.pyc +0 -0
  305. {radboy-0.0.445 → radboy-0.0.447}/radboy/RNE/__pycache__/RNE.cpython-313.pyc +0 -0
  306. {radboy-0.0.445 → radboy-0.0.447}/radboy/RNE/__pycache__/__init__.cpython-312.pyc +0 -0
  307. {radboy-0.0.445 → radboy-0.0.447}/radboy/RNE/__pycache__/__init__.cpython-313.pyc +0 -0
  308. {radboy-0.0.445 → radboy-0.0.447}/radboy/RNE/dateAhead.py +0 -0
  309. {radboy-0.0.445 → radboy-0.0.447}/radboy/RecordMyCodes.py +0 -0
  310. {radboy-0.0.445 → radboy-0.0.447}/radboy/Repack/Repack.py +0 -0
  311. {radboy-0.0.445 → radboy-0.0.447}/radboy/Repack/__init__.py +0 -0
  312. {radboy-0.0.445 → radboy-0.0.447}/radboy/Repack/__pycache__/Repack.cpython-311.pyc +0 -0
  313. {radboy-0.0.445 → radboy-0.0.447}/radboy/Repack/__pycache__/Repack.cpython-312.pyc +0 -0
  314. {radboy-0.0.445 → radboy-0.0.447}/radboy/Repack/__pycache__/Repack.cpython-313.pyc +0 -0
  315. {radboy-0.0.445 → radboy-0.0.447}/radboy/Repack/__pycache__/__init__.cpython-311.pyc +0 -0
  316. {radboy-0.0.445 → radboy-0.0.447}/radboy/Repack/__pycache__/__init__.cpython-312.pyc +0 -0
  317. {radboy-0.0.445 → radboy-0.0.447}/radboy/Repack/__pycache__/__init__.cpython-313.pyc +0 -0
  318. {radboy-0.0.445 → radboy-0.0.447}/radboy/RepeatableDates/__init__.py +0 -0
  319. {radboy-0.0.445 → radboy-0.0.447}/radboy/Roster/Roster.py +0 -0
  320. {radboy-0.0.445 → radboy-0.0.447}/radboy/Roster/__init__.py +0 -0
  321. {radboy-0.0.445 → radboy-0.0.447}/radboy/Roster/__pycache__/Roster.cpython-312.pyc +0 -0
  322. {radboy-0.0.445 → radboy-0.0.447}/radboy/Roster/__pycache__/Roster.cpython-313.pyc +0 -0
  323. {radboy-0.0.445 → radboy-0.0.447}/radboy/Roster/__pycache__/__init__.cpython-312.pyc +0 -0
  324. {radboy-0.0.445 → radboy-0.0.447}/radboy/Roster/__pycache__/__init__.cpython-313.pyc +0 -0
  325. {radboy-0.0.445 → radboy-0.0.447}/radboy/Run.py +0 -0
  326. {radboy-0.0.445 → radboy-0.0.447}/radboy/Solver/Solver.py +0 -0
  327. {radboy-0.0.445 → radboy-0.0.447}/radboy/Solver/__init__.py +0 -0
  328. {radboy-0.0.445 → radboy-0.0.447}/radboy/Solver/__pycache__/Solver.cpython-312.pyc +0 -0
  329. {radboy-0.0.445 → radboy-0.0.447}/radboy/Solver/__pycache__/Solver.cpython-313.pyc +0 -0
  330. {radboy-0.0.445 → radboy-0.0.447}/radboy/Solver/__pycache__/__init__.cpython-312.pyc +0 -0
  331. {radboy-0.0.445 → radboy-0.0.447}/radboy/Solver/__pycache__/__init__.cpython-313.pyc +0 -0
  332. {radboy-0.0.445 → radboy-0.0.447}/radboy/StopWatchUi/StopWatchUi.py +0 -0
  333. {radboy-0.0.445 → radboy-0.0.447}/radboy/StopWatchUi/__init__.py +0 -0
  334. {radboy-0.0.445 → radboy-0.0.447}/radboy/StopWatchUi/__pycache__/StopWatch.cpython-312.pyc +0 -0
  335. {radboy-0.0.445 → radboy-0.0.447}/radboy/StopWatchUi/__pycache__/StopWatchUi.cpython-312.pyc +0 -0
  336. {radboy-0.0.445 → radboy-0.0.447}/radboy/StopWatchUi/__pycache__/StopWatchUi.cpython-313.pyc +0 -0
  337. {radboy-0.0.445 → radboy-0.0.447}/radboy/StopWatchUi/__pycache__/__init__.cpython-312.pyc +0 -0
  338. {radboy-0.0.445 → radboy-0.0.447}/radboy/StopWatchUi/__pycache__/__init__.cpython-313.pyc +0 -0
  339. {radboy-0.0.445 → radboy-0.0.447}/radboy/SystemSettings/SystemSettings.py +0 -0
  340. {radboy-0.0.445 → radboy-0.0.447}/radboy/SystemSettings/__init__.py +0 -0
  341. {radboy-0.0.445 → radboy-0.0.447}/radboy/SystemSettings/__pycache__/SystemSettings.cpython-312.pyc +0 -0
  342. {radboy-0.0.445 → radboy-0.0.447}/radboy/SystemSettings/__pycache__/SystemSettings.cpython-313.pyc +0 -0
  343. {radboy-0.0.445 → radboy-0.0.447}/radboy/SystemSettings/__pycache__/__init__.cpython-312.pyc +0 -0
  344. {radboy-0.0.445 → radboy-0.0.447}/radboy/SystemSettings/__pycache__/__init__.cpython-313.pyc +0 -0
  345. {radboy-0.0.445 → radboy-0.0.447}/radboy/TasksMode/ReFormula.py +0 -0
  346. {radboy-0.0.445 → radboy-0.0.447}/radboy/TasksMode/SetEntryNEU.py +0 -0
  347. {radboy-0.0.445 → radboy-0.0.447}/radboy/TasksMode/__init__.py +0 -0
  348. {radboy-0.0.445 → radboy-0.0.447}/radboy/TasksMode/__pycache__/ReFormula.cpython-311.pyc +0 -0
  349. {radboy-0.0.445 → radboy-0.0.447}/radboy/TasksMode/__pycache__/ReFormula.cpython-312.pyc +0 -0
  350. {radboy-0.0.445 → radboy-0.0.447}/radboy/TasksMode/__pycache__/ReFormula.cpython-313.pyc +0 -0
  351. {radboy-0.0.445 → radboy-0.0.447}/radboy/TasksMode/__pycache__/SetEntryNEU.cpython-312.pyc +0 -0
  352. {radboy-0.0.445 → radboy-0.0.447}/radboy/TasksMode/__pycache__/SetEntryNEU.cpython-313.pyc +0 -0
  353. {radboy-0.0.445 → radboy-0.0.447}/radboy/TasksMode/__pycache__/Tasks.cpython-311.pyc +0 -0
  354. {radboy-0.0.445 → radboy-0.0.447}/radboy/TasksMode/__pycache__/Tasks.cpython-312.pyc +0 -0
  355. {radboy-0.0.445 → radboy-0.0.447}/radboy/TasksMode/__pycache__/__init__.cpython-311.pyc +0 -0
  356. {radboy-0.0.445 → radboy-0.0.447}/radboy/TasksMode/__pycache__/__init__.cpython-312.pyc +0 -0
  357. {radboy-0.0.445 → radboy-0.0.447}/radboy/TasksMode/__pycache__/__init__.cpython-313.pyc +0 -0
  358. {radboy-0.0.445 → radboy-0.0.447}/radboy/TouchStampC/TouchStampC.py +0 -0
  359. {radboy-0.0.445 → radboy-0.0.447}/radboy/TouchStampC/__init__.py +0 -0
  360. {radboy-0.0.445 → radboy-0.0.447}/radboy/TouchStampC/__pycache__/TouchStampC.cpython-311.pyc +0 -0
  361. {radboy-0.0.445 → radboy-0.0.447}/radboy/TouchStampC/__pycache__/TouchStampC.cpython-312.pyc +0 -0
  362. {radboy-0.0.445 → radboy-0.0.447}/radboy/TouchStampC/__pycache__/TouchStampC.cpython-313.pyc +0 -0
  363. {radboy-0.0.445 → radboy-0.0.447}/radboy/TouchStampC/__pycache__/__init__.cpython-311.pyc +0 -0
  364. {radboy-0.0.445 → radboy-0.0.447}/radboy/TouchStampC/__pycache__/__init__.cpython-312.pyc +0 -0
  365. {radboy-0.0.445 → radboy-0.0.447}/radboy/TouchStampC/__pycache__/__init__.cpython-313.pyc +0 -0
  366. {radboy-0.0.445 → radboy-0.0.447}/radboy/Unified/Unified.py +0 -0
  367. {radboy-0.0.445 → radboy-0.0.447}/radboy/Unified/Unified2.py +0 -0
  368. {radboy-0.0.445 → radboy-0.0.447}/radboy/Unified/__init__.py +0 -0
  369. {radboy-0.0.445 → radboy-0.0.447}/radboy/Unified/__pycache__/Unified.cpython-311.pyc +0 -0
  370. {radboy-0.0.445 → radboy-0.0.447}/radboy/Unified/__pycache__/Unified.cpython-312.pyc +0 -0
  371. {radboy-0.0.445 → radboy-0.0.447}/radboy/Unified/__pycache__/Unified.cpython-313.pyc +0 -0
  372. {radboy-0.0.445 → radboy-0.0.447}/radboy/Unified/__pycache__/__init__.cpython-311.pyc +0 -0
  373. {radboy-0.0.445 → radboy-0.0.447}/radboy/Unified/__pycache__/__init__.cpython-312.pyc +0 -0
  374. {radboy-0.0.445 → radboy-0.0.447}/radboy/Unified/__pycache__/__init__.cpython-313.pyc +0 -0
  375. {radboy-0.0.445 → radboy-0.0.447}/radboy/Unified/__pycache__/bareCA.cpython-312.pyc +0 -0
  376. {radboy-0.0.445 → radboy-0.0.447}/radboy/Unified/__pycache__/bareCA.cpython-313.pyc +0 -0
  377. {radboy-0.0.445 → radboy-0.0.447}/radboy/Unified/__pycache__/clearalll.cpython-312.pyc +0 -0
  378. {radboy-0.0.445 → radboy-0.0.447}/radboy/Unified/__pycache__/clearalll.cpython-313.pyc +0 -0
  379. {radboy-0.0.445 → radboy-0.0.447}/radboy/Unified/bareCA.py +0 -0
  380. {radboy-0.0.445 → radboy-0.0.447}/radboy/Unified/clearalll.py +0 -0
  381. {radboy-0.0.445 → radboy-0.0.447}/radboy/UpdatesAndImports/UpdatesAndImports.py +0 -0
  382. {radboy-0.0.445 → radboy-0.0.447}/radboy/UpdatesAndImports/__init__.py +0 -0
  383. {radboy-0.0.445 → radboy-0.0.447}/radboy/UpdatesAndImports/__pycache__/UpdatesAndImports.cpython-311.pyc +0 -0
  384. {radboy-0.0.445 → radboy-0.0.447}/radboy/UpdatesAndImports/__pycache__/__init__.cpython-311.pyc +0 -0
  385. {radboy-0.0.445 → radboy-0.0.447}/radboy/WebArchive/WebArchive.py +0 -0
  386. {radboy-0.0.445 → radboy-0.0.447}/radboy/WebArchive/__init__.py +0 -0
  387. {radboy-0.0.445 → radboy-0.0.447}/radboy/WebSearchFrameWork/SearchMethods.py +0 -0
  388. {radboy-0.0.445 → radboy-0.0.447}/radboy/WebSearchFrameWork/__init__.py +0 -0
  389. {radboy-0.0.445 → radboy-0.0.447}/radboy/WebSearchFrameWork/__pycache__/SearchMethods.cpython-311.pyc +0 -0
  390. {radboy-0.0.445 → radboy-0.0.447}/radboy/WebSearchFrameWork/__pycache__/__init__.cpython-311.pyc +0 -0
  391. {radboy-0.0.445 → radboy-0.0.447}/radboy/WebSearchFrameWork/html.html +0 -0
  392. {radboy-0.0.445 → radboy-0.0.447}/radboy/__pycache__/MainAssist.cpython-312.pyc +0 -0
  393. {radboy-0.0.445 → radboy-0.0.447}/radboy/__pycache__/RecordMyCodes.cpython-311.pyc +0 -0
  394. {radboy-0.0.445 → radboy-0.0.447}/radboy/__pycache__/RecordMyCodes.cpython-312.pyc +0 -0
  395. {radboy-0.0.445 → radboy-0.0.447}/radboy/__pycache__/RecordMyCodes.cpython-313.pyc +0 -0
  396. {radboy-0.0.445 → radboy-0.0.447}/radboy/__pycache__/RecordMyCodes.cpython-39.pyc +0 -0
  397. {radboy-0.0.445 → radboy-0.0.447}/radboy/__pycache__/Run.cpython-311.pyc +0 -0
  398. {radboy-0.0.445 → radboy-0.0.447}/radboy/__pycache__/Run.cpython-312.pyc +0 -0
  399. {radboy-0.0.445 → radboy-0.0.447}/radboy/__pycache__/__init__.cpython-311.pyc +0 -0
  400. {radboy-0.0.445 → radboy-0.0.447}/radboy/__pycache__/__init__.cpython-312.pyc +0 -0
  401. {radboy-0.0.445 → radboy-0.0.447}/radboy/__pycache__/__init__.cpython-39.pyc +0 -0
  402. {radboy-0.0.445 → radboy-0.0.447}/radboy/__pycache__/possibleCode.cpython-311.pyc +0 -0
  403. {radboy-0.0.445 → radboy-0.0.447}/radboy/__pycache__/possibleCode.cpython-312.pyc +0 -0
  404. {radboy-0.0.445 → radboy-0.0.447}/radboy/__pycache__/possibleCode.cpython-313.pyc +0 -0
  405. {radboy-0.0.445 → radboy-0.0.447}/radboy/__pycache__/renderQR.cpython-311.pyc +0 -0
  406. {radboy-0.0.445 → radboy-0.0.447}/radboy/__pycache__/t.cpython-311.pyc +0 -0
  407. {radboy-0.0.445 → radboy-0.0.447}/radboy/__pycache__/te.cpython-311.pyc +0 -0
  408. {radboy-0.0.445 → radboy-0.0.447}/radboy/__pycache__/x.cpython-311.pyc +0 -0
  409. {radboy-0.0.445 → radboy-0.0.447}/radboy/api_key +0 -0
  410. {radboy-0.0.445 → radboy-0.0.447}/radboy/case-export-2024-05-14-13-10-00.672971.xlsx +0 -0
  411. {radboy-0.0.445 → radboy-0.0.447}/radboy/case-export-2024-05-14-13-13-22.540614.xlsx +0 -0
  412. {radboy-0.0.445 → radboy-0.0.447}/radboy/changelog.txt +0 -0
  413. {radboy-0.0.445 → radboy-0.0.447}/radboy/code.png +0 -0
  414. {radboy-0.0.445 → radboy-0.0.447}/radboy/db.csv +0 -0
  415. {radboy-0.0.445 → radboy-0.0.447}/radboy/dictionary.txt +0 -0
  416. {radboy-0.0.445 → radboy-0.0.447}/radboy/export.csv +0 -0
  417. {radboy-0.0.445 → radboy-0.0.447}/radboy/fb +0 -0
  418. {radboy-0.0.445 → radboy-0.0.447}/radboy/helpMsg.txt +0 -0
  419. {radboy-0.0.445 → radboy-0.0.447}/radboy/home.csv +0 -0
  420. {radboy-0.0.445 → radboy-0.0.447}/radboy/possibleCode.py +0 -0
  421. {radboy-0.0.445 → radboy-0.0.447}/radboy/renderQR.py +0 -0
  422. {radboy-0.0.445 → radboy-0.0.447}/radboy/renderQR.py.README +0 -0
  423. {radboy-0.0.445 → radboy-0.0.447}/radboy/setCode/__init__.py +0 -0
  424. {radboy-0.0.445 → radboy-0.0.447}/radboy/setCode/__pycache__/__init__.cpython-311.pyc +0 -0
  425. {radboy-0.0.445 → radboy-0.0.447}/radboy/setCode/__pycache__/__init__.cpython-312.pyc +0 -0
  426. {radboy-0.0.445 → radboy-0.0.447}/radboy/setCode/__pycache__/__init__.cpython-313.pyc +0 -0
  427. {radboy-0.0.445 → radboy-0.0.447}/radboy/setCode/__pycache__/setCode.cpython-311.pyc +0 -0
  428. {radboy-0.0.445 → radboy-0.0.447}/radboy/setCode/__pycache__/setCode.cpython-312.pyc +0 -0
  429. {radboy-0.0.445 → radboy-0.0.447}/radboy/setCode/__pycache__/setCode.cpython-313.pyc +0 -0
  430. {radboy-0.0.445 → radboy-0.0.447}/radboy/setCode/setCode.py +0 -0
  431. {radboy-0.0.445 → radboy-0.0.447}/radboy/t.py +0 -0
  432. {radboy-0.0.445 → radboy-0.0.447}/radboy/te.py +0 -0
  433. {radboy-0.0.445 → radboy-0.0.447}/radboy/tkGui/BeginnersLuck.py +0 -0
  434. {radboy-0.0.445 → radboy-0.0.447}/radboy/tkGui/Images/__init__.py +0 -0
  435. {radboy-0.0.445 → radboy-0.0.447}/radboy/tkGui/Images/__pycache__/__init__.cpython-311.pyc +0 -0
  436. {radboy-0.0.445 → radboy-0.0.447}/radboy/tkGui/Review.py +0 -0
  437. {radboy-0.0.445 → radboy-0.0.447}/radboy/tkGui/__init__.py +0 -0
  438. {radboy-0.0.445 → radboy-0.0.447}/radboy/tkGui/__pycache__/BeginnersLuck.cpython-311.pyc +0 -0
  439. {radboy-0.0.445 → radboy-0.0.447}/radboy/tkGui/__pycache__/Review.cpython-311.pyc +0 -0
  440. {radboy-0.0.445 → radboy-0.0.447}/radboy/tkGui/__pycache__/__init__.cpython-311.pyc +0 -0
  441. {radboy-0.0.445 → radboy-0.0.447}/radboy/version.txt +0 -0
  442. {radboy-0.0.445 → radboy-0.0.447}/radboy/whatIs15.py +0 -0
  443. {radboy-0.0.445 → radboy-0.0.447}/radboy/x.py +0 -0
  444. {radboy-0.0.445 → radboy-0.0.447}/radboy.egg-info/dependency_links.txt +0 -0
  445. {radboy-0.0.445 → radboy-0.0.447}/radboy.egg-info/requires.txt +0 -0
  446. {radboy-0.0.445 → radboy-0.0.447}/radboy.egg-info/top_level.txt +0 -0
  447. {radboy-0.0.445 → radboy-0.0.447}/setup.cfg +0 -0
  448. {radboy-0.0.445 → radboy-0.0.447}/test +0 -0
  449. {radboy-0.0.445 → radboy-0.0.447}/update.sh +0 -0
  450. {radboy-0.0.445 → radboy-0.0.447}/upload.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: radboy
3
- Version: 0.0.445
3
+ Version: 0.0.447
4
4
  Summary: A small example package
5
5
  Author: Carl Joseph Hirner III
6
6
  Author-email: Carl Hirner III <k.j.hirner.wisdom@gmail.com>
@@ -0,0 +1,8 @@
1
+ #USER INPUT# -> :"t"
2
+ #USER INPUT# -> :"ckbk"
3
+ #USER INPUT# -> :"ttlrcp"
4
+ #USER INPUT# -> :""
5
+ #USER INPUT# -> :"0"
6
+ #USER INPUT# -> :"q"
7
+ #USER INPUT# -> :"e"
8
+ #USER INPUT# -> :"0.0.447"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "radboy"
3
- version = "0.0.445"
3
+ version = "0.0.447"
4
4
  authors = [
5
5
  { name="Carl Hirner III", email="k.j.hirner.wisdom@gmail.com" },
6
6
  ]
@@ -0,0 +1,458 @@
1
+ from . import *
2
+
3
+
4
+ class CookBookUi:
5
+ def total_rcp(self):
6
+ with Session(ENGINE) as session:
7
+ rcp=self.ls_rcp_names(asSelector=True,whole=True,names=True)
8
+ if rcp is None:
9
+ print("User returned, or no results!")
10
+ return
11
+ ct=len(rcp[0])
12
+ htext=[]
13
+ for i in rcp[0]:
14
+ htext.append(i)
15
+ htext='\n'.join(htext)
16
+ print(htext)
17
+ which=Prompt.__init2__(self,func=FormBuilderMkText,ptext="which index",helpText=f"{htext}\nindex of rcp to edit",data="integer")
18
+ if which in [None,'d']:
19
+ return
20
+ try:
21
+ totals={
22
+ "carb_per_serving":None,
23
+ "fiber_per_serving":None,
24
+ "protien_per_serving":None,
25
+ "total_fat_per_serving":None,
26
+ "saturated_fat_per_serving":None,
27
+ "trans_fat_per_serving":None,
28
+ "sodium_per_serving":None,
29
+ "cholesterol_per_serving":None,
30
+ "vitamin_d":None,
31
+ "calcium":None,
32
+ "iron":None,
33
+ "potassium":None,
34
+ }
35
+ ingredients=session.query(CookBook).filter(CookBook.recipe_uid==rcp[-1][which].recipe_uid).all()
36
+ last_unit=None
37
+ for i in ingredients:
38
+ for num,k in enumerate(totals):
39
+ try:
40
+ qty=getattr(i,k)
41
+ unit=getattr(i,f'{k}_unit')
42
+ QTY=pint.Quantity(qty,unit)
43
+
44
+ used=pint.Quantity(i.IngredientQty,i.IngredientQtyUnit)
45
+ servingSize=pint.Quantity(i.Serving_Size,i.Serving_Size_unit)
46
+ ck=Fore.orange_red_1
47
+ if (num%2)!=0 and num != 0:
48
+ ck=Fore.light_steel_blue
49
+ print(f"{ck}{i.recipe_name}|{i.IngredientName}|{k}={QTY}|amount used={used}|servingSize={servingSize}|used/servingSize={used/servingSize}|QTY*(used/servingSize)={QTY*(used/servingSize)}{Style.reset}")
50
+ if totals[k] is None:
51
+ totals[k]=QTY*(used/servingSize)
52
+ else:
53
+ totals[k]+=(QTY*(used/servingSize))
54
+
55
+ except Exception as e:
56
+ print(e,f"'{Fore.cyan}{k}{Style.reset}'wont be added to totals")
57
+ ct=len(totals)
58
+ for num,k in enumerate(totals):
59
+ print(std_colorize(f"{k} = {totals[k]}",num,ct))
60
+ print("Done Totaling!")
61
+ except Exception as e:
62
+ print(e)
63
+ #edit everything found by searchtext using recipe_uid as the final selection parameter
64
+ def create_new_rcp(self):
65
+ with Session(ENGINE) as session:
66
+ uid=uuid1()
67
+ uid=str(uid)
68
+ excludes=['cbid','DTOE','recipe_uid','Instructions','recipe_name']
69
+ while True:
70
+ try:
71
+ cb=CookBook()
72
+ cb.recipe_uid=uid
73
+ session.add(cb)
74
+ session.commit()
75
+ entry=None
76
+ while True:
77
+ try:
78
+ barcode=Prompt.__init2__(None,func=FormBuilderMkText,ptext="Barcode|Code|Name of Ingredient[enter=skip]:",helpText="what to search for in Entry",data="string")
79
+ if barcode is None:
80
+ print("User Cancelled Early")
81
+ return
82
+ elif barcode in ['d',]:
83
+ break
84
+ entry=session.query(Entry).filter(or_(Entry.Barcode==barcode,Entry.Barcode.icontains(barcode),Entry.Name.icontains(barcode),Entry.Code==barcode,Entry.Code.icontains(barcode)))
85
+
86
+ entry=orderQuery(entry,Entry.Timestamp)
87
+ entry=entry.all()
88
+ ct=len(entry)
89
+ if ct > 0:
90
+ htext=[]
91
+ for num, i in enumerate(entry):
92
+ msg=f"{Fore.light_red}{num}/{Fore.medium_violet_red}{num+1} of {Fore.light_sea_green}{ct} -> {i.seeShort()}"
93
+ htext.append(msg)
94
+ print(msg)
95
+ htext='\n'.join(htext)
96
+ which=Prompt.__init2__(None,func=FormBuilderMkText,ptext=f"Which {Fore.light_red}index?{Fore.light_yellow}",helpText=f"{htext}\n{Fore.light_red}number{Fore.light_yellow} farthest to left of screen{Style.reset}",data="integer")
97
+ if which not in [None,]:
98
+ if which == 'd':
99
+ entry=entry[0]
100
+ else:
101
+ entry=entry[which]
102
+ else:
103
+ htext=f"{Fore.orange_red_1}No Results for '{Fore.cyan}{barcode}{Fore.orange_red_1}'{Style.reset}"
104
+ again=Prompt.__init2__(None,func=FormBuilderMkText,ptext="Try another search?[yes/no=default]",helpText=htext,data="boolean")
105
+ if again is None:
106
+ return
107
+ elif again in [False,'d']:
108
+ entry=None
109
+ break
110
+ else:
111
+ barcode=Prompt.__init2__(None,func=FormBuilderMkText,ptext=f"{h}Barcode|Code|Name[b=skips search]: ",helpText="what was consumed?",data="string")
112
+ continue
113
+ else:
114
+ entry=None
115
+ htext=f"{Fore.orange_red_1}No Results for '{Fore.cyan}{barcode}{Fore.orange_red_1}'{Style.reset}"
116
+ again=Prompt.__init2__(None,func=FormBuilderMkText,ptext="Try another search?[yes/no=default]",helpText=htext,data="boolean")
117
+ if again is None:
118
+ return
119
+ elif again in [False,'d']:
120
+ break
121
+ else:
122
+ barcode=Prompt.__init2__(None,func=FormBuilderMkText,ptext=f"{h}Barcode|Code|Name[b=skips search]: ",helpText="what was consumed?",data="string")
123
+ continue
124
+ break
125
+ except Exception as e:
126
+ print(e)
127
+ return
128
+
129
+ fields={i.name:{'default':getattr(cb,i.name),"type":str(i.type).lower()} for i in cb.__table__.columns if str(i.name) not in excludes}
130
+ if entry is not None:
131
+ fields['IngredientName']['default']=entry.Name
132
+ fields['IngredientBarcode']['default']=entry.Barcode
133
+ fields['IngredientCode']['default']=entry.Code
134
+ if entry.Price is None:
135
+ entry.Price=0
136
+ if entry.Tax is None:
137
+ entry.Tax=0
138
+ if entry.CRV is None:
139
+ entry.CRV=0
140
+ fields['IngredientPricePerPurchase']['default']=float(Decimal(entry.Price+entry.CRV+entry.Tax).quantize(Decimal("0.00")))
141
+ fd=FormBuilder(data=fields)
142
+ if fd is None:
143
+ session.delete(cb)
144
+ session.commit()
145
+ print("User Cancelled Early")
146
+ return
147
+
148
+ for k in fd:
149
+ setattr(cb,k,fd[k])
150
+ session.commit()
151
+ htext="Add another ingredient?"
152
+ again=Prompt.__init2__(None,func=FormBuilderMkText,ptext="Try another search?[yes/no=default]",helpText=htext,data="boolean")
153
+ if again is None:
154
+ return
155
+ elif again in [False,'d']:
156
+ break
157
+ else:
158
+ continue
159
+ except Exception as eee:
160
+ print(eee)
161
+ return
162
+ instructions={
163
+ 'Instructions':{'default':'','type':'text'},
164
+ 'recipe_name':{'default':'','type':'string'}}
165
+ fdi=FormBuilder(data=instructions)
166
+ if fdi is None:
167
+ print("User Quit Early, so all work has been deleted!")
168
+ r=session.query(CookBook).filter(CookBook.recipe_uid==uid).delete()
169
+ session.commit()
170
+ else:
171
+ session.query(CookBook).filter(CookBook.recipe_uid==uid).update(fdi)
172
+ session.commit()
173
+
174
+ results=session.query(CookBook).filter(CookBook.recipe_uid==uid)
175
+ results=orderQuery(results,CookBook.DTOE,inverse=True)
176
+ results=results.all()
177
+ ctt=len(results)
178
+ for num,i in enumerate(results):
179
+ msg=std_colorize(i,num,ctt)
180
+ print(msg)
181
+
182
+
183
+ def fix_table(self):
184
+ CookBook.__table__.drop(ENGINE)
185
+ CookBook.metadata.create_all(ENGINE)
186
+
187
+
188
+ def rm_rcp(self):
189
+ with Session(ENGINE) as session:
190
+ rcp=self.ls_rcp_names(asSelector=True,whole=True,names=True)
191
+ if rcp is None:
192
+ print("User returned, or no results!")
193
+ return
194
+ ct=len(rcp[0])
195
+ htext=[]
196
+ for i in rcp[0]:
197
+ htext.append(i)
198
+ htext='\n'.join(htext)
199
+ print(htext)
200
+ which=Prompt.__init2__(self,func=FormBuilderMkText,ptext="which index",helpText=f"{htext}\nindex of rcp to delete",data="integer")
201
+ if which in [None,'d']:
202
+ return
203
+ try:
204
+ query_2=session.query(CookBook).filter(CookBook.recipe_uid==rcp[-1][which].recipe_uid).delete()
205
+ session.commit()
206
+ print("Done Deleting!")
207
+ except Exception as e:
208
+ print(e)
209
+ #delete everything found by searchtext using recipe_uid as the final selection parameter
210
+
211
+ def edit_rcp(self):
212
+ with Session(ENGINE) as session:
213
+ rcp=self.ls_rcp_names(asSelector=True,whole=True,names=True)
214
+ if rcp is None:
215
+ print("User returned, or no results!")
216
+ return
217
+ ct=len(rcp[0])
218
+ htext=[]
219
+ for i in rcp[0]:
220
+ htext.append(i)
221
+ htext='\n'.join(htext)
222
+ print(htext)
223
+ which=Prompt.__init2__(self,func=FormBuilderMkText,ptext="which index",helpText=f"{htext}\nindex of rcp to edit",data="integer")
224
+ if which in [None,'d']:
225
+ return
226
+ try:
227
+ query_2=session.query(CookBook).filter(CookBook.recipe_uid==rcp[-1][which].recipe_uid).first()
228
+ fields={
229
+ 'recipe_name':{'default':getattr(query_2,'recipe_name'),'type':"string"},
230
+ 'Instructions':{'default':getattr(query_2,'Instructions'),'type':"string"},
231
+ }
232
+ fd=FormBuilder(data=fields)
233
+ if fd is not None:
234
+ r=session.query(CookBook).filter(CookBook.recipe_uid==query_2.recipe_uid)
235
+ r.update(fd)
236
+ session.commit()
237
+ print("Done Editing!")
238
+ except Exception as e:
239
+ print(e)
240
+ #edit everything found by searchtext using recipe_uid as the final selection parameter
241
+
242
+ def rm_ingredient(self):
243
+ with Session(ENGINE) as session:
244
+ rcp=self.ls_rcp_names(asSelector=True,whole=True,names=True)
245
+ if rcp is None:
246
+ print("User returned, or no results!")
247
+ return
248
+ ct=len(rcp[0])
249
+ htext=[]
250
+ for i in rcp[0]:
251
+ htext.append(i)
252
+ htext='\n'.join(htext)
253
+ print(htext)
254
+ which=Prompt.__init2__(self,func=FormBuilderMkText,ptext="which index",helpText=f"{htext}\nindex of rcp to delete its ingredients",data="integer")
255
+ if which in [None,'d']:
256
+ return
257
+ try:
258
+ query_2=session.query(CookBook).filter(CookBook.recipe_uid==rcp[-1][which].recipe_uid)
259
+ ordered_2=orderQuery(query_2,CookBook.DTOE)
260
+ results_2=ordered_2.all()
261
+ ct=len(results_2)
262
+ for num,i in enumerate(results_2):
263
+ print(std_colorize(i,num,ct))
264
+ delete=Prompt.__init2__(self,func=FormBuilderMkText,ptext="Delete[default=False]?",helpText="delete it, yes or no?",data="boolean")
265
+ if delete in [None,]:
266
+ return
267
+ elif delete in ['d',]:
268
+ continue
269
+ elif delete == True:
270
+ session.delete(i)
271
+ session.commit()
272
+ except Exception as e:
273
+ print(e)
274
+ #find a recipe, list its ingredients, select ingredients to delete, delete selected ingredients
275
+
276
+ #asSelector==False,whole==True,names==False - print selector_string_whole
277
+ #asSelector==False,whole==False,names==True - print selector_string_names
278
+ #asSelector==False,whole==True,names==True - print selector_string_whole,selector_string_names
279
+ #asSelector==True,whole==True,names==False - return selector_string_whole,selector_list
280
+ #asSelector==True,whole==False,names==True - return selector_string_names,selector_list
281
+ #asSelector==True,whole==True,names==True - return selector_string_names,selector_string_whole,selector_list
282
+ def ls_rcp_names(self,asSelector=False,whole=False,names=False):
283
+ with Session(ENGINE) as session:
284
+ selector_list=[]
285
+ selector_string_names=[]
286
+ selector_string_whole=[]
287
+
288
+ searchText=Prompt.__init2__(None,func=FormBuilderMkText,ptext="What are you looking for?",helpText="text to search for",data="string")
289
+ if searchText is None:
290
+ return
291
+ includes=["string","varchar","text"]
292
+ excludes=['cbid','DTOE']
293
+ fields=[i.name for i in CookBook.__table__.columns if str(i.name) not in excludes and str(i.type).lower() in includes]
294
+ q=[]
295
+ for i in fields:
296
+ q.append(getattr(CookBook,i).icontains(searchText))
297
+ query=session.query(CookBook).filter(or_(*q))
298
+ grouped=query.group_by(CookBook.recipe_uid)
299
+ ordered=orderQuery(grouped,CookBook.DTOE,inverse=True)
300
+
301
+ results=ordered.all()
302
+ ct=len(results)
303
+ if ct <= 0:
304
+ print("No Results")
305
+ return None
306
+ for num,i in enumerate(results):
307
+ selector_list.append(i)
308
+ selector_string_whole.append(std_colorize(i,num,ct))
309
+ selector_string_names.append(std_colorize(f"{i.recipe_name} - {i.recipe_uid}",num,ct))
310
+ if not asSelector:
311
+ if whole:
312
+ print(selector_string_whole[num])
313
+ if names:
314
+ print(selector_string_names[num])
315
+ if asSelector:
316
+ if whole and not names:
317
+ return selector_string_whole,selector_list
318
+ elif names and not whole:
319
+ return selector_string_names,selector_list
320
+ elif names and whole:
321
+ return selector_string_names,selector_string_whole,selector_list
322
+
323
+ def ls_rcp_ingredients(self):
324
+ with Session(ENGINE) as session:
325
+ rcp=self.ls_rcp_names(asSelector=True,whole=True,names=True)
326
+ if rcp is None:
327
+ print("User returned, or no results!")
328
+ return
329
+ ct=len(rcp[0])
330
+ htext=[]
331
+ for i in rcp[0]:
332
+ htext.append(i)
333
+ htext='\n'.join(htext)
334
+ print(htext)
335
+ which=Prompt.__init2__(self,func=FormBuilderMkText,ptext="which index",helpText=f"{htext}\nindex of rcp to view its ingredients",data="integer")
336
+ if which in [None,'d']:
337
+ return
338
+ try:
339
+ query_2=session.query(CookBook).filter(CookBook.recipe_uid==rcp[-1][which].recipe_uid)
340
+ ordered_2=orderQuery(query_2,CookBook.DTOE)
341
+ results_2=ordered_2.all()
342
+ ct=len(results_2)
343
+ for num,i in enumerate(results_2):
344
+ print(std_colorize(i,num,ct))
345
+ except Exception as e:
346
+ print(e)
347
+
348
+ def edit_rcp_ingredients(self):
349
+ with Session(ENGINE) as session:
350
+ rcp=self.ls_rcp_names(asSelector=True,whole=True,names=True)
351
+ if rcp is None:
352
+ print("User returned, or no results!")
353
+ return
354
+ ct=len(rcp[0])
355
+ htext=[]
356
+ for i in rcp[0]:
357
+ htext.append(i)
358
+ htext='\n'.join(htext)
359
+ print(htext)
360
+ which=Prompt.__init2__(self,func=FormBuilderMkText,ptext="which index",helpText=f"{htext}\nindex of rcp to view its ingredients",data="integer")
361
+ if which in [None,'d']:
362
+ return
363
+ try:
364
+ query_2=session.query(CookBook).filter(CookBook.recipe_uid==rcp[-1][which].recipe_uid)
365
+ ordered_2=orderQuery(query_2,CookBook.DTOE)
366
+ results_2=ordered_2.all()
367
+ ct=len(results_2)
368
+ for num,i in enumerate(results_2):
369
+ print(std_colorize(i,num,ct))
370
+ edit=Prompt.__init2__(self,func=FormBuilderMkText,ptext="Edit[default=False]?",helpText="Edit it, yes or no?",data="boolean")
371
+ if edit in [None,]:
372
+ return
373
+ elif edit in ['d',]:
374
+ continue
375
+ elif edit == True:
376
+ excludes=['cbid','recipe_uid','recipe_name','DTOE']
377
+ fields={ii.name:{'default':getattr(i,ii.name),'type':str(ii.type).lower()} for ii in CookBook.__table__.columns if ii.name not in excludes}
378
+ fd=FormBuilder(data=fields)
379
+ if fd is not None:
380
+ for k in fd:
381
+ setattr(i,k,fd[k])
382
+ session.commit()
383
+ else:
384
+ continue
385
+ except Exception as e:
386
+ print(e)
387
+
388
+
389
+ def __init__(self):
390
+ cmds={
391
+ str(uuid1()):{
392
+ 'cmds':generate_cmds(startcmd=['create new','cn','cnw'],endCmd=['recipe','rcp']),
393
+ 'desc':"create a new recipe",
394
+ 'exec':self.create_new_rcp,
395
+ },
396
+ uuid1():{
397
+ 'cmds':generate_cmds(startcmd=['fix','fx'],endCmd=['tbl','table']),
398
+ 'desc':"reinstall table",
399
+ 'exec':self.fix_table,
400
+ },
401
+ uuid1():{
402
+ 'cmds':generate_cmds(startcmd=['rm','del','remove','delete'],endCmd=['recipe','rcp']),
403
+ 'desc':"delete a recipe(delete everything found by searchtext using recipe_uid as the final selection parameter)",
404
+ 'exec':self.rm_rcp,
405
+ },
406
+ uuid1():{
407
+ 'cmds':generate_cmds(startcmd=['rm','del','remove','delete'],endCmd=['ingredient','ingrdnt','component','cmpnt']),
408
+ 'desc':"delete a recipe ingredient/component(find a recipe, list its ingredients, select ingredients to delete, delete selected ingredients)",
409
+ 'exec':self.rm_ingredient,
410
+ },
411
+ uuid1():{
412
+ 'cmds':generate_cmds(startcmd=['ls','list','lst'],endCmd=['rcp','recipe']),
413
+ 'desc':"list recipe names",
414
+ 'exec':lambda self=self:self.ls_rcp_names(asSelector=False,whole=False,names=True),
415
+ },
416
+ uuid1():{
417
+ 'cmds':generate_cmds(startcmd=['ls','list','lst'],endCmd=['rcp ingrdnts','recipe ingredients']),
418
+ 'desc':"list recipe names",
419
+ 'exec':lambda self=self:self.ls_rcp_ingredients(),
420
+ },
421
+ uuid1():{
422
+ 'cmds':generate_cmds(startcmd=['ed','edt','edit'],endCmd=['rcp ingrdnts','recipe ingredients']),
423
+ 'desc':"edit recipe ingredients",
424
+ 'exec':lambda self=self:self.edit_rcp_ingredients(),
425
+ },
426
+ uuid1():{
427
+ 'cmds':generate_cmds(startcmd=['ed','edt','edit'],endCmd=['rcp','recipe']),
428
+ 'desc':"edit recipe names and instructions",
429
+ 'exec':lambda self=self:self.edit_rcp(),
430
+ },
431
+ uuid1():{
432
+ 'cmds':generate_cmds(startcmd=['ttl','total',],endCmd=['rcp','recipe']),
433
+ 'desc':"total nutritional facts",
434
+ 'exec':lambda self=self:self.total_rcp(),
435
+ },
436
+ }
437
+
438
+ htext=[]
439
+ ct=len(cmds)
440
+ for num,i in enumerate(cmds):
441
+ m=f"{Fore.light_sea_green}{cmds[i]['cmds']}{Fore.orange_red_1} - {Fore.light_steel_blue}{cmds[i]['desc']}"
442
+ msg=f"{std_colorize(m,num,ct)}"
443
+ htext.append(msg)
444
+ htext='\n'.join(htext)
445
+ while True:
446
+ doWhat=Prompt.__init2__(None,func=FormBuilderMkText,ptext=f"{self.__class__.__name__} @ Do What? ",helpText=htext,data="string")
447
+ if doWhat is None:
448
+ return
449
+ elif doWhat in ['','d',]:
450
+ print(htext)
451
+ continue
452
+ for i in cmds:
453
+ if doWhat.lower() in [i.lower() for i in cmds[i]['cmds']]:
454
+ if callable(cmds[i]['exec']):
455
+ cmds[i]['exec']()
456
+ else:
457
+ print(f"{i} - {cmds[i]['cmds']} - {cmds[i]['exec']}() - {cmds[i]['desc']}")
458
+ return
@@ -0,0 +1,29 @@
1
+ from radboy.DB.db import *
2
+ #from radboy.DB.RandomStringUtil import *
3
+ #import radboy.Unified.Unified as unified
4
+ #import radboy.possibleCode as pc
5
+ from radboy.DB.Prompt import *
6
+ from radboy.DB.Prompt import prefix_text
7
+ #from radboy.TasksMode.ReFormula import *
8
+ #from radboy.TasksMode.SetEntryNEU import *
9
+ from radboy.FB.FormBuilder import *
10
+ from radboy.FB.FBMTXT import *
11
+ #from radboy.RNE.RNE import *
12
+ #from radboy.Lookup2.Lookup2 import Lookup as Lookup2
13
+ #from radboy.DayLog.DayLogger import *
14
+ #from radboy.DB.masterLookup import *
15
+ from collections import namedtuple,OrderedDict
16
+ import nanoid,qrcode,io
17
+ #from password_generator import PasswordGenerator
18
+ import random
19
+ from pint import UnitRegistry
20
+ import pandas as pd
21
+ import numpy as np
22
+ from datetime import *
23
+ from colored import Style,Fore
24
+ import json,sys,math,re,calendar,hashlib,haversine
25
+ from time import sleep
26
+ import itertools
27
+ from uuid import uuid1
28
+
29
+ from .CookBook import *
@@ -5183,4 +5183,87 @@ try:
5183
5183
  RepeatableDates.metadata.create_all(ENGINE)
5184
5184
  except Exception as e:
5185
5185
  RepeatableDates.__table__.drop(ENGINE)
5186
- RepeatableDates.metadata.create_all(ENGINE)
5186
+ RepeatableDates.metadata.create_all(ENGINE)
5187
+
5188
+
5189
+ class CookBook(BASE,Template):
5190
+ __tablename__='CookBook'
5191
+ cbid=Column(Integer,primary_key=True)
5192
+
5193
+ #to bind ingredients together as one
5194
+ recipe_uid=Column(String,default=None)
5195
+ recipe_name=Column(String,default=None)
5196
+
5197
+ IngredientName=Column(String,default=None)
5198
+ IngredientBarcode=Column(String,default=None)
5199
+ IngredientCode=Column(String,default=None)
5200
+ IngredientPricePerPurchase=Column(Float,default=None)
5201
+
5202
+ IngredientQty=Column(Float,default=None)
5203
+ IngredientQtyUnit=Column(String,default="gram")
5204
+
5205
+ Serving_Size=Column(Float,default=None)
5206
+ Serving_Size_unit=Column(String,default="gram")
5207
+
5208
+ Servings_Per_Container=Column(Float,default=None)
5209
+ Servings_Per_Container_unit=Column(String,default="")
5210
+
5211
+ carb_per_serving=Column(Float,default=None)
5212
+ carb_per_serving_unit=Column(String,default="gram")
5213
+
5214
+ fiber_per_serving=Column(Float,default=None)
5215
+ fiber_per_serving_unit=Column(String,default="gram")
5216
+
5217
+ protien_per_serving=Column(Float,default=None)
5218
+ protien_per_serving_unit=Column(String,default="gram")
5219
+
5220
+ total_fat_per_serving=Column(Float,default=None)
5221
+ total_fat_per_serving_unit=Column(String,default="gram")
5222
+
5223
+ saturated_fat_per_serving=Column(Float,default=None)
5224
+ saturated_fat_per_serving_unit=Column(String,default="gram")
5225
+
5226
+ trans_fat_per_serving=Column(Float,default=None)
5227
+ trans_fat_per_serving_unit=Column(String,default="gram")
5228
+
5229
+ sodium_per_serving=Column(Float,default=None)
5230
+ sodium_per_serving_unit=Column(String,default="milligram")
5231
+
5232
+ cholesterol_per_serving=Column(Float,default=None)
5233
+ cholesterol_per_serving_unit=Column(String,default="milligram")
5234
+
5235
+ vitamin_d=Column(Float,default=None)
5236
+ vitamin_d_unit=Column(String,default="mg")
5237
+
5238
+ calcium=Column(Float,default=None)
5239
+ calcium_unit=Column(String,default="mg")
5240
+
5241
+ iron=Column(Float,default=None)
5242
+ iron_unit=Column(String,default="mg")
5243
+
5244
+ potassium=Column(Float,default=None)
5245
+ potassium_unit=Column(String,default="mg")
5246
+
5247
+ DTOE=Column(DateTime,default=datetime.now())
5248
+ Comment=Column(String,default='N/A')
5249
+
5250
+ Instructions=Column(Text,default='')
5251
+
5252
+ def as_json(self):
5253
+ excludes=['cbid','DTOE']
5254
+ dd={str(d.name):self.__dict__[d.name] for d in self.__table__.columns if d.name not in excludes}
5255
+ return json.dumps(dd)
5256
+
5257
+ def asID(self):
5258
+ return f"{self.__class__.__name__}(cbid={self.cbid})"
5259
+
5260
+ def __init__(self,**kwargs):
5261
+ for k in kwargs.keys():
5262
+ if k in [s.name for s in self.__table__.columns]:
5263
+ setattr(self,k,kwargs.get(k))
5264
+
5265
+ try:
5266
+ CookBook.metadata.create_all(ENGINE)
5267
+ except Exception as e:
5268
+ CookBook.__table__.drop(ENGINE)
5269
+ CookBook.metadata.create_all(ENGINE)
@@ -212,7 +212,7 @@ def FormBuilderMkText(text,data,passThru=[],PassThru=True,alternative_false=None
212
212
  return 'd'
213
213
  except Exception as e:
214
214
  return 'd'
215
- elif data.lower() in ['str','string',"varchar",]:
215
+ elif data.lower() in ['str','string',"varchar","text"]:
216
216
  value=text
217
217
  elif data.lower() == 'date':
218
218
  if text.lower() in ['y','yes','1','t','true']:
@@ -107,6 +107,7 @@ class HealthLogUi:
107
107
  break
108
108
  except Exception as e:
109
109
  print(e)
110
+ return
110
111
 
111
112
  hl=HealthLog()
112
113
 
@@ -272,7 +272,7 @@ class RepeatableDatesUi:
272
272
  htext.append(msg)
273
273
  htext='\n'.join(htext)
274
274
  while True:
275
- doWhat=Prompt.__init2__(None,func=FormBuilderMkText,ptext="RepeatableDatesUi @ Do What? ",helpText=htext,data="string")
275
+ doWhat=Prompt.__init2__(None,func=FormBuilderMkText,ptext=f"{self.__class__.__name__} @ Do What? ",helpText=htext,data="string")
276
276
  if doWhat is None:
277
277
  return
278
278
  elif doWhat in ['','d',]: