Open-AutoTools 0.0.3rc5__py3-none-any.whl → 0.0.4__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 (46) hide show
  1. autotools/autocaps/commands.py +3 -7
  2. autotools/autocaps/core.py +5 -4
  3. autotools/autoip/commands.py +8 -12
  4. autotools/autoip/core.py +151 -200
  5. autotools/autolower/commands.py +3 -7
  6. autotools/autolower/core.py +4 -3
  7. autotools/autopassword/commands.py +27 -33
  8. autotools/autopassword/core.py +32 -73
  9. autotools/autotest/__init__.py +2 -0
  10. autotools/autotest/commands.py +206 -0
  11. autotools/cli.py +123 -62
  12. autotools/utils/commands.py +13 -0
  13. autotools/utils/loading.py +14 -6
  14. autotools/utils/performance.py +424 -0
  15. autotools/utils/requirements.py +21 -0
  16. autotools/utils/text.py +16 -0
  17. autotools/utils/updates.py +30 -22
  18. autotools/utils/version.py +69 -63
  19. open_autotools-0.0.4.dist-info/METADATA +84 -0
  20. open_autotools-0.0.4.dist-info/RECORD +30 -0
  21. {Open_AutoTools-0.0.3rc5.dist-info → open_autotools-0.0.4.dist-info}/WHEEL +1 -1
  22. {Open_AutoTools-0.0.3rc5.dist-info → open_autotools-0.0.4.dist-info}/entry_points.txt +0 -3
  23. Open_AutoTools-0.0.3rc5.dist-info/METADATA +0 -317
  24. Open_AutoTools-0.0.3rc5.dist-info/RECORD +0 -44
  25. autotools/autocaps/tests/__init__.py +0 -1
  26. autotools/autocaps/tests/test_autocaps_core.py +0 -45
  27. autotools/autocaps/tests/test_autocaps_integration.py +0 -46
  28. autotools/autodownload/__init__.py +0 -0
  29. autotools/autodownload/commands.py +0 -38
  30. autotools/autodownload/core.py +0 -433
  31. autotools/autoip/tests/__init__.py +0 -1
  32. autotools/autoip/tests/test_autoip_core.py +0 -72
  33. autotools/autoip/tests/test_autoip_integration.py +0 -92
  34. autotools/autolower/tests/__init__.py +0 -1
  35. autotools/autolower/tests/test_autolower_core.py +0 -45
  36. autotools/autolower/tests/test_autolower_integration.py +0 -46
  37. autotools/autospell/__init__.py +0 -3
  38. autotools/autospell/commands.py +0 -123
  39. autotools/autospell/core.py +0 -222
  40. autotools/autotranslate/__init__.py +0 -3
  41. autotools/autotranslate/commands.py +0 -42
  42. autotools/autotranslate/core.py +0 -52
  43. autotools/test/__init__.py +0 -3
  44. autotools/test/commands.py +0 -118
  45. {Open_AutoTools-0.0.3rc5.dist-info → open_autotools-0.0.4.dist-info/licenses}/LICENSE +0 -0
  46. {Open_AutoTools-0.0.3rc5.dist-info → open_autotools-0.0.4.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,84 @@
1
+ Metadata-Version: 2.4
2
+ Name: Open-AutoTools
3
+ Version: 0.0.4
4
+ Summary: A suite of automated tools accessible via CLI with a simple `autotools` command
5
+ Home-page: https://github.com/BabylooPro/Open-AutoTools
6
+ Author: BabylooPro
7
+ Author-email: maxremy.dev@gmail.com
8
+ License: MIT
9
+ Project-URL: Bug Tracker, https://github.com/BabylooPro/Open-AutoTools/issues
10
+ Classifier: Programming Language :: Python :: 3.10
11
+ Classifier: Programming Language :: Python :: 3.11
12
+ Classifier: Programming Language :: Python :: 3.12
13
+ Classifier: Operating System :: OS Independent
14
+ Requires-Python: >=3.10
15
+ Description-Content-Type: text/markdown
16
+ License-File: LICENSE
17
+ Requires-Dist: click>=8.1.3
18
+ Requires-Dist: requests>=2.31.0
19
+ Requires-Dist: python-dotenv>=1.0.0
20
+ Requires-Dist: packaging>=23.0
21
+ Requires-Dist: halo>=0.0.31
22
+ Requires-Dist: pyperclip>=1.8.2
23
+ Requires-Dist: netifaces>=0.11.0
24
+ Requires-Dist: speedtest-cli>=2.1.3
25
+ Requires-Dist: psutil>=5.9.0
26
+ Requires-Dist: cryptography>=42.0.2
27
+ Provides-Extra: dev
28
+ Dynamic: author
29
+ Dynamic: author-email
30
+ Dynamic: classifier
31
+ Dynamic: description
32
+ Dynamic: description-content-type
33
+ Dynamic: home-page
34
+ Dynamic: license
35
+ Dynamic: license-file
36
+ Dynamic: project-url
37
+ Dynamic: provides-extra
38
+ Dynamic: requires-dist
39
+ Dynamic: requires-python
40
+ Dynamic: summary
41
+
42
+ # Open-AutoTools
43
+
44
+ [PYPI_BADGE]: https://badge.fury.io/py/Open-AutoTools.svg
45
+ [PYPI_URL]: https://pypi.org/project/Open-AutoTools/
46
+ [PYTHON_BADGE]: https://img.shields.io/badge/Python-3.11-blue.svg
47
+ [PYTHON_URL]: https://www.python.org/downloads/
48
+ [CHANGELOG_BADGE]: https://img.shields.io/badge/CHANGELOG-red.svg
49
+ [CHANGELOG_URL]: CHANGELOG.md
50
+ [TODO_BADGE]: https://img.shields.io/badge/TODO-purple.svg
51
+ [TODO_URL]: TODO.md
52
+
53
+ [![PyPI][PYPI_BADGE]][PYPI_URL] [![Python][PYTHON_BADGE]][PYTHON_URL] [![CHANGELOG][CHANGELOG_BADGE]][CHANGELOG_URL] [![TODO][TODO_BADGE]][TODO_URL]
54
+
55
+ Python CLI toolkit for everyday developer tasks. Boost productivity directly from your terminal.
56
+
57
+ https://github.com/BabylooPro/Open-AutoTools/assets/35376790/d57f2b9d-55f8-4368-bb40-c0010eb9d49a
58
+
59
+ ## Quick Install
60
+
61
+ ```bash
62
+ pip install open-autotools
63
+ ```
64
+
65
+ See [Installation Guide](docs/installation.md) for more details.
66
+
67
+ ## Tools
68
+
69
+ - **[AutoCaps](docs/tools/autocaps.md)** - Convert text to uppercase
70
+ - **[AutoLower](docs/tools/autolower.md)** - Convert text to lowercase
71
+ - **[AutoPassword](docs/tools/autopassword.md)** - Generate secure passwords and encryption keys
72
+ - **[AutoIP](docs/tools/autoip.md)** - Display network information and diagnostics
73
+ - **[Test Suite](docs/tools/autotest.md)** - Run the test suite (development only)
74
+
75
+ ## Documentation
76
+
77
+ - [Installation](docs/installation.md)
78
+ - [Development](docs/development.md)
79
+ - [Performance](docs/performance.md)
80
+ - [Docker Support](docs/docker.md)
81
+
82
+ ## License
83
+
84
+ MIT - see [LICENSE](LICENSE).
@@ -0,0 +1,30 @@
1
+ autotools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ autotools/cli.py,sha256=CeUrfizRtA-G-HbDGP-HHtyUmKmr2Fj4TR-XM1ZdxeM,6122
3
+ autotools/autocaps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
+ autotools/autocaps/commands.py,sha256=dSsLCmAYtDyk3EudtGw_iLOUbJGMAVDA_kw88sk5v4Y,434
5
+ autotools/autocaps/core.py,sha256=v0VGndr_6LAN7j5eQiUe1dGnP8GMRNsZmOoL-Z5hJbM,259
6
+ autotools/autoip/__init__.py,sha256=T_5hz9G4reFPXDucdzRoMFPYlAKwTPt9TejOpkRPgn0,23
7
+ autotools/autoip/commands.py,sha256=5jIgko1bu7qYoDP_eDkBvNe0mAvT2SKni1WX_8wIOWI,1240
8
+ autotools/autoip/core.py,sha256=Nv67E2ZNpzx0Sy8_v8H5FxSJ4lXTpcYu8cnEjDWS_KE,9197
9
+ autotools/autolower/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
+ autotools/autolower/commands.py,sha256=9bW56LqjMbX2k_ZLHMw1JiM-FuhmLo81558N-WSsN2w,437
11
+ autotools/autolower/core.py,sha256=PLxP9eKoC_NY-ZGPgTxRLxNufv0VGrmOJjjSC_n1zog,259
12
+ autotools/autopassword/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
13
+ autotools/autopassword/commands.py,sha256=c2ciHxoG7hEUhlRV5z-7A8GooBx8njtVcQvIPa74U58,3050
14
+ autotools/autopassword/core.py,sha256=xSD4--oqEgnWQD4mlymUfL_qbH_7J8caqfenGCYBXcA,2481
15
+ autotools/autotest/__init__.py,sha256=G4bK86_araxN2j10W8wEX-ol9zXKNhXq8FtPcOj4_p4,55
16
+ autotools/autotest/commands.py,sha256=JENOzikauyjsqC5K_Dbsa1XwZhGPXm8cXnoAUomR36I,7693
17
+ autotools/utils/__init__.py,sha256=2uAirI6ZbOwSFPSg5wuEjA0gMWf1XBJ4yP_WcGeND7M,183
18
+ autotools/utils/commands.py,sha256=VEkmaHM7taRfKaU_DJngt9F6aD1zyGJW7t42ojQFpLQ,308
19
+ autotools/utils/loading.py,sha256=yvXQI6FdIJBjRb40R2LTIgDxxNyiv_23p5ixYkQcGtg,752
20
+ autotools/utils/performance.py,sha256=wa9dL9NM8XzLz5yEkQvV9jjKXj8qAVWf6QrIzMyFqA0,17945
21
+ autotools/utils/requirements.py,sha256=hngCUozh_r9lGXk0CmL7H9JOpvk1whEZp9uaa-oXCrI,822
22
+ autotools/utils/text.py,sha256=Ay_mD8cz1M5Z5prYGkVdkr1zBHrVfObpLRzH8wSFa7M,572
23
+ autotools/utils/updates.py,sha256=FrwGGMI9rv-bUrsIpttRnBNXUAOlPpBb85GcYXa_o6A,1447
24
+ autotools/utils/version.py,sha256=ruKZcuLN77yO2x0AwjfyaHlncaHE-8GDzzSIBr-agTc,3082
25
+ open_autotools-0.0.4.dist-info/licenses/LICENSE,sha256=SpbSRxNWos2l0-geleCa6d0L9G_bOsZRkY4rB9OduJ0,1069
26
+ open_autotools-0.0.4.dist-info/METADATA,sha256=89GkIuE3Y1ZbPscTbu8Bde171yF3mecRyTrmO_9OiNY,2789
27
+ open_autotools-0.0.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
28
+ open_autotools-0.0.4.dist-info/entry_points.txt,sha256=wmO-wROjqX5-Dr69PWxOD3m5HUueprQp-7jDsU3RMTU,190
29
+ open_autotools-0.0.4.dist-info/top_level.txt,sha256=x5ZRvdQw7DQnVmR0YDqVSAuuS94KTHDmk6uIeW7YOPw,10
30
+ open_autotools-0.0.4.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.0)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,9 +1,6 @@
1
1
  [console_scripts]
2
2
  autocaps = autotools.cli:autocaps
3
- autodownload = autotools.cli:autodownload
4
3
  autoip = autotools.cli:autoip
5
4
  autolower = autotools.cli:autolower
6
5
  autopassword = autotools.cli:autopassword
7
- autospell = autotools.cli:autospell
8
6
  autotools = autotools.cli:cli
9
- autotranslate = autotools.cli:autotranslate
@@ -1,317 +0,0 @@
1
- Metadata-Version: 2.2
2
- Name: Open-AutoTools
3
- Version: 0.0.3rc5
4
- Summary: A suite of automated tools accessible via CLI with a simple `autotools` command
5
- Home-page: https://github.com/BabylooPro/Open-AutoTools
6
- Author: BabylooPro
7
- Author-email: maxremy.dev@gmail.com
8
- Project-URL: Bug Tracker, https://github.com/BabylooPro/Open-AutoTools/issues
9
- Classifier: Programming Language :: Python :: 3.10
10
- Classifier: Programming Language :: Python :: 3.11
11
- Classifier: Programming Language :: Python :: 3.12
12
- Classifier: License :: OSI Approved :: MIT License
13
- Classifier: Operating System :: OS Independent
14
- Requires-Python: >=3.10
15
- Description-Content-Type: text/markdown
16
- License-File: LICENSE
17
- Requires-Dist: Brotli==1.1.0
18
- Requires-Dist: certifi==2024.2.2
19
- Requires-Dist: charset-normalizer==3.3.2
20
- Requires-Dist: click==8.1.3
21
- Requires-Dist: cryptography==42.0.2
22
- Requires-Dist: idna==3.6
23
- Requires-Dist: importlib-metadata>=7.0.1
24
- Requires-Dist: joblib==1.3.2
25
- Requires-Dist: Levenshtein==0.25.0
26
- Requires-Dist: mutagen==1.47.0
27
- Requires-Dist: packaging>=23.0
28
- Requires-Dist: platformdirs==4.2.0
29
- Requires-Dist: pycryptodomex==3.20.0
30
- Requires-Dist: pyperclip==1.8.2
31
- Requires-Dist: python-Levenshtein==0.25.0
32
- Requires-Dist: python-dotenv>=1.0.0
33
- Requires-Dist: rapidfuzz==3.6.1
34
- Requires-Dist: regex==2023.12.25
35
- Requires-Dist: requests>=2.32.2
36
- Requires-Dist: textblob==0.18.0.post0
37
- Requires-Dist: tomli==2.0.1
38
- Requires-Dist: tqdm==4.66.2
39
- Requires-Dist: urllib3==2.2.1
40
- Requires-Dist: websockets==13.0.1
41
- Requires-Dist: yapf==0.40.2
42
- Requires-Dist: yt-dlp>=2024.3.10
43
- Requires-Dist: zipp==3.17.0
44
- Requires-Dist: translate==3.6.1
45
- Requires-Dist: langdetect==1.0.9
46
- Requires-Dist: deep-translator==1.11.4
47
- Requires-Dist: netifaces>=0.11.0
48
- Requires-Dist: speedtest-cli>=2.1.3
49
- Requires-Dist: psutil>=5.9.0
50
- Requires-Dist: setuptools>=40.8.0
51
- Requires-Dist: language-tool-python>=2.7.1
52
- Requires-Dist: spacy>=3.7.2
53
- Requires-Dist: beautifulsoup4>=4.12.0
54
- Requires-Dist: halo>=0.0.31
55
- Requires-Dist: ffmpeg-python>=0.2.0
56
- Provides-Extra: test
57
- Requires-Dist: pytest>=7.4.0; extra == "test"
58
- Requires-Dist: pytest-cov>=4.1.0; extra == "test"
59
- Requires-Dist: pytest-sugar>=1.0.0; extra == "test"
60
- Requires-Dist: pytest-xdist>=3.5.0; extra == "test"
61
- Requires-Dist: pytest-timeout>=2.2.0; extra == "test"
62
- Dynamic: author
63
- Dynamic: author-email
64
- Dynamic: classifier
65
- Dynamic: description
66
- Dynamic: description-content-type
67
- Dynamic: home-page
68
- Dynamic: project-url
69
- Dynamic: provides-extra
70
- Dynamic: requires-dist
71
- Dynamic: requires-python
72
- Dynamic: summary
73
-
74
- # Open-AutoTools
75
-
76
- [PYPI_BADGE]: https://badge.fury.io/py/Open-AutoTools.svg
77
- [PYPI_URL]: https://pypi.org/project/Open-AutoTools/
78
- [PYTHON_BADGE]: https://img.shields.io/badge/Python-3.11-blue.svg
79
- [PYTHON_URL]: https://www.python.org/downloads/
80
- [CHANGELOG_BADGE]: https://img.shields.io/badge/CHANGELOG-red.svg
81
- [CHANGELOG_URL]: CHANGELOG.md
82
- [TODO_BADGE]: https://img.shields.io/badge/TODO-purple.svg
83
- [TODO_URL]: TODO.md
84
- [TOTAL_STABILITY]: https://img.shields.io/badge/Total%20Stability-73%25-yellow
85
-
86
- [![PyPI][PYPI_BADGE]][PYPI_URL] [![Python][PYTHON_BADGE]][PYTHON_URL] [![CHANGELOG][CHANGELOG_BADGE]][CHANGELOG_URL] [![TODO][TODO_BADGE]][TODO_URL] ![Total Stability][TOTAL_STABILITY]
87
-
88
- Open-AutoTools is a comprehensive Python CLI toolkit that streamlines everyday developer tasks through a collection of powerful command-line utilities. Each tool is designed to enhance productivity directly from your terminal.
89
-
90
- https://github.com/BabylooPro/Open-AutoTools/assets/35376790/d57f2b9d-55f8-4368-bb40-c0010eb9d49a
91
-
92
- ## How to install to use directly
93
-
94
- To install Open-AutoTools, use the following command in your terminal: `pip install open-autotools`
95
-
96
- This command installs all the necessary tools to integrate Open-AutoTools into your workflow.
97
-
98
- You can also find the package on PyPI at: https://pypi.org/project/Open-AutoTools/
99
-
100
- ## How to develop more features
101
-
102
- Open-AutoTools is developed using Python 3.11.
103
-
104
- ```bash
105
- # Create a virtual environment
106
- python -m venv venv
107
-
108
- # Activate virtual environment
109
- source venv/bin/activate # On macOS/Linux
110
- venv\Scripts\activate # On Windows
111
-
112
- # Install project dependencies
113
- pip install -r requirements.txt
114
-
115
- # For development, install in editable mode
116
- pip install -e .
117
-
118
- # INFO: if you want to run tests and some errors occur before see test executable
119
- # install test dependencies directly (optional)
120
- pip install -e ".[test]"
121
- ```
122
-
123
- ## Key Features
124
-
125
- ### AutoCaps ![Stability][AUTOCAPS_EFF]
126
-
127
- - **Description:** Converts any text entered by the user to uppercase.
128
- - **Usage:**
129
- ```
130
- ~ ❯ autocaps "Your text here."
131
- ```
132
- - **Output:**
133
- ```
134
- YOUR TEXT HERE.
135
- ```
136
-
137
- ### AutoLower ![Stability][AUTOLOWER_EFF]
138
-
139
- - **Description:** Converts any text entered by the user to lowercase.
140
- - **Usage:**
141
- ```
142
- ~ ❯ autolower "Your text here."
143
- ```
144
- - **Output:**
145
- ```
146
- your text here.
147
- ```
148
-
149
- ### AutoPassword ![Stability][AUTOPASSWORD_EFF]
150
-
151
- - **Description:** Generates secure random passwords and encryption keys with customizable options.
152
- - **Usage:**
153
- ```
154
- ~ ❯ autopassword --length 16
155
- ~ ❯ autopassword --no-special --length 8
156
- ~ ❯ autopassword --gen-key
157
- ~ ❯ autopassword --password-key "your-password" --analyze
158
- ```
159
- - **Options:**
160
-
161
- - `--length, -l`: Set password length (default: 12)
162
- - `--no-uppercase, -u`: Exclude uppercase letters
163
- - `--no-numbers, -n`: Exclude numbers
164
- - `--no-special, -s`: Exclude special characters
165
- - `--min-special, -m`: Minimum number of special characters (default: 1)
166
- - `--min-numbers, -d`: Minimum number of numbers (default: 1)
167
- - `--analyze, -a`: Show password strength analysis
168
- - `--gen-key, -g`: Generate a random encryption key
169
- - `--password-key, -p`: Generate an encryption key from password
170
-
171
- ### AutoDownload ![Stability][AUTODOWNLOAD_EFF]
172
-
173
- - **Description:** Downloads videos from YouTube and files from other sources.
174
- - **Usage:**
175
-
176
- ```bash
177
- # Download YouTube video in MP4 format
178
- ~ ❯ autodownload https://youtube.com/watch?v=example
179
-
180
- # Download with specific format and quality
181
- ~ ❯ autodownload https://youtube.com/watch?v=example --format mp3
182
- ~ ❯ autodownload https://youtube.com/watch?v=example --quality 1080p
183
- ```
184
-
185
- - **Options:**
186
-
187
- - `--format, -f`: Choose output format (mp4 or mp3)
188
- - `--quality, -q`: Select video quality (best, 1440p, 1080p, 720p, 480p, 360p, 240p)
189
-
190
- - **Features:**
191
-
192
- - Automatic bot detection bypass
193
- - Mobile API integration for better Stability
194
- - Progress tracking with detailed status
195
- - Multiple quality options
196
- - MP3 audio extraction
197
- - Downloads to user's Downloads folder
198
- - Supports both YouTube and general file downloads
199
- - File existence checks with user prompts
200
-
201
- - **Setup Requirements:**
202
-
203
- - No special setup required
204
- - **Technical Requirements:**
205
- - Internet connection
206
- - Sufficient storage space
207
- - yt-dlp library (automatically installed)
208
- - FFmpeg (required for format conversion)
209
-
210
- > **Note:** The tool uses YouTube's mobile API for better compatibility and reliability.
211
-
212
- ### AutoIP ![Stability][AUTOIP_EFF]
213
-
214
- - **Description:** Displays network information including IP addresses, connectivity tests, speed tests, and more.
215
- - **Usage:**
216
-
217
- ```bash
218
- ~ ❯ autoip
219
- ~ ❯ autoip --speed
220
- ~ ❯ autoip --location
221
- ~ ❯ autoip --no-ip --test --speed
222
- ```
223
-
224
- - **Options:**
225
-
226
- - `--test, -t`: Run connectivity tests to popular services
227
- - `--speed, -s`: Run internet speed test
228
- - `--monitor, -m`: Monitor real-time network traffic
229
- - `--interval, -i`: Monitoring interval in seconds
230
- - `--ports, -p`: Check status of common ports
231
- - `--dns, -d`: Show DNS server configuration
232
- - `--location, -l`: Show IP geolocation information
233
- - `--no-ip, -n`: Hide IP addresses display
234
-
235
- - **Features:**
236
- - Local and public IP detection (IPv4 & IPv6)
237
- - Internet speed testing
238
- - Network connectivity checks
239
- - Monitoring interval (10 seconds)
240
- - Real-time traffic monitoring
241
- - Port scanning
242
- - DNS server information
243
- - IP geolocation
244
-
245
- ### AutoTranslate ![Stability][AUTOTRANSLATE_EFF]
246
-
247
- - **Description:** Translates text between languages with automatic source language detection.
248
- - **Usage:**
249
-
250
- ```
251
- ~ ❯ autotranslate "Bonjour le monde" --to en
252
- Hello world
253
-
254
- ~ ❯ autotranslate "Hello world" --to fr --copy
255
- Bonjour le monde
256
- // Result also copied to clipboard
257
-
258
- ~ ❯ autotranslate "こんにちは" --to en --detect
259
- [Detected: ja] Hello
260
-
261
- ~ ❯ autotranslate --list-languages
262
- // Shows all supported languages
263
- ```
264
-
265
- - **Options:**
266
- - `--to`: Target language code (default: en)
267
- - `--from`: Source language code (default: auto-detect)
268
- - `--copy`: Copy translation to clipboard
269
- - `--detect`: Show detected source language
270
- - `--list-languages`: Show all supported language codes and names
271
- - `--output, -o`: Save translation to file
272
-
273
- ### AutoSpell (unreleased) ![Stability][AUTOSPELL_EFF]
274
-
275
- - **Description:** Checks and corrects spelling in text with multi-language support.
276
- - **Usage:**
277
- ```
278
- ~ ❯ autospell "Your text with misspellings"
279
- ~ ❯ autospell --lang fr "Votre texte avec des fautes"
280
- ~ ❯ autospell --fix "Text to autocorrect"
281
- ```
282
- - **Options:**
283
- - `--lang, -l`: Language code (default: auto)
284
- - `--fix, -f`: Auto-fix text and copy to clipboard
285
- - `--copy, -c`: Copy result to clipboard
286
- - `--list-languages`: Show supported languages
287
- - `--json, -j`: Output results as JSON
288
- - `--ignore, -i`: Error types to ignore (spelling/grammar/style/punctuation)
289
- - `--interactive, -n`: Interactive mode - confirm each correction
290
- - `--output, -o`: Save corrections to file
291
-
292
- ### Test Suite (DEVELOPMENT ONLY)
293
-
294
- - **Description:** Run the test suite for Open-AutoTools
295
- - **Usage:**
296
- ```bash
297
- ~ ❯ autotools test
298
- ```
299
- - **Options:**
300
-
301
- - `--unit, -u`: Run only unit tests
302
- - `--integration, -i`: Run only integration tests
303
- - `--no-cov`: Disable coverage report
304
- - `--html`: Generate HTML coverage report
305
- - `--module, -m`: Test specific module (e.g., autocaps, autolower)
306
-
307
- ## License
308
-
309
- This project is licensed under the MIT License. For more details, see the [LICENSE](LICENSE) file.
310
-
311
- [AUTOCAPS_EFF]: https://img.shields.io/badge/Stability-99%25-success
312
- [AUTOLOWER_EFF]: https://img.shields.io/badge/Stability-99%25-success
313
- [AUTOPASSWORD_EFF]: https://img.shields.io/badge/Stability-90%25-success
314
- [AUTOTRANSLATE_EFF]: https://img.shields.io/badge/Stability-25%25-red
315
- [AUTOSPELL_EFF]: https://img.shields.io/badge/Stability-25%25-red
316
- [AUTODOWNLOAD_EFF]: https://img.shields.io/badge/Stability-75%25-yellow
317
- [AUTOIP_EFF]: https://img.shields.io/badge/Stability-95%25-success
@@ -1,44 +0,0 @@
1
- autotools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- autotools/cli.py,sha256=WBFH0NZwUW3QpoB_dOW-Ukpul_klc8PJSptfALewU04,3538
3
- autotools/autocaps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- autotools/autocaps/commands.py,sha256=YIoSRTjfwpupbUl5r4P6LH6PXrTBcehf9gZwOOKxv9I,477
5
- autotools/autocaps/core.py,sha256=NnOacVp0kMoq__KHWi5UMcApSuq6Iyo5bFxN40dRw7U,253
6
- autotools/autocaps/tests/__init__.py,sha256=CckydfM7SZdXtW3pLgAeRdrC60sovNx_v59nyFvslFo,23
7
- autotools/autocaps/tests/test_autocaps_core.py,sha256=fzpci_sK7L1fSf_IJ1paJ__bmnHwC9OUOD7ftd3w07c,1672
8
- autotools/autocaps/tests/test_autocaps_integration.py,sha256=Qe2hzVEvzf0-INp14oTTrHi0RiRDCE2fxo9abVNcd_E,1435
9
- autotools/autodownload/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
- autotools/autodownload/commands.py,sha256=WBG4o5716zQ63t23k-qJLNv41L58RnL2XTvNl_TsK-w,1442
11
- autotools/autodownload/core.py,sha256=h_PoNmGjmKS8owe8rR0Lkm5FsSMPKB9AQ6RjMLBEqtc,16919
12
- autotools/autoip/__init__.py,sha256=T_5hz9G4reFPXDucdzRoMFPYlAKwTPt9TejOpkRPgn0,23
13
- autotools/autoip/commands.py,sha256=c4s22yb7aharRAwOmD37Kgbj6rm05XNBtCVyxU7rc7M,1425
14
- autotools/autoip/core.py,sha256=Q3dzLstZQruwYkSbCSlKQNmKVGCyNpo1DGst5VFtHLU,10123
15
- autotools/autoip/tests/__init__.py,sha256=CckydfM7SZdXtW3pLgAeRdrC60sovNx_v59nyFvslFo,23
16
- autotools/autoip/tests/test_autoip_core.py,sha256=Q8865qqhopcGBzS4mIlDlEzxu-mTIbZxpgJyzIyuQXc,2153
17
- autotools/autoip/tests/test_autoip_integration.py,sha256=-vS2gnY8ZfT-tfY2FRbUtTzY0lcIBtVZHbPbWsKyueo,2746
18
- autotools/autolower/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
- autotools/autolower/commands.py,sha256=Od_5hWGjFr8CLApmtMnoM5QhNRe1ttWy2qLi7S9hTts,480
20
- autotools/autolower/core.py,sha256=vjM2ognA3tDCbv10a9vta9WPuAiqTPjOXZ1JHL_b-nk,260
21
- autotools/autolower/tests/__init__.py,sha256=CckydfM7SZdXtW3pLgAeRdrC60sovNx_v59nyFvslFo,23
22
- autotools/autolower/tests/test_autolower_core.py,sha256=ChkS3qZgXz75iLfC9EXVH_kMd-sjaxpRKFjaxKoBnxo,1694
23
- autotools/autolower/tests/test_autolower_integration.py,sha256=M2yN1Ym7kGulys62-IwKq-uWn7CFvI3sCnoo-e3CTaA,1446
24
- autotools/autopassword/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
25
- autotools/autopassword/commands.py,sha256=lyNM833UXCcafqnBa0ojxpdgPPEUadO-t2HrAP4UIaM,3137
26
- autotools/autopassword/core.py,sha256=3aeXJaF7yYvHAH0VkVxGxaKawxgZDlSoI5lUcDCu264,3193
27
- autotools/autospell/__init__.py,sha256=jkpkiE7pksBgllXKfkNpYYvqtlm8vN0h4kXnQOqcb_U,60
28
- autotools/autospell/commands.py,sha256=SG_kP9xAOj7H2jnXXq7auwRALt5ml6r0oz8dKnE5z04,5956
29
- autotools/autospell/core.py,sha256=WPvi9Xs6uF3dte_g2I9oHfTjCV1-NasrJElLP9bbC8U,8103
30
- autotools/autotranslate/__init__.py,sha256=6BxuZqhyQhfsZ5x7DkB1BAEpC08GT_5l5bl0AY_eLpU,64
31
- autotools/autotranslate/commands.py,sha256=6M1D27mrk41uWTLgwGeO-HTUtq0iiHFrptIb1BM7A-s,1794
32
- autotools/autotranslate/core.py,sha256=H2f90IWr_jNGiJD3XAv-20i5sRGM-VDYWrYt65EDEkI,1836
33
- autotools/test/__init__.py,sha256=_xWAfk2kKSboEOW9fVUlmNfVHAx-qGYWFb8dxCz8g1w,48
34
- autotools/test/commands.py,sha256=0IMW_tnbVuyVIOOhWwjJ7SclD8l0m0JobTNc6QHx0-s,4643
35
- autotools/utils/__init__.py,sha256=2uAirI6ZbOwSFPSg5wuEjA0gMWf1XBJ4yP_WcGeND7M,183
36
- autotools/utils/loading.py,sha256=cRh8rvNLT4B2aVgWq7flg8bNpnp1XlNBV3_cvxjfm8E,439
37
- autotools/utils/updates.py,sha256=ZGS8pAVxvy5ORuey_zrBWdA0_hKNmEcwzJ-6c22x4Yo,1140
38
- autotools/utils/version.py,sha256=sHwkZ8MNTKQdTntV1B-8QInbMnMtR7Xr3DAY5-wf5-0,3027
39
- Open_AutoTools-0.0.3rc5.dist-info/LICENSE,sha256=SpbSRxNWos2l0-geleCa6d0L9G_bOsZRkY4rB9OduJ0,1069
40
- Open_AutoTools-0.0.3rc5.dist-info/METADATA,sha256=J92dDLDCnxrBMvTwP6XstY3ps97jSK_QlD0bQOlQLYk,10506
41
- Open_AutoTools-0.0.3rc5.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
42
- Open_AutoTools-0.0.3rc5.dist-info/entry_points.txt,sha256=QLIsUk6vHo0wAYDk1K74kIuYunJMwWe2xbwQhJXLoKo,312
43
- Open_AutoTools-0.0.3rc5.dist-info/top_level.txt,sha256=x5ZRvdQw7DQnVmR0YDqVSAuuS94KTHDmk6uIeW7YOPw,10
44
- Open_AutoTools-0.0.3rc5.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- # INIT FILE FOR TESTS
@@ -1,45 +0,0 @@
1
- import pytest
2
- from autotools.autocaps.core import autocaps_transform
3
-
4
- # UNIT TESTS
5
-
6
- # TEST FOR BASIC STRING TRANSFORMATION
7
- def test_autocaps_transform_basic():
8
- """TEST BASIC STRING TRANSFORMATION"""
9
- assert autocaps_transform("hello") == "HELLO"
10
- assert autocaps_transform("Hello World") == "HELLO WORLD"
11
- assert autocaps_transform("123") == "123"
12
-
13
- # TEST FOR EMPTY STRING
14
- def test_autocaps_transform_empty():
15
- """TEST EMPTY STRING"""
16
- assert autocaps_transform("") == ""
17
-
18
- # TEST FOR SPECIAL CHARACTERS
19
- def test_autocaps_transform_special_chars():
20
- """TEST STRING WITH SPECIAL CHARACTERS"""
21
- assert autocaps_transform("hello@world.com") == "HELLO@WORLD.COM"
22
- assert autocaps_transform("hello-world!") == "HELLO-WORLD!"
23
-
24
- # TEST FOR MIXED CASE STRING
25
- def test_autocaps_transform_mixed_case():
26
- """TEST MIXED CASE STRING"""
27
- assert autocaps_transform("HeLLo WoRLD") == "HELLO WORLD"
28
-
29
- # TEST FOR WHITESPACE
30
- def test_autocaps_transform_whitespace():
31
- """TEST STRING WITH WHITESPACE"""
32
- assert autocaps_transform(" hello world ") == " HELLO WORLD "
33
- assert autocaps_transform("\thello\nworld") == "\tHELLO\nWORLD"
34
-
35
- # TEST FOR NUMBERS
36
- def test_autocaps_transform_numbers():
37
- """TEST STRING WITH NUMBERS"""
38
- assert autocaps_transform("hello123world") == "HELLO123WORLD"
39
- assert autocaps_transform("123hello456world789") == "123HELLO456WORLD789"
40
-
41
- # TEST FOR UNICODE CHARACTERS
42
- def test_autocaps_transform_unicode():
43
- """TEST UNICODE CHARACTERS"""
44
- assert autocaps_transform("héllo wörld") == "HÉLLO WÖRLD"
45
- assert autocaps_transform("こんにちは") == "こんにちは" # JAPANESE SHOULD REMAIN UNCHANGED
@@ -1,46 +0,0 @@
1
- import pytest
2
- from click.testing import CliRunner
3
- from autotools.cli import autocaps
4
-
5
- # INTEGRATION TESTS
6
-
7
- # TEST FOR BASIC CLI FUNCTIONALITY
8
- def test_autocaps_cli_basic():
9
- """TEST BASIC CLI FUNCTIONALITY"""
10
- runner = CliRunner()
11
- result = runner.invoke(autocaps, ["hello world"])
12
- assert result.exit_code == 0
13
- assert "HELLO WORLD" in result.output
14
-
15
- # TEST FOR EMPTY INPUT
16
- def test_autocaps_cli_empty():
17
- """TEST CLI WITH EMPTY INPUT"""
18
- runner = CliRunner()
19
- result = runner.invoke(autocaps, [""])
20
- assert result.exit_code == 0
21
- assert "" in result.output
22
-
23
- # TEST FOR SPECIAL CHARACTERS
24
- def test_autocaps_cli_special_chars():
25
- """TEST CLI WITH SPECIAL CHARACTERS"""
26
- runner = CliRunner()
27
- result = runner.invoke(autocaps, ["hello@world.com"])
28
- assert result.exit_code == 0
29
- assert "HELLO@WORLD.COM" in result.output
30
-
31
- # TEST FOR UNICODE CHARACTERS
32
- def test_autocaps_cli_unicode():
33
- """TEST CLI WITH UNICODE CHARACTERS"""
34
- runner = CliRunner()
35
- result = runner.invoke(autocaps, ["héllo wörld"])
36
- assert result.exit_code == 0
37
- assert "HÉLLO WÖRLD" in result.output
38
-
39
- # TEST FOR MULTIPLE ARGUMENTS
40
- def test_autocaps_cli_multiple_args():
41
- """TEST CLI WITH MULTIPLE ARGUMENTS"""
42
- runner = CliRunner()
43
- result = runner.invoke(autocaps, ["hello", "world"])
44
- assert result.exit_code == 0
45
- # SHOULD ONLY PROCESS FIRST ARGUMENT
46
- assert "HELLO" in result.output
File without changes
@@ -1,38 +0,0 @@
1
- import click
2
- import sys
3
- from .core import download_youtube_video, download_file, validate_youtube_url
4
- from ..utils.loading import LoadingAnimation
5
- from ..utils.updates import check_for_updates
6
-
7
- @click.command()
8
- @click.argument('url')
9
- @click.option('--format', '-f', type=click.Choice(['mp4', 'mp3'], case_sensitive=False),
10
- default='mp4', help='Output file format (mp4 for video, mp3 for audio)')
11
- @click.option('--quality', '-q', type=click.Choice(['best', '2160p', '1440p', '1080p', '720p', '480p', '360p', '240p'],
12
- case_sensitive=False), default='best', help='Video quality (mp4 only)')
13
- def autodownload(url, format, quality):
14
- """Download videos from YouTube or files from any URL.
15
-
16
- Supports YouTube video download with quality selection and format conversion (mp4/mp3).
17
-
18
- For non-YouTube URLs, downloads the file directly."""
19
-
20
- loading = LoadingAnimation()
21
-
22
- if "youtube.com" in url or "youtu.be" in url:
23
- with loading:
24
- if not validate_youtube_url(url):
25
- click.echo("Invalid YouTube URL", err=True)
26
- sys.exit(1)
27
-
28
- if not download_youtube_video(url, format, quality):
29
- sys.exit(1)
30
- else:
31
- with loading:
32
- if not download_file(url):
33
- sys.exit(1)
34
-
35
- # UPDATE CHECK AT THE END
36
- update_msg = check_for_updates()
37
- if update_msg:
38
- click.echo(update_msg)