[+] Declare data type
This commit is contained in:
+20
-1
@@ -1,5 +1,6 @@
|
|||||||
import asyncio
|
import asyncio
|
||||||
import os
|
import os
|
||||||
|
from typing import NamedTuple
|
||||||
|
|
||||||
import telnetlib3
|
import telnetlib3
|
||||||
from hyfetch.color_util import RGB
|
from hyfetch.color_util import RGB
|
||||||
@@ -27,8 +28,24 @@ COLORS = {RGB.from_hex(v) for v in {
|
|||||||
}}
|
}}
|
||||||
|
|
||||||
|
|
||||||
async def shell(reader: TelnetReaderUnicode, writer: TelnetWriterUnicode):
|
# Snow fall data structure
|
||||||
|
class Snow(NamedTuple):
|
||||||
|
x: int
|
||||||
|
y: int
|
||||||
|
color: RGB
|
||||||
|
|
||||||
|
|
||||||
|
async def shell(reader: TelnetReaderUnicode, writer: TelnetWriterUnicode):
|
||||||
|
"""
|
||||||
|
The main shell function.
|
||||||
|
"""
|
||||||
|
height: int
|
||||||
|
width: int
|
||||||
|
x: int
|
||||||
|
y: int
|
||||||
|
snow: list[Snow]
|
||||||
|
|
||||||
|
# Get the size of the terminal
|
||||||
async def get_size() -> tuple[int, int]:
|
async def get_size() -> tuple[int, int]:
|
||||||
# Get the size of the terminal
|
# Get the size of the terminal
|
||||||
writer.write('\x1b[18t')
|
writer.write('\x1b[18t')
|
||||||
@@ -41,6 +58,7 @@ async def shell(reader: TelnetReaderUnicode, writer: TelnetWriterUnicode):
|
|||||||
|
|
||||||
return height, width
|
return height, width
|
||||||
|
|
||||||
|
# Print ascii art
|
||||||
def print_ascii(asc: str, x: int, y: int):
|
def print_ascii(asc: str, x: int, y: int):
|
||||||
asc = asc.strip('\n')
|
asc = asc.strip('\n')
|
||||||
# Write ascii line by line
|
# Write ascii line by line
|
||||||
@@ -48,6 +66,7 @@ async def shell(reader: TelnetReaderUnicode, writer: TelnetWriterUnicode):
|
|||||||
writer.write(f'\x1b[{y + i};{x}H')
|
writer.write(f'\x1b[{y + i};{x}H')
|
||||||
writer.write(line)
|
writer.write(line)
|
||||||
|
|
||||||
|
# Clear the screen
|
||||||
def clear():
|
def clear():
|
||||||
# Clear the screen
|
# Clear the screen
|
||||||
writer.write('\x1b[2J')
|
writer.write('\x1b[2J')
|
||||||
|
|||||||
Reference in New Issue
Block a user