exdrf-dev 0.1.12__py3-none-any.whl

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 (335) hide show
  1. exdrf_dev/__init__.py +0 -0
  2. exdrf_dev/__version__.py +24 -0
  3. exdrf_dev/app/__init__.py +0 -0
  4. exdrf_dev/app/__main__.py +109 -0
  5. exdrf_dev/app/main_window.py +50 -0
  6. exdrf_dev/app/main_window.ui +49 -0
  7. exdrf_dev/app/main_window_ui.py +69 -0
  8. exdrf_dev/attr_gen/db/__init__.py +7 -0
  9. exdrf_dev/attr_gen/db/api.py +7 -0
  10. exdrf_dev/attr_gen/db/children/__init__.py +7 -0
  11. exdrf_dev/attr_gen/db/children/api.py +7 -0
  12. exdrf_dev/attr_gen/db/children/child.py +31 -0
  13. exdrf_dev/attr_gen/db/children/child_ful.py +0 -0
  14. exdrf_dev/attr_gen/db/composite_key_models/__init__.py +7 -0
  15. exdrf_dev/attr_gen/db/composite_key_models/api.py +7 -0
  16. exdrf_dev/attr_gen/db/composite_key_models/composite_key_model.py +46 -0
  17. exdrf_dev/attr_gen/db/composite_key_models/composite_key_model_ful.py +0 -0
  18. exdrf_dev/attr_gen/db/parent_tag_associations/__init__.py +7 -0
  19. exdrf_dev/attr_gen/db/parent_tag_associations/api.py +7 -0
  20. exdrf_dev/attr_gen/db/parent_tag_associations/parent_tag_association.py +29 -0
  21. exdrf_dev/attr_gen/db/parent_tag_associations/parent_tag_association_ful.py +0 -0
  22. exdrf_dev/attr_gen/db/parents/__init__.py +7 -0
  23. exdrf_dev/attr_gen/db/parents/api.py +7 -0
  24. exdrf_dev/attr_gen/db/parents/parent.py +35 -0
  25. exdrf_dev/attr_gen/db/parents/parent_ful.py +0 -0
  26. exdrf_dev/attr_gen/db/profiles/__init__.py +7 -0
  27. exdrf_dev/attr_gen/db/profiles/api.py +7 -0
  28. exdrf_dev/attr_gen/db/profiles/profile.py +31 -0
  29. exdrf_dev/attr_gen/db/profiles/profile_ful.py +0 -0
  30. exdrf_dev/attr_gen/db/related_items/__init__.py +7 -0
  31. exdrf_dev/attr_gen/db/related_items/api.py +7 -0
  32. exdrf_dev/attr_gen/db/related_items/related_item.py +33 -0
  33. exdrf_dev/attr_gen/db/related_items/related_item_ful.py +0 -0
  34. exdrf_dev/attr_gen/db/tags/__init__.py +7 -0
  35. exdrf_dev/attr_gen/db/tags/api.py +7 -0
  36. exdrf_dev/attr_gen/db/tags/tag.py +30 -0
  37. exdrf_dev/attr_gen/db/tags/tag_ful.py +0 -0
  38. exdrf_dev/cli.py +89 -0
  39. exdrf_dev/db/__init__.py +0 -0
  40. exdrf_dev/db/api.py +10 -0
  41. exdrf_dev/db/models.py +504 -0
  42. exdrf_dev/db/populate.py +355 -0
  43. exdrf_dev/field_ed_show/__init__.py +0 -0
  44. exdrf_dev/field_ed_show/__main__.py +37 -0
  45. exdrf_dev/field_ed_show/main_window.py +35 -0
  46. exdrf_dev/field_ed_show/main_window.ui +229 -0
  47. exdrf_dev/field_ed_show/main_window_ui.py +206 -0
  48. exdrf_dev/migrations/6870ef2417bc_.py +138 -0
  49. exdrf_dev/py.typed +0 -0
  50. exdrf_dev/pytest_dirs.py +186 -0
  51. exdrf_dev/qt/__init__.py +0 -0
  52. exdrf_dev/qt/children/__init__.py +3 -0
  53. exdrf_dev/qt/children/api.py +8 -0
  54. exdrf_dev/qt/children/fields/__init__.py +3 -0
  55. exdrf_dev/qt/children/fields/data_field.py +32 -0
  56. exdrf_dev/qt/children/fields/id_field.py +29 -0
  57. exdrf_dev/qt/children/fields/parent_field.py +29 -0
  58. exdrf_dev/qt/children/fields/parent_id_field.py +28 -0
  59. exdrf_dev/qt/children/models/__init__.py +3 -0
  60. exdrf_dev/qt/children/models/children_full_model.py +48 -0
  61. exdrf_dev/qt/children/models/children_one_col_model.py +39 -0
  62. exdrf_dev/qt/children/widgets/__init__.py +3 -0
  63. exdrf_dev/qt/children/widgets/children_editor.py +40 -0
  64. exdrf_dev/qt/children/widgets/children_editor.ui +103 -0
  65. exdrf_dev/qt/children/widgets/children_editor_ui.py +124 -0
  66. exdrf_dev/qt/children/widgets/children_full_list.py +25 -0
  67. exdrf_dev/qt/children/widgets/children_name_list.py +3 -0
  68. exdrf_dev/qt/composite_key_models/__init__.py +3 -0
  69. exdrf_dev/qt/composite_key_models/api.py +16 -0
  70. exdrf_dev/qt/composite_key_models/fields/__init__.py +3 -0
  71. exdrf_dev/qt/composite_key_models/fields/description_field.py +30 -0
  72. exdrf_dev/qt/composite_key_models/fields/key_part1_field.py +34 -0
  73. exdrf_dev/qt/composite_key_models/fields/key_part2_field.py +31 -0
  74. exdrf_dev/qt/composite_key_models/fields/related_items_field.py +37 -0
  75. exdrf_dev/qt/composite_key_models/fields/some_binary_field.py +28 -0
  76. exdrf_dev/qt/composite_key_models/fields/some_date_field.py +32 -0
  77. exdrf_dev/qt/composite_key_models/fields/some_enum_field.py +28 -0
  78. exdrf_dev/qt/composite_key_models/fields/some_float_field.py +35 -0
  79. exdrf_dev/qt/composite_key_models/fields/some_json_field.py +28 -0
  80. exdrf_dev/qt/composite_key_models/fields/some_time_field.py +28 -0
  81. exdrf_dev/qt/composite_key_models/models/__init__.py +3 -0
  82. exdrf_dev/qt/composite_key_models/models/composite_key_models_full_model.py +79 -0
  83. exdrf_dev/qt/composite_key_models/models/composite_key_models_one_col_model.py +24 -0
  84. exdrf_dev/qt/composite_key_models/widgets/__init__.py +3 -0
  85. exdrf_dev/qt/composite_key_models/widgets/composite_key_models_editor.py +85 -0
  86. exdrf_dev/qt/composite_key_models/widgets/composite_key_models_editor.ui +165 -0
  87. exdrf_dev/qt/composite_key_models/widgets/composite_key_models_editor_ui.py +231 -0
  88. exdrf_dev/qt/composite_key_models/widgets/composite_key_models_full_list.py +29 -0
  89. exdrf_dev/qt/composite_key_models/widgets/composite_key_models_name_list.py +3 -0
  90. exdrf_dev/qt/menus.py +120 -0
  91. exdrf_dev/qt/parent_tag_associations/__init__.py +3 -0
  92. exdrf_dev/qt/parent_tag_associations/api.py +16 -0
  93. exdrf_dev/qt/parent_tag_associations/fields/__init__.py +3 -0
  94. exdrf_dev/qt/parent_tag_associations/fields/parent_id_field.py +29 -0
  95. exdrf_dev/qt/parent_tag_associations/fields/tag_id_field.py +29 -0
  96. exdrf_dev/qt/parent_tag_associations/models/__init__.py +3 -0
  97. exdrf_dev/qt/parent_tag_associations/models/parent_tag_associations_full_model.py +39 -0
  98. exdrf_dev/qt/parent_tag_associations/models/parent_tag_associations_one_col_model.py +26 -0
  99. exdrf_dev/qt/parent_tag_associations/widgets/__init__.py +3 -0
  100. exdrf_dev/qt/parent_tag_associations/widgets/parent_tag_associations_editor.py +73 -0
  101. exdrf_dev/qt/parent_tag_associations/widgets/parent_tag_associations_editor.ui +62 -0
  102. exdrf_dev/qt/parent_tag_associations/widgets/parent_tag_associations_editor_ui.py +79 -0
  103. exdrf_dev/qt/parent_tag_associations/widgets/parent_tag_associations_full_list.py +29 -0
  104. exdrf_dev/qt/parent_tag_associations/widgets/parent_tag_associations_name_list.py +3 -0
  105. exdrf_dev/qt/parents/__init__.py +3 -0
  106. exdrf_dev/qt/parents/api.py +8 -0
  107. exdrf_dev/qt/parents/fields/__init__.py +3 -0
  108. exdrf_dev/qt/parents/fields/children_field.py +38 -0
  109. exdrf_dev/qt/parents/fields/created_at_field.py +32 -0
  110. exdrf_dev/qt/parents/fields/id_field.py +29 -0
  111. exdrf_dev/qt/parents/fields/is_active_field.py +28 -0
  112. exdrf_dev/qt/parents/fields/name_field.py +32 -0
  113. exdrf_dev/qt/parents/fields/profile_field.py +29 -0
  114. exdrf_dev/qt/parents/fields/tags_field.py +29 -0
  115. exdrf_dev/qt/parents/models/__init__.py +3 -0
  116. exdrf_dev/qt/parents/models/parents_full_model.py +73 -0
  117. exdrf_dev/qt/parents/models/parents_ocm.py +53 -0
  118. exdrf_dev/qt/parents/widgets/__init__.py +3 -0
  119. exdrf_dev/qt/parents/widgets/parents_editor.py +47 -0
  120. exdrf_dev/qt/parents/widgets/parents_editor.ui +135 -0
  121. exdrf_dev/qt/parents/widgets/parents_editor_ui.py +162 -0
  122. exdrf_dev/qt/parents/widgets/parents_full_list.py +25 -0
  123. exdrf_dev/qt/parents/widgets/parents_name_list.py +3 -0
  124. exdrf_dev/qt/profiles/__init__.py +3 -0
  125. exdrf_dev/qt/profiles/api.py +8 -0
  126. exdrf_dev/qt/profiles/fields/__init__.py +3 -0
  127. exdrf_dev/qt/profiles/fields/bio_field.py +30 -0
  128. exdrf_dev/qt/profiles/fields/id_field.py +29 -0
  129. exdrf_dev/qt/profiles/fields/parent_field.py +29 -0
  130. exdrf_dev/qt/profiles/fields/parent_id_field.py +30 -0
  131. exdrf_dev/qt/profiles/models/__init__.py +3 -0
  132. exdrf_dev/qt/profiles/models/profiles_full_model.py +48 -0
  133. exdrf_dev/qt/profiles/models/profiles_one_col_model.py +24 -0
  134. exdrf_dev/qt/profiles/widgets/__init__.py +3 -0
  135. exdrf_dev/qt/profiles/widgets/profiles_editor.py +47 -0
  136. exdrf_dev/qt/profiles/widgets/profiles_editor.ui +102 -0
  137. exdrf_dev/qt/profiles/widgets/profiles_editor_ui.py +125 -0
  138. exdrf_dev/qt/profiles/widgets/profiles_full_list.py +29 -0
  139. exdrf_dev/qt/profiles/widgets/profiles_name_list.py +3 -0
  140. exdrf_dev/qt/related_items/__init__.py +3 -0
  141. exdrf_dev/qt/related_items/api.py +8 -0
  142. exdrf_dev/qt/related_items/fields/__init__.py +3 -0
  143. exdrf_dev/qt/related_items/fields/comp_key_owner_field.py +29 -0
  144. exdrf_dev/qt/related_items/fields/comp_key_part1_field.py +33 -0
  145. exdrf_dev/qt/related_items/fields/comp_key_part2_field.py +30 -0
  146. exdrf_dev/qt/related_items/fields/id_field.py +29 -0
  147. exdrf_dev/qt/related_items/fields/item_data_field.py +31 -0
  148. exdrf_dev/qt/related_items/fields/some_int_field.py +33 -0
  149. exdrf_dev/qt/related_items/models/__init__.py +3 -0
  150. exdrf_dev/qt/related_items/models/related_items_full_model.py +59 -0
  151. exdrf_dev/qt/related_items/models/related_items_one_col_model.py +24 -0
  152. exdrf_dev/qt/related_items/widgets/__init__.py +3 -0
  153. exdrf_dev/qt/related_items/widgets/related_items_editor.py +49 -0
  154. exdrf_dev/qt/related_items/widgets/related_items_editor.ui +124 -0
  155. exdrf_dev/qt/related_items/widgets/related_items_editor_ui.py +167 -0
  156. exdrf_dev/qt/related_items/widgets/related_items_full_list.py +29 -0
  157. exdrf_dev/qt/related_items/widgets/related_items_name_list.py +3 -0
  158. exdrf_dev/qt/tags/__init__.py +3 -0
  159. exdrf_dev/qt/tags/api.py +8 -0
  160. exdrf_dev/qt/tags/fields/__init__.py +3 -0
  161. exdrf_dev/qt/tags/fields/id_field.py +29 -0
  162. exdrf_dev/qt/tags/fields/name_field.py +31 -0
  163. exdrf_dev/qt/tags/fields/parents_field.py +29 -0
  164. exdrf_dev/qt/tags/models/__init__.py +3 -0
  165. exdrf_dev/qt/tags/models/tags_full_model.py +46 -0
  166. exdrf_dev/qt/tags/models/tags_one_col_model.py +24 -0
  167. exdrf_dev/qt/tags/widgets/__init__.py +3 -0
  168. exdrf_dev/qt/tags/widgets/tags_editor.py +47 -0
  169. exdrf_dev/qt/tags/widgets/tags_editor.ui +91 -0
  170. exdrf_dev/qt/tags/widgets/tags_editor_ui.py +112 -0
  171. exdrf_dev/qt/tags/widgets/tags_full_list.py +25 -0
  172. exdrf_dev/qt/tags/widgets/tags_name_list.py +3 -0
  173. exdrf_dev/qt_gen/db/__init__.py +7 -0
  174. exdrf_dev/qt_gen/db/api.py +16 -0
  175. exdrf_dev/qt_gen/db/children/__init__.py +7 -0
  176. exdrf_dev/qt_gen/db/children/api.py +29 -0
  177. exdrf_dev/qt_gen/db/children/fields/__init__.py +7 -0
  178. exdrf_dev/qt_gen/db/children/fields/fld_data.py +48 -0
  179. exdrf_dev/qt_gen/db/children/fields/fld_id.py +47 -0
  180. exdrf_dev/qt_gen/db/children/fields/fld_parent.py +95 -0
  181. exdrf_dev/qt_gen/db/children/fields/fld_parent_id.py +46 -0
  182. exdrf_dev/qt_gen/db/children/fields/single_f.py +67 -0
  183. exdrf_dev/qt_gen/db/children/models/__init__.py +7 -0
  184. exdrf_dev/qt_gen/db/children/models/child_ful.py +147 -0
  185. exdrf_dev/qt_gen/db/children/models/child_ocm.py +99 -0
  186. exdrf_dev/qt_gen/db/children/widgets/__init__.py +7 -0
  187. exdrf_dev/qt_gen/db/children/widgets/child_editor.py +90 -0
  188. exdrf_dev/qt_gen/db/children/widgets/child_editor.ui +139 -0
  189. exdrf_dev/qt_gen/db/children/widgets/child_editor_ui.py +115 -0
  190. exdrf_dev/qt_gen/db/children/widgets/child_list.py +83 -0
  191. exdrf_dev/qt_gen/db/children/widgets/child_selector.py +122 -0
  192. exdrf_dev/qt_gen/db/children/widgets/child_tv.html.j2 +19 -0
  193. exdrf_dev/qt_gen/db/children/widgets/child_tv.py +173 -0
  194. exdrf_dev/qt_gen/db/composite_key_models/__init__.py +7 -0
  195. exdrf_dev/qt_gen/db/composite_key_models/api.py +33 -0
  196. exdrf_dev/qt_gen/db/composite_key_models/fields/__init__.py +7 -0
  197. exdrf_dev/qt_gen/db/composite_key_models/fields/fld_description.py +46 -0
  198. exdrf_dev/qt_gen/db/composite_key_models/fields/fld_key_part1.py +50 -0
  199. exdrf_dev/qt_gen/db/composite_key_models/fields/fld_key_part2.py +49 -0
  200. exdrf_dev/qt_gen/db/composite_key_models/fields/fld_related_items.py +95 -0
  201. exdrf_dev/qt_gen/db/composite_key_models/fields/fld_some_binary.py +45 -0
  202. exdrf_dev/qt_gen/db/composite_key_models/fields/fld_some_date.py +47 -0
  203. exdrf_dev/qt_gen/db/composite_key_models/fields/fld_some_enum.py +52 -0
  204. exdrf_dev/qt_gen/db/composite_key_models/fields/fld_some_float.py +50 -0
  205. exdrf_dev/qt_gen/db/composite_key_models/fields/fld_some_json.py +45 -0
  206. exdrf_dev/qt_gen/db/composite_key_models/fields/fld_some_time.py +44 -0
  207. exdrf_dev/qt_gen/db/composite_key_models/fields/single_f.py +63 -0
  208. exdrf_dev/qt_gen/db/composite_key_models/models/__init__.py +7 -0
  209. exdrf_dev/qt_gen/db/composite_key_models/models/composite_key_model_ful.py +188 -0
  210. exdrf_dev/qt_gen/db/composite_key_models/models/composite_key_model_ocm.py +126 -0
  211. exdrf_dev/qt_gen/db/composite_key_models/widgets/__init__.py +7 -0
  212. exdrf_dev/qt_gen/db/composite_key_models/widgets/composite_key_model_editor.py +99 -0
  213. exdrf_dev/qt_gen/db/composite_key_models/widgets/composite_key_model_editor.ui +349 -0
  214. exdrf_dev/qt_gen/db/composite_key_models/widgets/composite_key_model_editor_ui.py +282 -0
  215. exdrf_dev/qt_gen/db/composite_key_models/widgets/composite_key_model_list.py +85 -0
  216. exdrf_dev/qt_gen/db/composite_key_models/widgets/composite_key_model_selector.py +126 -0
  217. exdrf_dev/qt_gen/db/composite_key_models/widgets/composite_key_model_tv.html.j2 +35 -0
  218. exdrf_dev/qt_gen/db/composite_key_models/widgets/composite_key_model_tv.py +231 -0
  219. exdrf_dev/qt_gen/db/parent_tag_associations/__init__.py +7 -0
  220. exdrf_dev/qt_gen/db/parent_tag_associations/api.py +33 -0
  221. exdrf_dev/qt_gen/db/parent_tag_associations/fields/__init__.py +7 -0
  222. exdrf_dev/qt_gen/db/parent_tag_associations/fields/fld_parent_id.py +47 -0
  223. exdrf_dev/qt_gen/db/parent_tag_associations/fields/fld_tag_id.py +47 -0
  224. exdrf_dev/qt_gen/db/parent_tag_associations/fields/single_f.py +68 -0
  225. exdrf_dev/qt_gen/db/parent_tag_associations/models/__init__.py +7 -0
  226. exdrf_dev/qt_gen/db/parent_tag_associations/models/parent_tag_association_ful.py +147 -0
  227. exdrf_dev/qt_gen/db/parent_tag_associations/models/parent_tag_association_ocm.py +95 -0
  228. exdrf_dev/qt_gen/db/parent_tag_associations/widgets/__init__.py +7 -0
  229. exdrf_dev/qt_gen/db/parent_tag_associations/widgets/parent_tag_association_editor.py +106 -0
  230. exdrf_dev/qt_gen/db/parent_tag_associations/widgets/parent_tag_association_editor.ui +90 -0
  231. exdrf_dev/qt_gen/db/parent_tag_associations/widgets/parent_tag_association_editor_ui.py +90 -0
  232. exdrf_dev/qt_gen/db/parent_tag_associations/widgets/parent_tag_association_list.py +91 -0
  233. exdrf_dev/qt_gen/db/parent_tag_associations/widgets/parent_tag_association_selector.py +130 -0
  234. exdrf_dev/qt_gen/db/parent_tag_associations/widgets/parent_tag_association_tv.html.j2 +11 -0
  235. exdrf_dev/qt_gen/db/parent_tag_associations/widgets/parent_tag_association_tv.py +177 -0
  236. exdrf_dev/qt_gen/db/parents/__init__.py +7 -0
  237. exdrf_dev/qt_gen/db/parents/api.py +29 -0
  238. exdrf_dev/qt_gen/db/parents/fields/__init__.py +7 -0
  239. exdrf_dev/qt_gen/db/parents/fields/fld_children.py +102 -0
  240. exdrf_dev/qt_gen/db/parents/fields/fld_created_at.py +48 -0
  241. exdrf_dev/qt_gen/db/parents/fields/fld_id.py +47 -0
  242. exdrf_dev/qt_gen/db/parents/fields/fld_is_active.py +47 -0
  243. exdrf_dev/qt_gen/db/parents/fields/fld_name.py +48 -0
  244. exdrf_dev/qt_gen/db/parents/fields/fld_profile.py +94 -0
  245. exdrf_dev/qt_gen/db/parents/fields/fld_tags.py +94 -0
  246. exdrf_dev/qt_gen/db/parents/fields/single_f.py +60 -0
  247. exdrf_dev/qt_gen/db/parents/models/__init__.py +7 -0
  248. exdrf_dev/qt_gen/db/parents/models/parent_ful.py +165 -0
  249. exdrf_dev/qt_gen/db/parents/models/parent_ocm.py +95 -0
  250. exdrf_dev/qt_gen/db/parents/widgets/__init__.py +7 -0
  251. exdrf_dev/qt_gen/db/parents/widgets/parent_editor.py +85 -0
  252. exdrf_dev/qt_gen/db/parents/widgets/parent_editor.ui +252 -0
  253. exdrf_dev/qt_gen/db/parents/widgets/parent_editor_ui.py +186 -0
  254. exdrf_dev/qt_gen/db/parents/widgets/parent_list.py +83 -0
  255. exdrf_dev/qt_gen/db/parents/widgets/parent_selector.py +122 -0
  256. exdrf_dev/qt_gen/db/parents/widgets/parent_tv.html.j2 +31 -0
  257. exdrf_dev/qt_gen/db/parents/widgets/parent_tv.py +204 -0
  258. exdrf_dev/qt_gen/db/profiles/__init__.py +7 -0
  259. exdrf_dev/qt_gen/db/profiles/api.py +29 -0
  260. exdrf_dev/qt_gen/db/profiles/fields/__init__.py +7 -0
  261. exdrf_dev/qt_gen/db/profiles/fields/fld_bio.py +45 -0
  262. exdrf_dev/qt_gen/db/profiles/fields/fld_id.py +47 -0
  263. exdrf_dev/qt_gen/db/profiles/fields/fld_parent.py +94 -0
  264. exdrf_dev/qt_gen/db/profiles/fields/fld_parent_id.py +48 -0
  265. exdrf_dev/qt_gen/db/profiles/fields/single_f.py +60 -0
  266. exdrf_dev/qt_gen/db/profiles/models/__init__.py +7 -0
  267. exdrf_dev/qt_gen/db/profiles/models/profile_ful.py +129 -0
  268. exdrf_dev/qt_gen/db/profiles/models/profile_ocm.py +89 -0
  269. exdrf_dev/qt_gen/db/profiles/widgets/__init__.py +7 -0
  270. exdrf_dev/qt_gen/db/profiles/widgets/db/__init__.py +1 -0
  271. exdrf_dev/qt_gen/db/profiles/widgets/db/profile.py +26 -0
  272. exdrf_dev/qt_gen/db/profiles/widgets/profile_editor.py +90 -0
  273. exdrf_dev/qt_gen/db/profiles/widgets/profile_editor.ui +139 -0
  274. exdrf_dev/qt_gen/db/profiles/widgets/profile_editor_ui.py +115 -0
  275. exdrf_dev/qt_gen/db/profiles/widgets/profile_list.py +83 -0
  276. exdrf_dev/qt_gen/db/profiles/widgets/profile_selector.py +126 -0
  277. exdrf_dev/qt_gen/db/profiles/widgets/profile_tv.html.j2 +19 -0
  278. exdrf_dev/qt_gen/db/profiles/widgets/profile_tv.py +179 -0
  279. exdrf_dev/qt_gen/db/related_items/__init__.py +7 -0
  280. exdrf_dev/qt_gen/db/related_items/api.py +33 -0
  281. exdrf_dev/qt_gen/db/related_items/fields/__init__.py +7 -0
  282. exdrf_dev/qt_gen/db/related_items/fields/fld_comp_key_owner.py +96 -0
  283. exdrf_dev/qt_gen/db/related_items/fields/fld_comp_key_part1.py +49 -0
  284. exdrf_dev/qt_gen/db/related_items/fields/fld_comp_key_part2.py +48 -0
  285. exdrf_dev/qt_gen/db/related_items/fields/fld_id.py +47 -0
  286. exdrf_dev/qt_gen/db/related_items/fields/fld_item_data.py +46 -0
  287. exdrf_dev/qt_gen/db/related_items/fields/fld_some_int.py +51 -0
  288. exdrf_dev/qt_gen/db/related_items/fields/single_f.py +57 -0
  289. exdrf_dev/qt_gen/db/related_items/models/__init__.py +7 -0
  290. exdrf_dev/qt_gen/db/related_items/models/related_item_ful.py +148 -0
  291. exdrf_dev/qt_gen/db/related_items/models/related_item_ocm.py +102 -0
  292. exdrf_dev/qt_gen/db/related_items/widgets/__init__.py +7 -0
  293. exdrf_dev/qt_gen/db/related_items/widgets/related_item_editor.py +88 -0
  294. exdrf_dev/qt_gen/db/related_items/widgets/related_item_editor.ui +209 -0
  295. exdrf_dev/qt_gen/db/related_items/widgets/related_item_editor_ui.py +183 -0
  296. exdrf_dev/qt_gen/db/related_items/widgets/related_item_list.py +86 -0
  297. exdrf_dev/qt_gen/db/related_items/widgets/related_item_selector.py +126 -0
  298. exdrf_dev/qt_gen/db/related_items/widgets/related_item_tv.html.j2 +27 -0
  299. exdrf_dev/qt_gen/db/related_items/widgets/related_item_tv.py +212 -0
  300. exdrf_dev/qt_gen/db/tags/__init__.py +7 -0
  301. exdrf_dev/qt_gen/db/tags/api.py +29 -0
  302. exdrf_dev/qt_gen/db/tags/fields/__init__.py +7 -0
  303. exdrf_dev/qt_gen/db/tags/fields/fld_id.py +47 -0
  304. exdrf_dev/qt_gen/db/tags/fields/fld_name.py +47 -0
  305. exdrf_dev/qt_gen/db/tags/fields/fld_parents.py +95 -0
  306. exdrf_dev/qt_gen/db/tags/fields/single_f.py +60 -0
  307. exdrf_dev/qt_gen/db/tags/models/__init__.py +7 -0
  308. exdrf_dev/qt_gen/db/tags/models/tag_ful.py +133 -0
  309. exdrf_dev/qt_gen/db/tags/models/tag_ocm.py +87 -0
  310. exdrf_dev/qt_gen/db/tags/widgets/__init__.py +7 -0
  311. exdrf_dev/qt_gen/db/tags/widgets/tag_editor.py +83 -0
  312. exdrf_dev/qt_gen/db/tags/widgets/tag_editor.ui +134 -0
  313. exdrf_dev/qt_gen/db/tags/widgets/tag_editor_ui.py +114 -0
  314. exdrf_dev/qt_gen/db/tags/widgets/tag_list.py +83 -0
  315. exdrf_dev/qt_gen/db/tags/widgets/tag_selector.py +122 -0
  316. exdrf_dev/qt_gen/db/tags/widgets/tag_tv.html.j2 +15 -0
  317. exdrf_dev/qt_gen/db/tags/widgets/tag_tv.py +168 -0
  318. exdrf_dev/qt_gen/menus.py +121 -0
  319. exdrf_dev/qt_gen/plugins.py +484 -0
  320. exdrf_dev/qt_gen/router.py +594 -0
  321. exdrf_dev/remove_empty_file_named_file.py +129 -0
  322. exdrf_dev/select_model_show/__init__.py +0 -0
  323. exdrf_dev/select_model_show/__main__.py +60 -0
  324. exdrf_dev/select_model_show/main_window.py +45 -0
  325. exdrf_dev-0.1.12.dist-info/METADATA +37 -0
  326. exdrf_dev-0.1.12.dist-info/RECORD +335 -0
  327. exdrf_dev-0.1.12.dist-info/WHEEL +5 -0
  328. exdrf_dev-0.1.12.dist-info/top_level.txt +3 -0
  329. exdrf_dev_tests/__init__.py +0 -0
  330. exdrf_dev_tests/qt_test/__init__.py +0 -0
  331. exdrf_dev_tests/qt_test/children_test/__init__.py +0 -0
  332. exdrf_dev_tests/qt_test/children_test/fields_test/__init__.py +0 -0
  333. exdrf_dev_tests/qt_test/children_test/models_test/__init__.py +0 -0
  334. exdrf_dev_tests/qt_test/children_test/models_test/children_full_test.py +362 -0
  335. exdrf_dev_tests/qt_test/children_test/models_test/children_ocm_test.py +0 -0
exdrf_dev/__init__.py ADDED
File without changes
@@ -0,0 +1,24 @@
1
+ # file generated by vcs-versioning
2
+ # don't change, don't track in version control
3
+ from __future__ import annotations
4
+
5
+ __all__ = [
6
+ "__version__",
7
+ "__version_tuple__",
8
+ "version",
9
+ "version_tuple",
10
+ "__commit_id__",
11
+ "commit_id",
12
+ ]
13
+
14
+ version: str
15
+ __version__: str
16
+ __version_tuple__: tuple[int | str, ...]
17
+ version_tuple: tuple[int | str, ...]
18
+ commit_id: str | None
19
+ __commit_id__: str | None
20
+
21
+ __version__ = version = '0.1.12'
22
+ __version_tuple__ = version_tuple = (0, 1, 12)
23
+
24
+ __commit_id__ = commit_id = 'g2f0d4d108'
File without changes
@@ -0,0 +1,109 @@
1
+ from typing import cast
2
+
3
+ from PyQt5.QtCore import QCoreApplication, Qt
4
+ from PyQt5.QtWidgets import QApplication
5
+
6
+ from exdrf_dev.__version__ import __version__
7
+ from exdrf_dev.app.main_window import MainWindow
8
+
9
+
10
+ def init_qt_info():
11
+ """CuteLog changes these so we need to change them back."""
12
+
13
+ QCoreApplication.setOrganizationName("ExDRF")
14
+ QCoreApplication.setOrganizationDomain("exdrf.dev")
15
+ QCoreApplication.setApplicationName("ExDRF")
16
+ QCoreApplication.setApplicationVersion(__version__)
17
+ QCoreApplication.setAttribute(Qt.ApplicationAttribute.AA_EnableHighDpiScaling, True)
18
+
19
+
20
+ def set_style():
21
+ app = cast(QApplication, QApplication.instance())
22
+ app.setStyleSheet(
23
+ """
24
+ QHeaderView::section {
25
+ background-color: qlineargradient(
26
+ x1:0, y1:0, x2:0, y2:1,
27
+ stop:0 #A1A1A1, stop: 0.5 #909090,
28
+ stop: 0.6 #838383, stop:1 #A5A5A5
29
+ );
30
+ color: white;
31
+ padding-left: 2px;
32
+ border: 1px solid #6c6c6c;
33
+ }
34
+
35
+ QHeaderView::section:checked {
36
+ background-color: red;
37
+ }
38
+
39
+ QTreeView {
40
+ alternate-background-color: #e1f5e2;
41
+ show-decoration-selected: 1;
42
+ }
43
+
44
+ QTreeView::item {
45
+ border: 1px solid #d9d9d9;
46
+ border-top-color: transparent;
47
+ border-bottom-color: transparent;
48
+ padding: 4px;
49
+ }
50
+
51
+ QTreeView::item:hover {
52
+ background: qlineargradient(
53
+ x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #e7effd, stop: 1 #cbdaf1
54
+ );
55
+ border: 1px solid #bfcde4;
56
+ }
57
+
58
+ QTreeView::item:selected {
59
+ border: 1px solid #567dbc;
60
+ }
61
+
62
+ QTreeView::item:selected:active{
63
+ background: qlineargradient(
64
+ x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #6ea1f1, stop: 1 #567dbc
65
+ );
66
+ }
67
+
68
+ QTreeView::item:selected:!active {
69
+ background: qlineargradient(
70
+ x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #6b9be8, stop: 1 #577fbf
71
+ );
72
+ }
73
+
74
+ """
75
+ )
76
+
77
+
78
+ def main():
79
+ import signal
80
+ import sys
81
+
82
+ import PyQt5.QtWebEngineWidgets # noqa: F401
83
+
84
+ from exdrf_dev.db.models import Base # noqa: F401, F403
85
+ from exdrf_dev.qt_gen.plugins import register_all_hooks
86
+
87
+ init_qt_info()
88
+ register_all_hooks()
89
+
90
+ app = QApplication(sys.argv)
91
+ args = list(app.arguments())
92
+ if len(args) > 1:
93
+ args = args[1:]
94
+
95
+ if len(args) > 0:
96
+ db_string = args[0]
97
+ else:
98
+ db_string = "sqlite:///:memory:"
99
+
100
+ # Create the GUI.
101
+ mw = MainWindow(db_string=db_string, Base=Base)
102
+ signal.signal(signal.SIGINT, mw.signal_handler)
103
+ mw.show()
104
+ set_style()
105
+ sys.exit(app.exec_())
106
+
107
+
108
+ if __name__ == "__main__":
109
+ main()
@@ -0,0 +1,50 @@
1
+ import logging
2
+
3
+ from PyQt5.QtWidgets import QApplication, QMainWindow
4
+
5
+ from exdrf_dev.app.main_window_ui import Ui_MainWindow
6
+ from exdrf_dev.qt_gen.menus import ExdrfMenus
7
+ from exdrf_dev.qt_gen.router import ExdrfRouter
8
+ from exdrf_qt.context import QtContext
9
+
10
+ logger = logging.getLogger(__name__)
11
+
12
+
13
+ class MainWindow(QMainWindow, Ui_MainWindow):
14
+ """Main window for the application."""
15
+
16
+ menus: ExdrfMenus
17
+ shutting_down: bool = False
18
+ ctx: "QtContext"
19
+
20
+ def __init__(self, db_string: str, Base, parent=None):
21
+ super().__init__(parent)
22
+ self.setup_ui(self)
23
+ self.ctx = QtContext(
24
+ c_string=db_string,
25
+ top_widget=self,
26
+ router=ExdrfRouter(
27
+ ctx=None, # type: ignore
28
+ base_path="exdrf://navigation/resource",
29
+ ),
30
+ )
31
+ self.ctx.router.ctx = self.ctx
32
+ self.ctx.create_all_tables(Base)
33
+
34
+ # Create the menus.
35
+ self.menus = ExdrfMenus(ctx=self.ctx, parent=self.menu_concerns)
36
+
37
+ # Set the window title and icon
38
+ self.setWindowTitle("ExDRF Dev App")
39
+
40
+ def signal_handler(self, *args):
41
+ self.shutdown()
42
+
43
+ def shutdown(self):
44
+ logger.info("Shutting down")
45
+ if self.shutting_down:
46
+ logger.error("Exiting forcefully")
47
+ raise SystemExit
48
+ self.shutting_down = True
49
+
50
+ QApplication.quit()
@@ -0,0 +1,49 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ui version="4.0">
3
+ <class>MainWindow</class>
4
+ <widget class="QMainWindow" name="MainWindow">
5
+ <property name="geometry">
6
+ <rect>
7
+ <x>0</x>
8
+ <y>0</y>
9
+ <width>640</width>
10
+ <height>592</height>
11
+ </rect>
12
+ </property>
13
+ <property name="windowTitle">
14
+ <string>MainWindow</string>
15
+ </property>
16
+ <widget class="QWidget" name="central_widget">
17
+ <layout class="QVBoxLayout" name="verticalLayout">
18
+ <item>
19
+ <widget class="QMdiArea" name="mdi_area"/>
20
+ </item>
21
+ </layout>
22
+ </widget>
23
+ <widget class="QMenuBar" name="menubar">
24
+ <property name="geometry">
25
+ <rect>
26
+ <x>0</x>
27
+ <y>0</y>
28
+ <width>640</width>
29
+ <height>21</height>
30
+ </rect>
31
+ </property>
32
+ <widget class="QMenu" name="menu_file">
33
+ <property name="title">
34
+ <string>File</string>
35
+ </property>
36
+ </widget>
37
+ <widget class="QMenu" name="menu_concerns">
38
+ <property name="title">
39
+ <string>Concerns</string>
40
+ </property>
41
+ </widget>
42
+ <addaction name="menu_file"/>
43
+ <addaction name="menu_concerns"/>
44
+ </widget>
45
+ <widget class="QStatusBar" name="statusbar"/>
46
+ </widget>
47
+ <resources/>
48
+ <connections/>
49
+ </ui>
@@ -0,0 +1,69 @@
1
+ from PyQt5 import QtCore, QtWidgets
2
+
3
+
4
+ class Ui_MainWindow:
5
+ """Autogenerated content.
6
+
7
+ Attributes:
8
+ central_widget: Central widget.
9
+ mdi_area: Mdi area.
10
+ menu_concerns: Menu concerns.
11
+ menu_file: Menu file.
12
+ menubar: Menubar.
13
+ statusbar: Statusbar.
14
+ verticalLayout: The layout for the widget.
15
+
16
+ """
17
+
18
+ central_widget: "QtWidgets.QWidget"
19
+ mdi_area: "QtWidgets.QMdiArea"
20
+ menu_concerns: "QtWidgets.QMenu"
21
+ menu_file: "QtWidgets.QMenu"
22
+ menubar: "QtWidgets.QMenuBar"
23
+ statusbar: "QtWidgets.QStatusBar"
24
+ verticalLayout: "QtWidgets.QVBoxLayout"
25
+
26
+ def setup_ui(self, MainWindow):
27
+ MainWindow.setObjectName("MainWindow")
28
+ MainWindow.resize(640, 592)
29
+ self.central_widget = QtWidgets.QWidget(MainWindow)
30
+ self.central_widget.setObjectName("central_widget")
31
+ self.verticalLayout = QtWidgets.QVBoxLayout(self.central_widget)
32
+ self.verticalLayout.setObjectName("verticalLayout")
33
+ self.mdi_area = QtWidgets.QMdiArea(self.central_widget)
34
+ self.mdi_area.setObjectName("mdi_area")
35
+ self.verticalLayout.addWidget(self.mdi_area)
36
+ MainWindow.setCentralWidget(self.central_widget)
37
+ self.menubar = QtWidgets.QMenuBar(MainWindow)
38
+ self.menubar.setGeometry(QtCore.QRect(0, 0, 640, 21))
39
+ self.menubar.setObjectName("menubar")
40
+ self.menu_file = QtWidgets.QMenu(self.menubar)
41
+ self.menu_file.setObjectName("menu_file")
42
+ self.menu_concerns = QtWidgets.QMenu(self.menubar)
43
+ self.menu_concerns.setObjectName("menu_concerns")
44
+ MainWindow.setMenuBar(self.menubar)
45
+ self.statusbar = QtWidgets.QStatusBar(MainWindow)
46
+ self.statusbar.setObjectName("statusbar")
47
+ MainWindow.setStatusBar(self.statusbar)
48
+ self.menubar.addAction(self.menu_file.menuAction())
49
+ self.menubar.addAction(self.menu_concerns.menuAction())
50
+
51
+ self.retranslate_ui(MainWindow)
52
+ QtCore.QMetaObject.connectSlotsByName(MainWindow)
53
+
54
+ def retranslate_ui(self, MainWindow):
55
+ _translate = QtCore.QCoreApplication.translate
56
+ MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
57
+ self.menu_file.setTitle(_translate("MainWindow", "File"))
58
+ self.menu_concerns.setTitle(_translate("MainWindow", "Concerns"))
59
+
60
+ def enum_controls(self):
61
+ """Enumerate the controls in the form."""
62
+ return [
63
+ self.central_widget,
64
+ self.mdi_area,
65
+ self.menu_concerns,
66
+ self.menu_file,
67
+ self.menubar,
68
+ self.statusbar,
69
+ ]
@@ -0,0 +1,7 @@
1
+ # This file was automatically generated using the exdrf_gen package.
2
+ # Source: exdrf_gen_al2at.creator -> __init__.py.j2
3
+ # Don't change it manually.
4
+
5
+ # exdrf-keep-start more_content ------------------------------------------------
6
+
7
+ # exdrf-keep-end more_content --------------------------------------------------
@@ -0,0 +1,7 @@
1
+ # This file was automatically generated using the exdrf_gen package.
2
+ # Source: exdrf_gen_al2at.creator -> c/api.py.j2
3
+ # Don't change it manually.
4
+
5
+ # exdrf-keep-start more_content ------------------------------------------------
6
+
7
+ # exdrf-keep-end more_content --------------------------------------------------
@@ -0,0 +1,7 @@
1
+ # This file was automatically generated using the exdrf_gen package.
2
+ # Source: exdrf_gen_al2at.creator -> __init__.py.j2
3
+ # Don't change it manually.
4
+
5
+ # exdrf-keep-start more_content ------------------------------------------------
6
+
7
+ # exdrf-keep-end more_content --------------------------------------------------
@@ -0,0 +1,7 @@
1
+ # This file was automatically generated using the exdrf_gen package.
2
+ # Source: exdrf_gen_al2at.creator -> c/api.py.j2
3
+ # Don't change it manually.
4
+
5
+ # exdrf-keep-start more_content ------------------------------------------------
6
+
7
+ # exdrf-keep-end more_content --------------------------------------------------
@@ -0,0 +1,31 @@
1
+ from typing import Optional
2
+
3
+ from attrs import define, field
4
+
5
+ # exdrf-keep-start other_imports ----------------------------------------------
6
+
7
+ # exdrf-keep-end other_imports ------------------------------------------------
8
+
9
+ # exdrf-keep-start other_globals ----------------------------------------------
10
+
11
+ # exdrf-keep-end other_globals ------------------------------------------------
12
+
13
+
14
+ @define
15
+ class Child:
16
+ # exdrf-keep-start other_attributes ---------------------------------------
17
+
18
+ # exdrf-keep-end other_attributes -----------------------------------------
19
+ data: Optional[str] = field(default=None)
20
+ parent: Optional[str] = field(default=None)
21
+ parent_id: Optional[int] = field(default=None)
22
+ id: Optional[int] = field(default=None)
23
+
24
+ # exdrf-keep-start extra_class_content -------------------------------------
25
+
26
+ # exdrf-keep-end extra_class_content ---------------------------------------
27
+
28
+
29
+ # exdrf-keep-start more_content -----------------------------------------------
30
+
31
+ # exdrf-keep-end more_content -------------------------------------------------
File without changes
@@ -0,0 +1,7 @@
1
+ # This file was automatically generated using the exdrf_gen package.
2
+ # Source: exdrf_gen_al2at.creator -> __init__.py.j2
3
+ # Don't change it manually.
4
+
5
+ # exdrf-keep-start more_content ------------------------------------------------
6
+
7
+ # exdrf-keep-end more_content --------------------------------------------------
@@ -0,0 +1,7 @@
1
+ # This file was automatically generated using the exdrf_gen package.
2
+ # Source: exdrf_gen_al2at.creator -> c/api.py.j2
3
+ # Don't change it manually.
4
+
5
+ # exdrf-keep-start more_content ------------------------------------------------
6
+
7
+ # exdrf-keep-end more_content --------------------------------------------------
@@ -0,0 +1,46 @@
1
+ from datetime import date, time
2
+ from enum import StrEnum
3
+ from typing import Optional
4
+
5
+ from attrs import define, field
6
+
7
+ # exdrf-keep-start other_imports ----------------------------------------------
8
+
9
+ # exdrf-keep-end other_imports ------------------------------------------------
10
+
11
+ # exdrf-keep-start other_globals ----------------------------------------------
12
+
13
+ # exdrf-keep-end other_globals ------------------------------------------------
14
+
15
+
16
+ class SomeEnum(StrEnum):
17
+ Pending = "PENDING"
18
+ Processing = "PROCESSING"
19
+ Completed = "COMPLETED"
20
+ Failed = "FAILED"
21
+
22
+
23
+ @define(slots=True)
24
+ class CompositeKeyModel:
25
+ # exdrf-keep-start other_attributes ---------------------------------------
26
+
27
+ # exdrf-keep-end other_attributes -----------------------------------------
28
+ description: Optional[str] = field(default=None)
29
+ related_items: Optional[list[str]] = field(default=None)
30
+ some_binary: Optional[bytes] = field(default=None)
31
+ some_date: Optional[date] = field(default=None)
32
+ some_enum: Optional[SomeEnum] = field(default=None)
33
+ some_float: Optional[float] = field(default=None)
34
+ some_json: Optional[str] = field(default=None)
35
+ some_time: Optional[time] = field(default=None)
36
+ key_part1: Optional[str] = field(default=None)
37
+ key_part2: Optional[int] = field(default=None)
38
+
39
+ # exdrf-keep-start extra_class_content -------------------------------------
40
+
41
+ # exdrf-keep-end extra_class_content ---------------------------------------
42
+
43
+
44
+ # exdrf-keep-start more_content -----------------------------------------------
45
+
46
+ # exdrf-keep-end more_content -------------------------------------------------
@@ -0,0 +1,7 @@
1
+ # This file was automatically generated using the exdrf_gen package.
2
+ # Source: exdrf_gen_al2at.creator -> __init__.py.j2
3
+ # Don't change it manually.
4
+
5
+ # exdrf-keep-start more_content ------------------------------------------------
6
+
7
+ # exdrf-keep-end more_content --------------------------------------------------
@@ -0,0 +1,7 @@
1
+ # This file was automatically generated using the exdrf_gen package.
2
+ # Source: exdrf_gen_al2at.creator -> c/api.py.j2
3
+ # Don't change it manually.
4
+
5
+ # exdrf-keep-start more_content ------------------------------------------------
6
+
7
+ # exdrf-keep-end more_content --------------------------------------------------
@@ -0,0 +1,29 @@
1
+ from typing import Optional
2
+
3
+ from attrs import define, field
4
+
5
+ # exdrf-keep-start other_imports ----------------------------------------------
6
+
7
+ # exdrf-keep-end other_imports ------------------------------------------------
8
+
9
+ # exdrf-keep-start other_globals ----------------------------------------------
10
+
11
+ # exdrf-keep-end other_globals ------------------------------------------------
12
+
13
+
14
+ @define
15
+ class ParentTagAssociation:
16
+ # exdrf-keep-start other_attributes ---------------------------------------
17
+
18
+ # exdrf-keep-end other_attributes -----------------------------------------
19
+ parent_id: Optional[int] = field(default=None)
20
+ tag_id: Optional[int] = field(default=None)
21
+
22
+ # exdrf-keep-start extra_class_content -------------------------------------
23
+
24
+ # exdrf-keep-end extra_class_content ---------------------------------------
25
+
26
+
27
+ # exdrf-keep-start more_content -----------------------------------------------
28
+
29
+ # exdrf-keep-end more_content -------------------------------------------------
@@ -0,0 +1,7 @@
1
+ # This file was automatically generated using the exdrf_gen package.
2
+ # Source: exdrf_gen_al2at.creator -> __init__.py.j2
3
+ # Don't change it manually.
4
+
5
+ # exdrf-keep-start more_content ------------------------------------------------
6
+
7
+ # exdrf-keep-end more_content --------------------------------------------------
@@ -0,0 +1,7 @@
1
+ # This file was automatically generated using the exdrf_gen package.
2
+ # Source: exdrf_gen_al2at.creator -> c/api.py.j2
3
+ # Don't change it manually.
4
+
5
+ # exdrf-keep-start more_content ------------------------------------------------
6
+
7
+ # exdrf-keep-end more_content --------------------------------------------------
@@ -0,0 +1,35 @@
1
+ from datetime import datetime
2
+ from typing import Optional
3
+
4
+ from attrs import define, field
5
+
6
+ # exdrf-keep-start other_imports ----------------------------------------------
7
+
8
+ # exdrf-keep-end other_imports ------------------------------------------------
9
+
10
+ # exdrf-keep-start other_globals ----------------------------------------------
11
+
12
+ # exdrf-keep-end other_globals ------------------------------------------------
13
+
14
+
15
+ @define
16
+ class Parent:
17
+ # exdrf-keep-start other_attributes ---------------------------------------
18
+
19
+ # exdrf-keep-end other_attributes -----------------------------------------
20
+ children: Optional[list[str]] = field(default=None)
21
+ created_at: Optional[datetime] = field(default=None)
22
+ is_active: Optional[bool] = field(default=None)
23
+ name: Optional[str] = field(default=None)
24
+ profile: Optional[str] = field(default=None)
25
+ tags: Optional[list[str]] = field(default=None)
26
+ id: Optional[int] = field(default=None)
27
+
28
+ # exdrf-keep-start extra_class_content -------------------------------------
29
+
30
+ # exdrf-keep-end extra_class_content ---------------------------------------
31
+
32
+
33
+ # exdrf-keep-start more_content -----------------------------------------------
34
+
35
+ # exdrf-keep-end more_content -------------------------------------------------
File without changes
@@ -0,0 +1,7 @@
1
+ # This file was automatically generated using the exdrf_gen package.
2
+ # Source: exdrf_gen_al2at.creator -> __init__.py.j2
3
+ # Don't change it manually.
4
+
5
+ # exdrf-keep-start more_content ------------------------------------------------
6
+
7
+ # exdrf-keep-end more_content --------------------------------------------------
@@ -0,0 +1,7 @@
1
+ # This file was automatically generated using the exdrf_gen package.
2
+ # Source: exdrf_gen_al2at.creator -> c/api.py.j2
3
+ # Don't change it manually.
4
+
5
+ # exdrf-keep-start more_content ------------------------------------------------
6
+
7
+ # exdrf-keep-end more_content --------------------------------------------------
@@ -0,0 +1,31 @@
1
+ from typing import Optional
2
+
3
+ from attrs import define, field
4
+
5
+ # exdrf-keep-start other_imports ----------------------------------------------
6
+
7
+ # exdrf-keep-end other_imports ------------------------------------------------
8
+
9
+ # exdrf-keep-start other_globals ----------------------------------------------
10
+
11
+ # exdrf-keep-end other_globals ------------------------------------------------
12
+
13
+
14
+ @define
15
+ class Profile:
16
+ # exdrf-keep-start other_attributes ---------------------------------------
17
+
18
+ # exdrf-keep-end other_attributes -----------------------------------------
19
+ bio: Optional[str] = field(default=None)
20
+ parent: Optional[str] = field(default=None)
21
+ parent_id: Optional[int] = field(default=None)
22
+ id: Optional[int] = field(default=None)
23
+
24
+ # exdrf-keep-start extra_class_content -------------------------------------
25
+
26
+ # exdrf-keep-end extra_class_content ---------------------------------------
27
+
28
+
29
+ # exdrf-keep-start more_content -----------------------------------------------
30
+
31
+ # exdrf-keep-end more_content -------------------------------------------------
File without changes
@@ -0,0 +1,7 @@
1
+ # This file was automatically generated using the exdrf_gen package.
2
+ # Source: exdrf_gen_al2at.creator -> __init__.py.j2
3
+ # Don't change it manually.
4
+
5
+ # exdrf-keep-start more_content ------------------------------------------------
6
+
7
+ # exdrf-keep-end more_content --------------------------------------------------
@@ -0,0 +1,7 @@
1
+ # This file was automatically generated using the exdrf_gen package.
2
+ # Source: exdrf_gen_al2at.creator -> c/api.py.j2
3
+ # Don't change it manually.
4
+
5
+ # exdrf-keep-start more_content ------------------------------------------------
6
+
7
+ # exdrf-keep-end more_content --------------------------------------------------
@@ -0,0 +1,33 @@
1
+ from typing import Optional
2
+
3
+ from attrs import define, field
4
+
5
+ # exdrf-keep-start other_imports ----------------------------------------------
6
+
7
+ # exdrf-keep-end other_imports ------------------------------------------------
8
+
9
+ # exdrf-keep-start other_globals ----------------------------------------------
10
+
11
+ # exdrf-keep-end other_globals ------------------------------------------------
12
+
13
+
14
+ @define
15
+ class RelatedItem:
16
+ # exdrf-keep-start other_attributes ---------------------------------------
17
+
18
+ # exdrf-keep-end other_attributes -----------------------------------------
19
+ comp_key_owner: Optional[str] = field(default=None)
20
+ comp_key_part1: Optional[str] = field(default=None)
21
+ comp_key_part2: Optional[int] = field(default=None)
22
+ item_data: Optional[str] = field(default=None)
23
+ some_int: Optional[int] = field(default=None)
24
+ id: Optional[int] = field(default=None)
25
+
26
+ # exdrf-keep-start extra_class_content -------------------------------------
27
+
28
+ # exdrf-keep-end extra_class_content ---------------------------------------
29
+
30
+
31
+ # exdrf-keep-start more_content -----------------------------------------------
32
+
33
+ # exdrf-keep-end more_content -------------------------------------------------
@@ -0,0 +1,7 @@
1
+ # This file was automatically generated using the exdrf_gen package.
2
+ # Source: exdrf_gen_al2at.creator -> __init__.py.j2
3
+ # Don't change it manually.
4
+
5
+ # exdrf-keep-start more_content ------------------------------------------------
6
+
7
+ # exdrf-keep-end more_content --------------------------------------------------