arkparse 0.4.2__tar.gz → 0.4.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. {arkparse-0.4.2 → arkparse-0.4.4}/PKG-INFO +1 -1
  2. {arkparse-0.4.2 → arkparse-0.4.4}/pyproject.toml +1 -1
  3. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/api/structure_api.py +2 -4
  4. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/misc/inventory.py +33 -10
  5. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/structures/structure_with_inventory.py +1 -0
  6. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/ark_property.py +6 -7
  7. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/saves/asa_save.py +3 -0
  8. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/saves/save_connection.py +28 -8
  9. {arkparse-0.4.2 → arkparse-0.4.4}/.gitignore +0 -0
  10. {arkparse-0.4.2 → arkparse-0.4.4}/LICENSE +0 -0
  11. {arkparse-0.4.2 → arkparse-0.4.4}/README.md +0 -0
  12. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/__init__.py +0 -0
  13. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/api/__init__.py +0 -0
  14. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/api/base_api.py +0 -0
  15. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/api/dino_api.py +0 -0
  16. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/api/equipment_api.py +0 -0
  17. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/api/general_api.py +0 -0
  18. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/api/json_api.py +0 -0
  19. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/api/player_api.py +0 -0
  20. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/api/rcon_api.py +0 -0
  21. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/api/stackable_api.py +0 -0
  22. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/ark_tribe.py +0 -0
  23. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/assets/ABERRATION.PNG +0 -0
  24. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/assets/LOST_COLONY.PNG +0 -0
  25. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/assets/RAGNAROK.PNG +0 -0
  26. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/assets/THE_ISLAND.PNG +0 -0
  27. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/assets/__init__.py +0 -0
  28. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/assets/heavy_inventory +0 -0
  29. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/assets/tamable_dinos.txt +0 -0
  30. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/assets/templates/equipment/armor +0 -0
  31. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/assets/templates/equipment/armor_bp +0 -0
  32. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/assets/templates/equipment/armor_bp_n.json +0 -0
  33. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/assets/templates/equipment/armor_n.json +0 -0
  34. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/assets/templates/equipment/saddle +0 -0
  35. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/assets/templates/equipment/saddle_bp +0 -0
  36. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/assets/templates/equipment/saddle_bp_n.json +0 -0
  37. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/assets/templates/equipment/saddle_n.json +0 -0
  38. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/assets/templates/equipment/shield +0 -0
  39. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/assets/templates/equipment/shield_bp +0 -0
  40. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/assets/templates/equipment/shield_bp_n.json +0 -0
  41. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/assets/templates/equipment/shield_n.json +0 -0
  42. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/assets/templates/equipment/weapon +0 -0
  43. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/assets/templates/equipment/weapon_bp +0 -0
  44. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/assets/templates/equipment/weapon_bp_n.json +0 -0
  45. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/assets/templates/equipment/weapon_n.json +0 -0
  46. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/assets/templates/inventory/with_item_n.json +0 -0
  47. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/assets/templates/stackable/stackable +0 -0
  48. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/assets/templates/stackable/stackable_n.json +0 -0
  49. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/assets/templates/trait/trait_n.json +0 -0
  50. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/classes/__init__.py +0 -0
  51. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/classes/consumables.py +0 -0
  52. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/classes/dinos.py +0 -0
  53. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/classes/equipment.py +0 -0
  54. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/classes/placed_structures.py +0 -0
  55. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/classes/player.py +0 -0
  56. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/classes/resources.py +0 -0
  57. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/classes/traits.py +0 -0
  58. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/enums/__init__.py +0 -0
  59. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/enums/ark_dino_trait.py +0 -0
  60. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/enums/ark_enum.py +0 -0
  61. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/enums/ark_equipment_stat.py +0 -0
  62. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/enums/ark_item_quality.py +0 -0
  63. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/enums/ark_map.py +0 -0
  64. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/enums/ark_stat.py +0 -0
  65. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/ftp/__init__.py +0 -0
  66. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/ftp/ark_ftp_client.py +0 -0
  67. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/helpers/dino/is_wild_tamed.py +0 -0
  68. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/logging/__init__.py +0 -0
  69. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/logging/ark_save_logger.py +0 -0
  70. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/ark_game_object.py +0 -0
  71. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/bases/base.py +0 -0
  72. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/cluster_data/ark_cluster_data.py +0 -0
  73. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/cluster_data/cluster_data_dino.py +0 -0
  74. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/cluster_data/cluster_data_item.py +0 -0
  75. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/cryopods/cryopod.py +0 -0
  76. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/dinos/__init__.py +0 -0
  77. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/dinos/baby.py +0 -0
  78. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/dinos/dino.py +0 -0
  79. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/dinos/dino_ai_controller.py +0 -0
  80. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/dinos/dino_id.py +0 -0
  81. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/dinos/pedigree.py +0 -0
  82. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/dinos/stats.py +0 -0
  83. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/dinos/tamed_baby.py +0 -0
  84. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/dinos/tamed_dino.py +0 -0
  85. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/equipment/__armor_defaults.py +0 -0
  86. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/equipment/__equipment.py +0 -0
  87. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/equipment/__equipment_with_armor.py +0 -0
  88. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/equipment/__equipment_with_durability.py +0 -0
  89. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/equipment/__init__.py +0 -0
  90. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/equipment/armor.py +0 -0
  91. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/equipment/saddle.py +0 -0
  92. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/equipment/shield.py +0 -0
  93. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/equipment/weapon.py +0 -0
  94. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/misc/__parsed_object_base.py +0 -0
  95. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/misc/dino_owner.py +0 -0
  96. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/misc/inventory_item.py +0 -0
  97. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/misc/object_crafter.py +0 -0
  98. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/misc/object_owner.py +0 -0
  99. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/misc/trait.py +0 -0
  100. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/stackables/__init__.py +0 -0
  101. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/stackables/_stackable.py +0 -0
  102. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/stackables/ammo.py +0 -0
  103. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/stackables/resource.py +0 -0
  104. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/structures/__init__.py +0 -0
  105. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/object_model/structures/structure.py +0 -0
  106. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/__init__.py +0 -0
  107. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/_base_value_parser.py +0 -0
  108. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/_base_value_validator.py +0 -0
  109. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/_binary_reader_base.py +0 -0
  110. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/_byte_operator.py +0 -0
  111. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/_legacy_parsing/__init__.py +0 -0
  112. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/_legacy_parsing/_property_insertor.py +0 -0
  113. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/_legacy_parsing/_property_parser.py +0 -0
  114. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/_legacy_parsing/_property_replacer.py +0 -0
  115. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/_legacy_parsing/ark_binary_parser.py +0 -0
  116. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/_legacy_parsing/ark_property.py +0 -0
  117. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/_legacy_parsing/struct/__init__.py +0 -0
  118. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/_legacy_parsing/struct/ark_dino_ancestor_entry.py +0 -0
  119. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/_legacy_parsing/struct/ark_item_net_id.py +0 -0
  120. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/_legacy_parsing/struct/ark_my_persistent_buff_datas.py +0 -0
  121. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/_legacy_parsing/struct/ark_object_property.py +0 -0
  122. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/_legacy_parsing/struct/ark_struct_type.py +0 -0
  123. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/_legacy_parsing/struct/ark_tracked_actor_id_category_pair_with_bool.py +0 -0
  124. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/_legacy_parsing/struct/ark_unique_net_id_repl.py +0 -0
  125. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/_legacy_parsing/struct/ark_vector.py +0 -0
  126. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/_legacy_parsing/struct/ark_vector_bool_pair.py +0 -0
  127. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/_property_insertor.py +0 -0
  128. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/_property_parser.py +0 -0
  129. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/_property_replacer.py +0 -0
  130. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/ark_archive.py +0 -0
  131. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/ark_binary_parser.py +0 -0
  132. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/ark_object.py +0 -0
  133. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/ark_property_container.py +0 -0
  134. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/ark_set.py +0 -0
  135. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/ark_value_type.py +0 -0
  136. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/array_property.py +0 -0
  137. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/game_object_reader_configuration.py +0 -0
  138. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/__init__.py +0 -0
  139. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/actor_transform.py +0 -0
  140. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_color.py +0 -0
  141. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_crafting_resource_requirement.py +0 -0
  142. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_custom_item_data.py +0 -0
  143. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_dino_ancestor_entry.py +0 -0
  144. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_dino_order_id.py +0 -0
  145. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_gacha_resource_struct.py +0 -0
  146. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_gene_trait_struct.py +0 -0
  147. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_gigantoraptor_bonded_struct.py +0 -0
  148. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_int_point.py +0 -0
  149. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_item_craft_queue_entry.py +0 -0
  150. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_item_net_id.py +0 -0
  151. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_key_value_pair.py +0 -0
  152. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_linear_color.py +0 -0
  153. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_milestone_tree_level_and_index.py +0 -0
  154. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_my_persistent_buff_datas.py +0 -0
  155. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_object_property.py +0 -0
  156. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_painting_key_value.py +0 -0
  157. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_patrol_group_saved_data.py +0 -0
  158. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_player_death_reason.py +0 -0
  159. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_primal_saddle_structure.py +0 -0
  160. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_quat.py +0 -0
  161. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_rotator.py +0 -0
  162. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_server_custom_folder.py +0 -0
  163. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_struct_type.py +0 -0
  164. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_tracked_actor_id_category_pair.py +0 -0
  165. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_tracked_actor_id_category_pair_with_bool.py +0 -0
  166. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_tribe_alliance.py +0 -0
  167. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_tribe_rank_group.py +0 -0
  168. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_unique_net_id_repl.py +0 -0
  169. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_vector.py +0 -0
  170. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/ark_vector_bool_pair.py +0 -0
  171. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/object_reference.py +0 -0
  172. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/parsing/struct/unknown_struct.py +0 -0
  173. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/player/ark_character_config.py +0 -0
  174. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/player/ark_character_stats.py +0 -0
  175. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/player/ark_persistent_buff_data.py +0 -0
  176. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/player/ark_player.py +0 -0
  177. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/player/ark_tribute_item.py +0 -0
  178. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/saves/__init__.py +0 -0
  179. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/saves/header_location.py +0 -0
  180. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/saves/save_context.py +0 -0
  181. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/utils/__init__.py +0 -0
  182. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/utils/heatmap_visualization.py +0 -0
  183. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/utils/import_file.py +0 -0
  184. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/utils/json_utils.py +0 -0
  185. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/utils/map_images.py +0 -0
  186. {arkparse-0.4.2 → arkparse-0.4.4}/src/arkparse/utils/tm_files.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: arkparse
3
- Version: 0.4.2
3
+ Version: 0.4.4
4
4
  Summary: A package to parse and modify ark save files
5
5
  Project-URL: Homepage, https://github.com/VincentHenauGithub/ark-save-parser
6
6
  Author-email: Vincent Henau <vincent.henau.github@gmail.com>
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "arkparse"
7
- version = "0.4.2"
7
+ version = "0.4.4"
8
8
  dependencies = [
9
9
  "rcon>=2.4.9",
10
10
  "numpy>=2.3.2",
@@ -108,6 +108,7 @@ class StructureApi:
108
108
 
109
109
  structures = {}
110
110
 
111
+ ArkSaveLogger.api_log(f"Parsing structure objects into structure models, total objects to parse: {len(objects)}")
111
112
  for key, obj in objects.items():
112
113
  obj : ArkGameObject = obj
113
114
  if obj is None:
@@ -306,10 +307,7 @@ class StructureApi:
306
307
  def get_all_with_inventory(self) -> Dict[UUID, StructureWithInventory]:
307
308
  structures = self.get_all()
308
309
  result = {}
309
-
310
- for key, obj in structures.items():
311
- if isinstance(obj, StructureWithInventory):
312
- result[key] = obj
310
+ result = {key: obj for key, obj in structures.items() if isinstance(obj, StructureWithInventory)}
313
311
 
314
312
  return result
315
313
 
@@ -17,12 +17,13 @@ from ...utils.json_utils import DefaultJsonEncoder
17
17
 
18
18
  @dataclass
19
19
  class Inventory(ParsedObjectBase):
20
- items: Dict[UUID, InventoryItem]
20
+ _items: Dict[UUID, InventoryItem]
21
+ item_classes: Dict[UUID, str]
21
22
  started_empty: bool = False
22
23
  def __init__(self, uuid: UUID, save: AsaSave = None):
23
24
  super().__init__(uuid, save=save)
24
- self.items = {}
25
-
25
+ self._items = {}
26
+ self.item_classes = {}
26
27
  if self.object is None:
27
28
  ArkSaveLogger.error_log(f"Inventory object with UUID {uuid} could not be loaded from save, not found")
28
29
  return
@@ -30,17 +31,39 @@ class Inventory(ParsedObjectBase):
30
31
  item_arr = self.object.get_array_property_value("InventoryItems")
31
32
  for item in item_arr:
32
33
  item_uuid = UUID(item.value)
33
- item = InventoryItem(item_uuid, save=save)
34
- if item.object is None:
35
- ArkSaveLogger.warning_log(f"Inventory item {item_uuid} could not be loaded from save, not found")
36
- else:
37
- is_engram = item.object.get_property_value("bIsEngram")
38
- if is_engram is None or not is_engram:
39
- self.items[item_uuid] = item
34
+ item_class = self.save.get_class_of_uuid(item_uuid)
35
+ self.item_classes[item_uuid] = item_class
36
+
37
+ @property
38
+ def items(self) -> Dict[UUID, InventoryItem]:
39
+ if len(self._items) != len(self.item_classes):
40
+ self._items = {}
41
+ item_arr = self.object.get_array_property_value("InventoryItems")
42
+ for item in item_arr:
43
+ item_uuid = UUID(item.value)
44
+ if item_uuid not in self._items.keys():
45
+ self._items[item_uuid] = InventoryItem(item_uuid, self.save)
46
+ return self._items
40
47
 
41
48
  @property
42
49
  def number_of_items(self):
43
50
  return len(self.items)
51
+
52
+ def get_items_of_class(self, class_name: str) -> Dict[UUID, InventoryItem]:
53
+ result = {}
54
+ for item_uuid, item_class in self.item_classes.items():
55
+ if item_class == class_name:
56
+ result[item_uuid] = self.get_item(item_uuid)
57
+ return result
58
+
59
+ def get_item(self, uuid: UUID) -> InventoryItem:
60
+ if uuid in self.item_classes.keys():
61
+ if uuid in self._items.keys():
62
+ return self._items[uuid]
63
+ else:
64
+ item = InventoryItem(uuid, self.save)
65
+ self._items[uuid] = item
66
+ return item
44
67
 
45
68
  def add_item(self, item: UUID, store: bool = True):
46
69
  if len(self.items) == 0:
@@ -16,6 +16,7 @@ class StructureWithInventory(Structure):
16
16
  max_item_count: int
17
17
 
18
18
  _inventory: Inventory
19
+ _bps_in_inventory: Optional[set[str]] = None
19
20
 
20
21
  def __init__(self, uuid: UUID, save: AsaSave, bypass_inventory: bool = False):
21
22
  self._inventory = None
@@ -423,7 +423,6 @@ class ArkProperty:
423
423
  ArkSaveLogger.warning_log(f"Skipping to the end of the struct, type: {array_content_type}")
424
424
  bb.set_position(data_start_position + data_size)
425
425
  bb.structured_print(to_default_file=True)
426
- input("Press Enter to continue...")
427
426
  ArkSaveLogger.open_hex_view(True)
428
427
 
429
428
  # if array_content_type == "PrimalCharacterStatusValueModifier":
@@ -524,12 +523,12 @@ class ArkProperty:
524
523
  UNSUPPORTED_STRUCTS.append(struct_type)
525
524
 
526
525
  # uncomment the lines below if you want to make objects of unknown structs
527
- ArkSaveLogger.parser_log(f"Reading struct {struct_type} as array")
528
- bb.structured_print(to_default_file=True)
529
- bb.store()
530
- ArkSaveLogger.error_log(f"Unsupported struct type {struct_type} in array")
531
- ArkSaveLogger.open_hex_view(True)
532
- raise ValueError(f"Unsupported struct type {struct_type}")
526
+ # ArkSaveLogger.parser_log(f"Reading struct {struct_type} as array")
527
+ # bb.structured_print(to_default_file=True)
528
+ # bb.store()
529
+ # ArkSaveLogger.error_log(f"Unsupported struct type {struct_type} in array")
530
+ # ArkSaveLogger.open_hex_view(True)
531
+ # raise ValueError(f"Unsupported struct type {struct_type}")
533
532
 
534
533
  ArkSaveLogger.parser_log(f"Reading struct {struct_type} with data size {data_size} as property list at position {bb.get_position()}")
535
534
  # Fallback: struct as property list
@@ -58,6 +58,9 @@ class AsaSave:
58
58
  return False
59
59
  return True
60
60
 
61
+ def get_class_of_uuid(self, obj_uuid: uuid.UUID) -> Optional[str]:
62
+ return self.save_connection.get_class_of_uuid(obj_uuid)
63
+
61
64
  def _get_game_time_params(self):
62
65
  config: GameObjectReaderConfiguration = GameObjectReaderConfiguration()
63
66
  config.blueprint_name_filter = lambda name: name is not None and "daycycle" in name.lower()
@@ -19,6 +19,8 @@ class SaveConnection:
19
19
  nr_parsed = 0
20
20
  faulty_objects = 0
21
21
 
22
+ failed_parses: Dict[str, int] = {}
23
+
22
24
  def __init__(self, save_context: SaveContext, path: Path = None, contents: bytes = None, read_only: bool = False):
23
25
 
24
26
  # create temp copy of file
@@ -113,6 +115,12 @@ class SaveConnection:
113
115
  if self.connection:
114
116
  self.connection.close()
115
117
 
118
+ def get_class_of_uuid(self, obj_uuid: uuid.UUID) -> Optional[str]:
119
+ bin = self.get_game_obj_binary(obj_uuid)
120
+ reader = ArkBinaryParser(bin, self.save_context)
121
+ class_name, string_name = ArkGameObject.read_name(obj_uuid, reader)
122
+ return class_name
123
+
116
124
  def list_all_items_in_db(self):
117
125
  query = "SELECT key, value FROM game"
118
126
  with self.connection as conn:
@@ -402,6 +410,14 @@ class SaveConnection:
402
410
  ArkSaveLogger.exit_struct()
403
411
  continue
404
412
 
413
+ if SaveConnection.failed_parses.get(class_name, 0) >= 5:
414
+ if SaveConnection.failed_parses[class_name] == 5:
415
+ ArkSaveLogger.warning_log(f"Skipping parsing of class {class_name} due to previous errors")
416
+ SaveConnection.failed_parses[class_name] += 1
417
+ ArkSaveLogger.exit_struct()
418
+ self.faulty_objects += 1
419
+ continue
420
+
405
421
  if class_name not in objects:
406
422
  objects.append(class_name)
407
423
 
@@ -482,14 +498,18 @@ class SaveConnection:
482
498
  else:
483
499
  byte_buffer.structured_print(to_default_file=True)
484
500
  ArkSaveLogger.warning_log(f"Error parsing non-standard object of type {class_name}")
485
-
486
- ArkSaveLogger.error_log("Reparsing with logging:")
487
- ArkSaveLogger.set_log_level(ArkSaveLogger.LogTypes.PARSER, True)
488
- try:
489
- ArkGameObject(obj_uuid, class_name, byte_buffer)
490
- except Exception as _:
491
- ArkSaveLogger.set_log_level(ArkSaveLogger.LogTypes.PARSER, False)
492
- ArkSaveLogger.open_hex_view(True)
501
+
502
+ SaveConnection.failed_parses[class_name] = SaveConnection.failed_parses.get(class_name, 0) + 1
503
+ ArkSaveLogger.warning_log(f"Failed parses for this class: {SaveConnection.failed_parses[class_name]}")
504
+
505
+ if SaveConnection.failed_parses[class_name] == 1:
506
+ ArkSaveLogger.error_log("Reparsing with logging:")
507
+ ArkSaveLogger.set_log_level(ArkSaveLogger.LogTypes.PARSER, True)
508
+ try:
509
+ ArkGameObject(obj_uuid, class_name, byte_buffer)
510
+ except Exception as _:
511
+ ArkSaveLogger.set_log_level(ArkSaveLogger.LogTypes.PARSER, False)
512
+ ArkSaveLogger.open_hex_view(True)
493
513
 
494
514
  if reraise:
495
515
  raise Exception(f"Error parsing object {obj_uuid} of type {class_name}: {e}")
File without changes
File without changes
File without changes