ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° hotconsole ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π²Π°ΡΠΈ ΡΠΊΡΠΈΠΏΡΡ Π½Π° Windows Π² Π΄Π²ΡΡ ΡΠ΅ΠΆΠΈΠΌΠ°Ρ : ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π³ΠΎΡΡΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²Π°ΡΠΈ ΡΠΊΡΠΈΠΏΡΡ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΡΠ΄ΠΎΠ±Π½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ Π΄Π»Ρ ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΎΠ΄ΠΈΠ½ΠΎΡΠΊΡ ΠΈΠ»ΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ - Π±Π΅Π· Π²ΡΡΠΊΠΈΡ ΡΡΠΈΠ»ΠΈΠΉ Ρ Π²Π°ΡΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½Ρ.
Hotconsole Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ , ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ (Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ), Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ΄ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².
ΠΠΎΡΡΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ, ΠΏΠΎΠ²Π΅ΡΡ Π²ΡΠ΅Ρ ΠΎΠΊΠΎΠ½, Π° ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ - ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»Ρ. ΠΡΠΈΠΌΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ examples.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΡΠ΅Π±ΡΠ΅Ρ python 3.10 ΠΈΠ»ΠΈ Π²ΡΡΠ΅ (Π΅ΡΠ»ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΠ΅ Π² ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π·, ΡΠΎΠ³Π»Π°ΠΉΡΠ΅ΡΡ Π½Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² path). ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π²Π΅ΡΡΠΈΡ python --version, Π΄Π΅Π»Π°Π΅ΠΌ python -m ensurepip ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
python -m pip install hotconsole
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ - Π² ΠΏΠ°ΠΏΠΊΠ΅ ΡΠΎ ΡΠΊΡΠΈΠΏΡΠΎΠΌ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π±Π°ΡΠ½ΠΈΠΊ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ hotconsole. ΠΠ°ΡΠ½ΠΈΠΊ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π²ΡΡΡΠ½ΡΡ. Π Π΅ΡΠ΅, ΡΡΠΎΠ±Ρ Π²Π°ΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³Π»ΠΈ Π»Π΅Π³ΠΊΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΡΡΠ½ΡΡΡ Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΡΠ°ΠΌΠΈ ΠΈ Π²ΡΠ³ΡΡΠ·ΠΈΡΠ΅ Π² ΡΠ°ΠΉΠ» requirements.txt.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ main.py - Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π΄Π»Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ»ΡΠΆΠ±Ρ
from hotconsole.hotconsole import Command, Runner, Hotkey
from hotconsole.helpers import OSHelper
TurnService = Command("turn", "ΠΡΠΊΠ»ΡΡΠΈΡΡ ΡΠ»ΡΠΆΠ±Ρ", labmda_: OSHelper.try_stop_service("SERVICE"))
def main():
Runner().run([Hotkey("alt+t", TurnService, None)])
Π§ΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ main.py:
- ΠΠΎΡΠ²ΠΈΡΡΡ ΠΎΠΊΠΎΡΠΊΠΎ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ Π³ΠΎΡΡΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ
- ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΎΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΈΠ·-ΠΏΠΎΠ΄ Π°Π΄ΠΌΠΈΠ½Π°
- ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ alt+t ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ»ΡΠΆΠ±Π° SERVICE
- Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΆΠ°ΡΡ alt+q, ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ, Π½Π°ΠΏΠΈΡΠ°ΡΡ turn - ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΡ ΠΆΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ
- Π£ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ data.json Π² ΠΏΠ°ΠΏΠΊΠ΅ Ρ main.py
ΠΠΎΠ³Π΄Π° Ρ Π½Π°Ρ ΠΏΠ°ΡΠΎΡΠΊΠ° ΡΠΊΡΠΈΠΏΡΠΎΠ² - ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ Π±Π΅Π· ΠΎΠΏΡΠΈΠΉ. Π’ΠΎΠ³Π΄Π° ΠΏΠΎ Π½Π°ΠΆΠ°ΡΠΈΡ Π³ΠΎΡΡΡΠ΅ΠΉ ΠΊΠ»Π°Π²ΠΈΡΠΈ ΡΡΠ°Π·Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½ΡΠΆΠ½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅.
Π‘ ΡΡΠΈΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠΌ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° ΡΠΊΡΠΈΠΏΡΠΎΠ² ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ - ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΠ½ΠΈ ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅ΡΠ½ΠΎ ΡΠ²ΡΠ·Π°Π½Ρ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΎΠ΄Π½ΠΎΡΠΈΠΏΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡ / ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅ Π΄Π΅ΡΡΡΠΊΠΈ Π³ΠΎΡΡΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅ - ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Ρ ΠΎΠΏΡΠΈΡΠΌΠΈ. Π£ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΎΡΠ½ΡΡΡΡΡ Π½ΠΎΠΌΠ΅Ρ ΠΎΠΏΡΠΈΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡΡΡ Π² Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ ΠΎΠΏΡΠΈΠΈ ["ΠΠΊΠ»ΡΡΠΈΡΡ", "ΠΡΠΊΠ»ΡΡΠΈΡΡ", "ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ"]
Π’ΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
def turn_service(option_number):
match option_number:
case 1:
OSHelper.try_stop_service("SERVICE")
case 2:
OSHelper.try_start_service("SERVICE")
case 3:
OSHelper.try_rerun_service("SERVICE")
Π ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ°ΠΊ:
TurnService = Command("turn", "ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ»ΡΠΆΠ±Ρ", turn_service, ["ΠΠΊΠ»ΡΡΠΈΡΡ", "ΠΡΠΊΠ»ΡΡΠΈΡΡ", "ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ"])
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅:
- ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ alt+t Π² Π»ΡΠ±ΠΎΠΌ ΠΎΠΊΠ½Π΅ - ΠΏΡΠΎΠΈΡΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΊΠ½ΠΎ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ
- Π ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ²: 1. ΠΡΠΊΠ»ΡΡΠΈΡΡ, 2. ΠΠΊΠ»ΡΡΠΈΡΡ, 3. ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ
- ΠΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅
- ΠΡΠ»ΠΈ Π² Π³ΠΎΡΡΡΠ΅ΠΉ ΠΊΠ»Π°Π²ΠΈΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ Π²ΠΌΠ΅ΡΡΠΎ None, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 1 - ΡΠ»ΡΠΆΠ±Π° ΡΡΠ°Π·Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π±Π΅Π· Π²ΠΎΠΏΡΠΎΡΠΎΠ² Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ
- ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΏΠΎ alt+q ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, turn 3 - ΡΠ»ΡΠΆΠ±Π° ΡΡΠ°Π·Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡΡ
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ option_message - Π²ΠΎΠΏΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΡΠΎΡΠ½ΡΡΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½ΠΎΠΌΠ΅Ρ ΠΎΠΏΡΠΈΠΈ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎ ΡΡΠ°Π·Π° "ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π½ΠΎΠΌΠ΅Ρ Π²Π°ΡΠΈΠ°Π½ΡΠ°"
ΠΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ main.py - ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ data.json Ρ Π²Π΅ΡΡΠΈΠ΅ΠΉ = 1.
ΠΠΎΠ½ΡΠΈΠ³ ΠΏΠΎΠ»Π΅Π·Π΅Π½:
- ΠΠ»Ρ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠ»ΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½ΡΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π² ΡΡΠΎΡ ΡΠ°ΠΉΠ»
- ΠΠ»Ρ ΠΊΠ°ΡΡΠΎΠΌΠΈΠ·Π°ΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³Π΅ Π΅ΡΡΡ ΠΏΠΎΠ»Π΅ console_mode. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ Π² True ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ Π±Π΅Π· Π³ΠΎΡΡΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ.
- ΠΠ»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ. ΠΡΠ»ΠΈ Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅Π°ΠΊΡΡΠ°Π»ΡΠ½Π° (ΡΠ°ΡΡ ΠΎΠ΄ΠΈΡΡΡ Ρ Π²Π΅ΡΡΠΈΠ΅ΠΉ Π² ΡΠ°ΠΉΠ»Π΅ main.py), Π² ΠΊΠΎΠ½ΡΠΈΠ³ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΠΎΠ»Ρ. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠ°Π²ΠΈΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ.
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π² Runner:
config = Config (version=22, consoleMode=False, refuseStartup=False, isAnything = False)
ΠΠΎΠΏΡΡΡΠΈΠΌ, Π² 22 Π²Π΅ΡΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ ΠΏΠΎΠ»Π΅ "isSomething" Π½Π° "isAnything". Π§ΡΠΎΠ±Ρ Π½Π΅ ΠΏΠΎΡΠ΅ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅ Π½Π°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ:
def migration_to_22():
config = OSHelper.extract_whole_json(CONFIG_PATH)
if "consoleModeIsDefault" in config.keys():
config["isAnything"] = config["isSomething"]
OSHelper.write_file(CONFIG_PATH, json.dumps(config, indent=4))
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Runner Π² Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
Hotstring - ΡΡΠΎ ΠΊΠ°ΠΊ Π³ΠΎΡΡΡΠ°Ρ ΠΊΠ»Π°Π²ΠΈΡΠ°, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΡΠΎΠΊ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ Hotstring("githot", "ΠΠΈΡΡ Π°Π± hotconsole", "https://github.com/Vecheren/hotconsole") Π ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² ΡΠ°ΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² ΠΌΠ΅ΡΠΎΠ΄ run.
Π Π°Π±ΠΎΡΠ°Π΅Ρ ΡΡΠΎ ΡΠ°ΠΊ: ΠΏΠΈΡΠ΅ΠΌ githot, Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΏΡΠΎΠ±Π΅Π» - Π²ΠΌΠ΅ΡΡΠΎ githot Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΡΡΠ»ΠΊΠ°.
Π hotconsole.helpers ΡΠ°ΠΊΠΆΠ΅ Π΅ΡΡΡ Ρ Π΅Π»ΠΏΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡΡ ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
- DBHelper - Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΠ SQLite.
- OSHelper - Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π²ΠΈΠ½Π΄ΠΎΠΉ.
- RequestsHelper - Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ Π²Π½Π΅ΡΠ½Π΅ΠΌΡ API.
- InnGenerator - Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΠΠ
Hotconsole ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Windows, Π½Π° Π»ΠΈΠ½ΡΠΊΡΠ΅ ΠΈ ΠΌΠ°ΠΊΠ΅ Π½Π΅ Π·Π°ΠΏΡΡΡΠΈΡΡΡ.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡΠΎΠ²Π΅ΡΡΠ»Π°ΡΡ Π½Π° python 3.10, 3.11 ΠΈ 3.12. ΠΠ΅ΡΡΠΈΡ Π½ΠΈΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ ΠΈΠ·-Π·Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ pattern-matching, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ Π·Π°Π²Π΅Π·Π»ΠΈ Π² ΠΏΠΈΡΠΎΠ½.
ΠΠ°ΠΏΡΡΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ hotconsole ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ - ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ. ΠΠΎ Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΡΠ°ΠΊΠ°Ρ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ, Π½Π°Π΄ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΠΈΡΡ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°Π»ΠΈΡΡ Π³ΠΎΡΡΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π² ΡΠ°Π·Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ (ΠΈΠ½Π°ΡΠ΅ Π±ΡΠ΄ΡΡ ΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΡΠ°Π·Ρ ΠΎΠ±Π΅).
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΈΠ·-ΠΏΠΎΠ΄ Π°Π΄ΠΌΠΈΠ½Π°, Π΅ΡΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΡ if name == "main": OSHelper.rerun_as_admin()
ΠΠΎ Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ UAC, ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°Π²Π°ΡΡ Π²Π°Ρ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌΠΈ, Π·Π°ΠΏΡΡΡΠΈΡΡ Π»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΊΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ "ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ".