Closed micolous closed 2 years ago
Thanks for all the great work. Also thanks for providing such a detailed breakdown of the changes here in the pull request.
I had a quick glance over it, and it looks great so far. I want to take a deeper look at profile.py and permutation.py, since I am responsible for most of the previous rewrite of that code and am just curious of the changes there. I also want to run some simulations based on your branch to see if I run into any problems.
Can you please check which minimum python version is required for your changes? The Readme still lists 3.5, but that might need to be upgraded with all the new stuff you used, which at least I don't remember being available when working with python all those years ago.
~One thing which could also be done for the rewrite is to completely separate the nightly auto-download into a separate file while you are at it, might make main.py even smaller.~
In any case, great work and I hope we can get this merged soon. Even if there are still some minor problems, it can't be worse than the stale, nearly rotten state that AutoSimc is in right now :)
Ok I was able to take a look at it. Great work, runs fine and is much more organized.
If possible, please rebase on top of the current master. I think you might have already have incorporated my last 2 commits, if so you can just discard the incoming changes.
This is a pretty large pull request, but this is also a pretty major refactoring:
pytype
.Profile_0004
.Shard of Oth
andShard of Rev
's fake enchants – these will be added by SimulationCraft if needed.augmentation
andtemporary_enchant
when splitting profiles.update_language_file.py
to work on non-Windows platforms, and force it to be UTF-8.permutate
->permute
.fights
: new module, absorbs data fromfight_types.json
.Default_
(ie:Default_Patchwerk
is nowPatchwerk
).TMI_T21N25
fight (which was for T21).main.py
is now less than half of the original size, much of its functionality has been split into other modules:i18n
: new module, absorbs all i18n stuff frommain.py
.item
: new module, absorbs items and weapons related stuff frommain.py
.permutation
: new module, mostly rewrote the permutation engine to make things simpler.profile
: new module:PermutationData
->EquipmentLoadout
Profile
: Rewrite ofAddonImporter
simc
: update manager, mostly rewritten to handle things in a more structured way, and avoid as many requestssettings
:additional_input_file
: this didn't do what the comment stated, and was instead overwritten when running a custom fight.default_equip_t27_min
,default_equip_t27_max
: Removed when removing T27.file_fightstyle
: this is now part offights.py
.temporary_folder_basepath
,clean_up
,delete_temp_default
: temporary directories are now handled using Python's standard libraryspecdata
: rewrite / simplification.Coverage data; this does not show all files, but this is starting from 0! 😄
TODO list: