calcmarkdown.py
Created by
yannis300307
Created on
June 04, 2024
4.85 KB
import kandinsky as kd
import time
WHITE = kd . color ( 255 , 255 , 255 )
BLACK = kd . color ( 0 , 0 , 0 )
kd . fill_rect ( 0 , 0 , 320 , 222 , BLACK )
def decode ( data ):
override = max ( data . count ( " = " ), 1 )
data = data . replace ( " = " , " A " )
out = 0
for i in data :
index = " ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ " . index ( i )
out <<= 6
out += index
return out . to_bytes ( len ( data ) * 6 // 8 , " big " )[: - override ]
def decompress ( d ):
r , c = "" , 0
while c < len ( d ):
if d [ c ] == " ° " :
r += d [ c + 4 ] * int ( d [ c + 1 : c + 4 ], 16 )
c += 5
else :
r += d [ c ]
c += 1
return r
width = 256
height = 26
line = " °fffA°df5AGAAABgAAAYAAAGAAAB//4Af/+AGABgBgAwAYAMAGAGAAAAg°00aAB4AAD/wAD//AA4f4AcGOAGDhgBgwYAYcGAHODgA/DwAP/4AA/8°011AEAAAHAAAHwAAPwAAPwAAfgAAfgAAfgAA/AAAPAAAC°01eADAAAB4AAAeAAAHgAAAw°026ABgAAAYAAAGAAABgAAAYAAAGAAABg°024ADgAAB+AAA/gAAd4AAGAAABg°016AYAAAGAAABgAAAYAAAGAAA//AAP/wAD/8AABgAAAYAAAGAAABg°015AzAAAMgAAB4AADewAA/8AAAwAAAeAAAMwAADM°01cA/gAB//AA/v4A+APgeAA8OAADjAAAY°01eAMAABjwAB4eAA8D4A8AP/+AA/+AAB8°02bAPwAAD8AAA/°01bAGAAAB3gAAf4AADwPgA+H8AZ7nAGPwwBh4MAYPnAHH/gB/n4APwAAA4°007APgBAH8BwBjA4AYw8AHccAA+eAAHeeAAPfwAPHMAHhjAHgYwBwH8AQA8°00aAHwAAD+BgA7gYAYcHgGH/4B//4D/+GA+BjgBgfwAYD8AHAe°00cAYAADGAAAx+AB//gB//AAcxgAAMYAADH4AP/+AH/4ABzGAAAxgAAM°016A/AAAPw°00bADwAAD8AAA/°028AHP/wBz/8Acf/°060A============= "
decoded = int . from_bytes ( decode ( decompress ( line )), " big " )
del line
for x in range ( width ):
for y in range ( height ):
kd . set_pixel ( x , y + height * 0 , WHITE if ( decoded & ( 1 << y + x * height )) != 0 else BLACK )
del decoded
line = " °fffA°df4AMAMAHADgBgAYAYAGAGABgBgAYAcAOAHgHAA+HwAH/4AA/4°00fAfHgAP78AHv/gBh44AYMGAGDBgBgwYAYMGAH//gB//4°00eAcAAAH8AAA/4AAD/wAAz/gAMH4ADAOAAwfgAN/wAD/gAH/AAB+AAAc°008AP/gAP/+ADABgwz8MMP/DDB8wwwwMMMMfDDD/hg4fhwHgD4A//8AD/4°010AD4AAB/AAA94AAMGAHPBwBzwMAcADAAAAw°017AGAAABgAAA8AAAfgAAOcAAHDgADgcAAwDAAcA4ACAE°013ABmAAAZgAAGYAABmAAAZgAAGYAABmAAAZgAAGYAABmAAAZg°013AIAQAHAOAA4HAAHDgABw4AAOcAAB+AAAPAAABg°020APAwAH4eAD+HgBzh4AYAAAG°027AMDAAHh4AB4eAAeHg°020AH/AAD/8AB/PAA5g4AcYGAGGBgBhgYAYYOAGHnABg/wAAHw°00eAB4eAA/PwAf/+AGHhgBhwYAYMGAGHhgBh8YAf38AD8/AAeD°011AOAAAPgAAf4AAfmAAfhgAfgYAfgGAHgBgBgAYAAAGAAABg°00eAfgAAP8GAHjhgBgYYAYGGAGBhgBgY4AcGcAD/+AAf/AAD/°010AcAAAfwYAP8GADDhgBgYYAYGGAGBhgBgYYAYH+AGB/g°00eAGAAABgAAAYAAB//4Af/+AAYDgAGBwABh4AAY4AAG8AAB8AAAeAAAG°00cAOAAAHx4AD+/ABx94AYMGAGDBgBgwYAYMGAGABgBgAw°012AGAAABgfgAYP8AGHngBjgYAZwGAG4BgB8AYAeAMAHAHABg°014A=== "
decoded = int . from_bytes ( decode ( decompress ( line )), " big " )
del line
for x in range ( width ):
for y in range ( height ):
kd . set_pixel ( x , y + height * 1 , WHITE if ( decoded & ( 1 << y + x * height )) != 0 else BLACK )
del decoded
line = " °fffA°df3Af/4AP/+AHgAABgAAAYAAAGAAABgAAAYAAAHgAAA//4AH/+°00cAGAAABgAAAYAAAGAAABgB//4Af/+AH//gAAAYAAAGAAABgAAAY°00eAHgAAD+BgA/gYAYcGAGHBgBg4YAYOGAGBzgBgfwAYD8AHAc°00aAEAAABwAAAeD8AD5/AAP44AA+GAADBgAAwYAAMGAH//gB//4°00dAHB/gBh/+AY//wGOAeBnADgfgAYD4AGAOABgBwA4AeA8AD/+AAf/AAA+°00cAH4AAD/AAA54AAcOAAGBgABgYAAYGAAGBgB//4Af/+°00fAf4AAf/gAP/8ADgHgBwAYAYAGAGABgBgAYAcAOADgHAA//gAH/wAAPw°00aAH//gB//4AeAAAD4AAAPgAAAfAAAB8AAAHwAAAeAH//gB//4°009AB/8AAf/+AAf/gAAD4AAH4AAPwAADwAAA/gAAB+AAAH4Af/+AH//gB+°00bABgAAAYAAAGAAABgAAAYAAAGAAABgAAAf/+AH//gB//4°012AGAAgBwAYAeAeADwPAAPHgAB7gAAPwAAA4AAf/+AH//g°017Af/gAf/4AP/+AHABgBgAYAYAGAGABgBgAYAcAG°012ABgAYAYAGAGABgBgAYAf/+AH//gB//4AYAGAGABgBgAY°012AH//gB//4AAMAAADAAAAwAAAMAAADAAAAwAAAMAAH//gB//4°00eAf8MAH/DgBgwYAYMGAGDBgBgAYAYAOAHAHAA8DwAH/4AA/8AABw°010AMGAADBgAAwYAAMGAADBgAAwYAf/+AH//gB//4°016ABgwYAYMGAGDBgBgwYAYMGAGDBgB//4Af/+AH//g°00eAD8AAD/wAB//AA8BwAcAOAGABgBgAYAYAGAGABgBgAYAf/+AH//g°012A== "
decoded = int . from_bytes ( decode ( decompress ( line )), " big " )
del line
for x in range ( width ):
for y in range ( height ):
kd . set_pixel ( x , y + height * 2 , WHITE if ( decoded & ( 1 << y + x * height )) != 0 else BLACK )
del decoded
line = " °fffA°e16AYAYAfAGAH4/gDuP4AxnOAMZhgDGYYAxmGAMZzgDv/wAf/8AHm°00eADAAAwwAAMMAADDAAAwwAAMcAf/+AH//gAAMAAADAAAAwAAAM°00fAM+AAHPwABjeAAYxgAGMYABjGAAYxgAHM4AA/8AAP+AAA/°00fAB//8Af//AH//wA4GAAcBgAGAYABgGAAYDgAHzwAA/4AAH8°013ABwOAAYBgAGAYABgGAAYBgAHA4AB4cAAP/AAB/°014AD+AAD/wAA4eAAcBgAGAYABgGAAYDgAGBwAB//8Af//°012AB/4AAf/AAH/4AAzOAAYxgAGMYABjGAAZxgAH44AA+MAAH°024AQAAAGAAABwAAAMAAABAAAAQ°008ADAAAAwAAAMAAADAAAAwAAAMAAADAAAAwAAAMAAADAAAAwAAAMAAADAAAAw°00eAQAAAHAAAA8AAAHwAAAeAAABgAAB4AAB4AAB4AAAcAAAE°01bAD///4///+MAABjAAAYwAAGMAABg°015ADAAAA8AAAH4AAAfgAAA/AAAD8AAAPwAAAfgAAB8AAAD°01aADAAAYwAAGMAABjAAAY///+P///g°01aAGADgBgB4AYB+AGA9gBg+YAYeGAGfBgBvAYAfgGAHgBgBwAY°00cAYAAAeAAAfAAAPgAAPgAH/gAB/wAAf/AAAD8AAAPgAAA+AAADgAAAYAAAAAEAAgBwAYAfAeAD4fAAPvAAA/gAAHwAAH+AADz4AD4PAB4B4AcAGAEAAg°006AP+AH//gB/wAAfAAAD+AAAH8AAAfAAAfwAB/AAAeAAAH//gB//4AAA+AAAAgAAB4AAB+AAD/AAH+AAP8AAHwAABwAAAfwAAD/gAAH/AAAP+AAAfgAAA4°00eA== "
decoded = int . from_bytes ( decode ( decompress ( line )), " big " )
del line
for x in range ( width ):
for y in range ( height ):
kd . set_pixel ( x , y + height * 3 , WHITE if ( decoded & ( 1 << y + x * height )) != 0 else BLACK )
del decoded