ShahriyarR / MySQL-AutoXtraBackup

MySQL-AutoXtraBackup commandline tool written in Python 3 based on Percona XtraBackup
https://autoxtrabackup.azepug.az/
MIT License
139 stars 79 forks source link

feature: add new option for generate default config file in default path #448

Closed ShahriyarR closed 2 years ago

ShahriyarR commented 2 years ago

As discussed in #446 it can be valuable to add an commandline option to generate the default config file is this was somehow eliminated by setup.

--generate-config-file flag option was added. Sample run will be something like this: autoxtrabackup --generate-config-file --verbose 2021-10-03 19:03:07 INFO [autoxtrabackup:278] Default config file is generated in /home/shako/.autoxtrabackup/autoxtrabackup.cnf 2021-10-03 19:03:07 INFO [autoxtrabackup:313] Xtrabackup command history: 2021-10-03 19:03:07 INFO [autoxtrabackup:315] ['command', 'xtrabackup_function', 'start time', 'end time', 'duration', 'exit code'] 2021-10-03 19:03:07 INFO [autoxtrabackup:316] Autoxtrabackup completed successfully!

Closes #446

sourcery-ai[bot] commented 2 years ago

Sourcery Code Quality Report

❌  Merging this PR will decrease code quality in the affected files by 0.94%.

Quality metrics Before After Change
Complexity 11.81 🙂 12.12 🙂 0.31 👎
Method Length 78.42 🙂 80.32 🙂 1.90 👎
Working memory 19.75 ⛔ 21.27 ⛔ 1.52 👎
Quality 56.47% 🙂 55.53% 🙂 -0.94% 👎
Other metrics Before After Change
Lines 427 437 10
Changed files Quality Before Quality After Quality Change
mysql_autoxtrabackup/autoxtrabackup.py 46.83% 😞 45.55% 😞 -1.28% 👎
mysql_autoxtrabackup/general_conf/generalops.py 79.13% ⭐ 81.02% ⭐ 1.89% 👍

Here are some functions in these files that still need a tune-up:

File Function Complexity Length Working Memory Quality Recommendation
mysql_autoxtrabackup/autoxtrabackup.py all_procedure 27 😞 619 ⛔ 46 ⛔ 11.23% ⛔ Refactor to reduce nesting. Try splitting into smaller methods. Extract out complex expressions
mysql_autoxtrabackup/general_conf/generalops.py GeneralClass.backup_archive_options 4 ⭐ 126 😞 7 🙂 68.28% 🙂 Try splitting into smaller methods
mysql_autoxtrabackup/general_conf/generalops.py GeneralClass.backup_options 0 ⭐ 126 😞 5 ⭐ 77.29% ⭐ Try splitting into smaller methods

Legend and Explanation

The emojis denote the absolute quality of the code:

The 👍 and 👎 indicate whether the quality has improved or gotten worse with this pull request.


Please see our documentation here for details on how these metrics are calculated.

We are actively working on this report - lots more documentation and extra metrics to come!

Help us improve this quality report!