first commit
This commit is contained in:
commit
056f15d647
|
@ -0,0 +1,76 @@
|
|||
@echo off
|
||||
setlocal
|
||||
set distro=fspecs
|
||||
cd /d %~dp0
|
||||
|
||||
:arch
|
||||
echo 1) 32-bit (recommended)
|
||||
echo 2) 64-bit
|
||||
set /p arch=
|
||||
echo.
|
||||
if not "%arch%" == "1" if not "%arch%" == "2" goto arch
|
||||
|
||||
if exist "%cd%\dist" (
|
||||
echo deleting old dist...
|
||||
rmdir /s /q "%cd%\dist"
|
||||
if not "%errorlevel%" == "0" echo something went wrong while deleting old dist & goto error
|
||||
)
|
||||
|
||||
if not exist "%cd%\python34" (
|
||||
echo.
|
||||
echo downloading python 3.4.4...
|
||||
if "%arch%" == "1" curl https://www.python.org/ftp/python/3.4.4/python-3.4.4.msi -o python-3.4.4.msi
|
||||
if "%arch%" == "2" curl https://www.python.org/ftp/python/3.4.4/python-3.4.4.amd64.msi -o python-3.4.4.msi
|
||||
if not "%errorlevel%" == "0" echo something went wrong while downloading python & goto error
|
||||
|
||||
echo.
|
||||
echo extracting python 3.4.4...
|
||||
start /wait msiexec /a "%cd%\python-3.4.4.msi" /qb targetdir="%cd%\python34"
|
||||
if not "%errorlevel%" == "0" echo something went wrong while extracting python & goto error
|
||||
del "%cd%\python-3.4.4.msi"
|
||||
)
|
||||
|
||||
REM set path
|
||||
set path=%cd%\python34;%path%
|
||||
|
||||
REM check version
|
||||
python.exe --version | find /i "3.4.4" >nul
|
||||
if not "%errorlevel%" == "0" echo something went wrong while setting the path (wrong version) & goto error
|
||||
|
||||
echo.
|
||||
echo installing prerequisites...
|
||||
python.exe -c "import ensurepip;ensurepip.bootstrap()"
|
||||
if not "%errorlevel%" == "0" echo something went wrong while installing a prerequisite & goto error
|
||||
python.exe -m pip install "PyInstaller==3.4"
|
||||
if not "%errorlevel%" == "0" echo something went wrong while installing a prerequisite & goto error
|
||||
python.exe -m pip install "colorama==0.3.5"
|
||||
if not "%errorlevel%" == "0" echo something went wrong while installing a prerequisite & goto error
|
||||
|
||||
echo.
|
||||
echo compiling script...
|
||||
python.exe -m PyInstaller "%cd%\%distro%.py" --onefile
|
||||
if not "%errorlevel%" == "0" echo something went wrong while compiling a script & goto error
|
||||
|
||||
echo.
|
||||
echo copying config files...
|
||||
copy "%cd%\%distro%.ini" "%cd%\dist"
|
||||
copy "%cd%\%distro%.ascii-*" "%cd%\dist"
|
||||
|
||||
echo.
|
||||
echo cleaning up...
|
||||
rmdir /s /q "%cd%\build"
|
||||
rmdir /s /q "%cd%\__pycache__"
|
||||
del %distro%.spec
|
||||
|
||||
REM done
|
||||
echo.
|
||||
echo done.
|
||||
echo you can find the EXEs in dist\
|
||||
pause
|
||||
goto exit
|
||||
|
||||
:error
|
||||
pause
|
||||
goto exit
|
||||
|
||||
:exit
|
|
@ -0,0 +1,9 @@
|
|||
AAAAAAAAAAAAAAAAAAAAAAAA BBB
|
||||
BBBBBBBBBBAABBBBAACCCCAA CCC
|
||||
BBBBBBBBBBAABBBBAACCCCAA
|
||||
BBBBBBBBBBAABBBBAACCCCAA GGG
|
||||
AAAAAAAAAAAAAAAAAAAAAAAA DDD
|
||||
GGGGGGGGGGAAGGGGAADDDDAA BBB
|
||||
GGGGGGGGGGAAGGGGAADDDDAA CCC
|
||||
GGGGGGGGGGAAGGGGAADDDDAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAA GGG
|
|
@ -0,0 +1,9 @@
|
|||
************************
|
||||
##########**####**####**
|
||||
##########**####**####**
|
||||
##########**####**####**
|
||||
************************
|
||||
##########**####**####**
|
||||
##########**####**####**
|
||||
##########**####**####**
|
||||
************************
|
|
@ -0,0 +1,2 @@
|
|||
[default]
|
||||
msg = (;ΦwΦ)_┌─ ))Windows 10'((
|
|
@ -0,0 +1,225 @@
|
|||
# init
|
||||
print("LOADING...",end="\r")
|
||||
import sys
|
||||
oldexcepthook = sys.excepthook
|
||||
def newexcepthook(type,value,traceback):
|
||||
oldexcepthook(type,value,traceback)
|
||||
input("Press ENTER to quit.")
|
||||
sys.excepthook = newexcepthook
|
||||
|
||||
import os
|
||||
import subprocess
|
||||
import colorama
|
||||
import shutil
|
||||
import configparser
|
||||
|
||||
p = os.path.join
|
||||
s = False
|
||||
if getattr(sys, 'frozen', False) and hasattr(sys, '_MEIPASS'):
|
||||
s = os.path.realpath(sys.executable)
|
||||
else:
|
||||
s = os.path.realpath(__file__)
|
||||
sp = os.path.dirname(s)
|
||||
|
||||
# script
|
||||
colorama.init()
|
||||
x,y = shutil.get_terminal_size((80, 20))
|
||||
x = x - 1
|
||||
|
||||
pathConfig = p(sp,os.path.splitext(os.path.basename(s))[0] + ".ini")
|
||||
pathAsciiLuma = p(sp,os.path.splitext(os.path.basename(s))[0] + ".ascii-luma.txt")
|
||||
pathAsciiChroma = p(sp,os.path.splitext(os.path.basename(s))[0] + ".ascii-chroma.txt")
|
||||
|
||||
config = configparser.ConfigParser()
|
||||
config["default"] = {
|
||||
"msg": "???"
|
||||
}
|
||||
config.read(pathConfig,encoding="utf-8")
|
||||
|
||||
asciiLuma = open(pathAsciiLuma,"r",encoding="utf-8").read()
|
||||
asciiChroma = open(pathAsciiChroma,"r",encoding="utf-8").read()
|
||||
|
||||
colors = {
|
||||
"a":colorama.Fore.BLACK,
|
||||
"b":colorama.Fore.RED,
|
||||
"c":colorama.Fore.GREEN,
|
||||
"d":colorama.Fore.YELLOW,
|
||||
"e":colorama.Fore.BLUE,
|
||||
"f":colorama.Fore.MAGENTA,
|
||||
"g":colorama.Fore.CYAN,
|
||||
"h":colorama.Fore.WHITE,
|
||||
"i":colorama.Fore.RESET
|
||||
}
|
||||
|
||||
def getInfo(part,defn,index = 0):
|
||||
try:
|
||||
part = part.split(" ")
|
||||
out = subprocess.check_output(["wmic"] +part+ ["get",defn],stderr=subprocess.DEVNULL).decode("utf-8").split("\n")[1 + index]
|
||||
except:
|
||||
return False
|
||||
|
||||
out = out.replace("\r","")
|
||||
|
||||
try:
|
||||
while out[0] == " " or out[0] == " ":
|
||||
out = out[1:]
|
||||
while out[-1] == " " or out[-1] == " ":
|
||||
out = out[:-1]
|
||||
except:
|
||||
return False
|
||||
|
||||
return out
|
||||
|
||||
def qi(part,defn,index = 0):
|
||||
info = ""
|
||||
try:
|
||||
info = getInfo(part,defn,index)
|
||||
except:
|
||||
info = "???"
|
||||
if info == False: info = "???"
|
||||
return info
|
||||
|
||||
def getSpecs():
|
||||
info = []
|
||||
|
||||
#OPERATING SYSTEM
|
||||
info.append("OPS")
|
||||
try:
|
||||
info.append(subprocess.check_output(["ver"],shell=True).decode("utf-8").replace("\n","").replace("\r",""))
|
||||
except:
|
||||
info.append("???")
|
||||
|
||||
#HOST
|
||||
info.append("HST")
|
||||
try:
|
||||
info.append(os.environ["USERNAME"] +"@"+ os.environ["USERDOMAIN"])
|
||||
except:
|
||||
info.append("???")
|
||||
info.append("");info.append("")
|
||||
|
||||
#BOARD
|
||||
info.append("BRD")
|
||||
info.append(qi("baseboard","manufacturer") + " " + qi("baseboard","product"))
|
||||
|
||||
#CPU
|
||||
info.append("CPU")
|
||||
info.append(qi("cpu","name"))
|
||||
|
||||
#MEMORY
|
||||
info.append("MEM")
|
||||
memCap = 0
|
||||
index = 0
|
||||
while True:
|
||||
minfo = qi("memorychip","capacity",index)
|
||||
if minfo == "???": break
|
||||
memCap = memCap + (int(minfo) / 1024 / 1024)
|
||||
index = index + 1
|
||||
|
||||
if memCap == 0: memCap = "???"
|
||||
memInfo = str(memCap) + " MB @ " +qi("memorychip","speed")+ "MHz"
|
||||
|
||||
info.append(memInfo)
|
||||
|
||||
#GPU
|
||||
info.append("GPU")
|
||||
info.append(qi("path win32_VideoController","name"))
|
||||
return info
|
||||
|
||||
information = getSpecs()
|
||||
information.append("");information.append("")
|
||||
information.append("MSG")
|
||||
information.append(config["default"]["msg"])
|
||||
|
||||
asciiLuma = asciiLuma.split("\n")
|
||||
asciiChroma = asciiChroma.split("\n")
|
||||
asciiMaxLength = 0
|
||||
for line in asciiLuma:
|
||||
line = line.replace("\n","")
|
||||
length = len(line)
|
||||
if (length > asciiMaxLength): asciiMaxLength = length
|
||||
asciiEmpty = ""
|
||||
while len(asciiEmpty) < asciiMaxLength:
|
||||
asciiEmpty = asciiEmpty + " "
|
||||
|
||||
index = 0
|
||||
asciiIndex = 0
|
||||
length = len(information)
|
||||
asciiLength = len(asciiLuma)
|
||||
asciiChromaLength = len(asciiChroma)
|
||||
colorIndex = 0
|
||||
specColors = ["r","g","c","y"]
|
||||
uncoloredOut = []
|
||||
|
||||
while index < length:
|
||||
curLine = ""
|
||||
infon = information[index]
|
||||
infod = information[index + 1]
|
||||
|
||||
if asciiIndex < len(asciiLuma):
|
||||
curLine = asciiLuma[asciiIndex]
|
||||
else:
|
||||
curLine = asciiEmpty
|
||||
while len(curLine) < asciiMaxLength:
|
||||
curLine = curLine + " "
|
||||
|
||||
if infon != "":
|
||||
if infon != "RAW":
|
||||
curLine = curLine + infon + ": " + infod
|
||||
else:
|
||||
curLine = curLine + infod
|
||||
|
||||
while len(curLine) > x:
|
||||
curLine = curLine[:-1]
|
||||
|
||||
uncoloredOut.append(curLine)
|
||||
index = index + 2
|
||||
asciiIndex = asciiIndex + 1
|
||||
|
||||
while asciiIndex < asciiLength:
|
||||
curLine = asciiLuma[asciiIndex]
|
||||
while len(curLine) > x:
|
||||
curLine = curLine[:-1]
|
||||
uncoloredOut.append(curLine)
|
||||
asciiIndex = asciiIndex + 1
|
||||
|
||||
outLength = len(uncoloredOut)
|
||||
|
||||
coloredOut = []
|
||||
asciiIndex = 0
|
||||
lastColor = "i"
|
||||
while asciiIndex < outLength:
|
||||
line = uncoloredOut[asciiIndex]
|
||||
chromaLine = asciiChroma[asciiIndex]
|
||||
|
||||
newLine = ""
|
||||
lineIndex = 0
|
||||
lineLength = len(line)
|
||||
while lineIndex < lineLength:
|
||||
curColor = "i"
|
||||
symbol = line[lineIndex]
|
||||
if lineIndex < len(chromaLine):
|
||||
curColor = chromaLine[lineIndex]
|
||||
else:
|
||||
curColor = "i"
|
||||
|
||||
if not curColor.lower() in colors:
|
||||
curColor = "i"
|
||||
|
||||
if curColor != lastColor:
|
||||
if curColor != "i":
|
||||
colorDef = colorama.Style.RESET_ALL + colors[curColor.lower()]
|
||||
if curColor.lower() != curColor: colorDef = colorDef + colorama.Style.BRIGHT
|
||||
symbol = colorDef + symbol
|
||||
else:
|
||||
symbol = colorama.Style.RESET_ALL + symbol
|
||||
lastColor = curColor
|
||||
|
||||
newLine = newLine + symbol
|
||||
lineIndex = lineIndex + 1
|
||||
|
||||
coloredOut.append(newLine)
|
||||
asciiIndex = asciiIndex + 1
|
||||
coloredOut[-1] = coloredOut[-1] + colorama.Style.RESET_ALL
|
||||
|
||||
for line in coloredOut:
|
||||
print(line)
|
Loading…
Reference in New Issue