Skip to the content.

Build Status

What is N4Tools?

إنها مكتبة بايثون تحتوي على مجموعة من الأكواد الجاهزة التي تمكنك من إنشاء أروع التصاميم والرسوم المتحركة على الترمنال.

N4Tools API


Color

هاذا الكلاس يسمح لك بتلوين النصوص بشكل احترافي.

reader

يمكنك تلوين النصوص بطريقتين إما ان تستخدم داله “القارئ” او تستخدم علامة الزايد

from N4Tools.Design import Color
CO = Color()

# في هاذا المثال استخدمه علامة الزايد
print ('My '+CO.RED+'red'+CO.NORMAL+' and '+CO.GREEN+'green'+CO.NORMAL+' text')

# وفي هاذا المثال استخدمه داله القارئ
print(CO.reader('My [$RED]red[$/] and [$GREEN]green[$/] text'))

لعرض كل الألوان التي تدعمها المكتبه

from N4Tools.Design import Color
from pprint import pprint

CO = Color()
pprint (CO.colors)

for color in CO.colors.keys():
    print (CO.reader(f'[${color}]{color}[$/]'))

del_colors

لحذف كل الألوان التي في النص

from N4Tools.Design import Color
CO = Color()

text = '[$BLUE]My text Color[$/]'
text = CO.reader(text)
print(text)

text = CO.del_colors(text)
print(text)

show_all_rgb_colors

لعرض كل الألوان التي تدعمها المكتبه rgb

from N4Tools.Design import Color
CO = Color()

CO.show_all_rgb_colors()

rgb

إنشاء لوني الخاص

from N4Tools.Design import Color
CO = Color()

# لون النص
text = CO.rgb(203,type='FG')+'MyText'
print(text)

# لون الخلفيه
text = CO.rgb(203,type='BG')+'MyText'
print(text)

كيف أضيف لوني الخاص إلى دالة القارئ؟

from N4Tools.Design import Color
CO = Color()

# my rgb color
MyColor = CO.rgb(203,type='FG')

# add to Color class
CO.colors['ColorName'] = MyColor

# test:
print (CO.ColorName+'My text')
print (CO.reader('[$ColorName]My text[$/]'))

Text

يمنحك كلاس النص العديد من الطرق لي التحكم في النصوص.

get_size

هذه الدالة تجلب لك طول وعرض النص

from N4Tools.Design import Text
T = Text()

example = 'text\ntext'

print (T.get_size(example))

Figlet

تتيح لك هذه الدالة تحويل النصوص إلى كائنات كبيرة ذات نقوش جميلة

from N4Tools.Design import Text
T = Text()

print (T.Figlet('text',font='epic'))

# All fonts:
print (T.FigletFonts())

Output:

_________ _______          _________
\__   __/(  ____ \|\     /|\__   __/
   ) (   | (    \/( \   / )   ) (   
   | |   | (__     \ (_) /    | |   
   | |   |  __)     ) _ (     | |   
   | |   | (       / ( ) \    | |   
   | |   | (____/\( /   \ )   | |   
   )_(   (_______/|/     \|   )_(

del_padding

لحذف المسافات او السطور الزائده في النص

from N4Tools.Design import Text
T = Text()

example = '\n\n    text\n  text\n\n'
print(T.del_padding(example))

pos

تسمح لك هذه الدالة بتغيير موقع النص

from N4Tools.Design import Text
T = Text()

my_text = 'name:mohamed\nage:18\nlanguage:python'
print(T.pos(my_text,x=10))

CentreAlign

هذه الداله تعطيك مركز محاذاة النص.

from N4Tools.Design import Text
T = Text()

example = '''
123456789
1234567
12345
123
1
'''

print (T.CentreAlign(example))

CentreAlignPro

هذه الداله تعطيك مركز محاذاة النصوص على شكل مجموعات.

from N4Tools.Design import Text
T = Text()

group1 = '######################\n'*2
group2 = '##################\n'*2
group3 = '##############\n'*2

print (T.CentreAlignPro([group1,group2,group3]))

mix

هذه الداله تسمح لك بجمع نصين كبيرين او اكثر مع بعض.

from N4Tools.Design import Text
T = Text()

num1 = T.Figlet('1')
num2 = T.Figlet('2')
num3 = T.Figlet('3')

# spacing
print(T.mix([num1,num2,num3], spacing=6))

# normal
print (T.Figlet('123'))

Outbut:

 __          _______        ______  
/  \        / ___   )      / ___  \ 
\/) )       \/   )  |      \/   \  \
  | |           /   )         ___) /
  | |         _/   /         (___ ( 
  | |        /   _/              ) \
__) (_      (   (__/\      /\___/  /
\____/      \_______/      \______/
 __    _______  ______  
/  \  / ___   )/ ___  \ 
\/) ) \/   )  |\/   \  \
  | |     /   )   ___) /
  | |   _/   /   (___ ( 
  | |  /   _/        ) \
__) (_(   (__/\/\___/  /
\____/\_______/\______/

full

هذه الدالة تقوم بملئ الفراغات في الكلمات وتعطيك طول متساوي لجميع الكلمات

from N4Tools.Design import Text
T = Text()

my_tools = ['N404-Tools','xshell','weeman','metasploit']
print (T.full(my_tools))

Outbut:

[
 'N404-Tools',
 'xshell    ',
 'weeman    ',
 'metasploit',
]

equal

هذه الداله تشبه الداله السابقة ولاكن تقوم بتوسيط الكلمات

from N4Tools.Design import Text
T = Text()

my_tools = ['N404-Tools','xshell','weeman','metasploit']
print (T.equal(my_tools))

Outbut:

[
 'N404-Tools',
 '  xshell  ',
 '  weeman  ',
 'metasploit',
]

arabic

هذه الداله تقوم بإعادة تشكيل الحروف العربية ويمكنك استخدامها في الكتابه بلغة العربية على ترمكس او اي نظام لا يدعم اللغة العربية

from N4Tools.Design import Text
T = Text()

text = 'مرحبا'
print(T.arabic(text))

CInput

هذه الداله تسمح لك بل مرور بين الحروف مثل الشل تماماً

from N4Tools.Design import Text
T = Text()

text = T.CInput("Enter text: ")
print(text)

—٣٢

Square

This class help you to make a square around the text.

How to use?

from N4Tools.Design import Square

# base...
def SQ(text):
    Sq = Square()
    # settings...
    Sq.padding = [0,0,0,0]
    Sq.color = '[$RED]'
    return Sq.base(text)

print (SQ('My Text'))
print (SQ('My Text big text\n'*10))

# pro...
def SQPro(List):
    Sq = Square()
    # settings...
    Sq.square = ['+','|','+','-','+','|','+','-']
    Sq.cols = 3
    Sq.spacing = 1
    Sq.padding = [1,0,1,0]
    Sq.equal = True
    Sq.center = True
    return Sq.style(List)

print (SQPro(['Toosl']*12))

this is the output…

# base...
╔═══════╗
║My Text║
╚═══════╝
╔════════════════╗
║My Text big text║
║My Text big text║
║My Text big text║
║My Text big text║
║My Text big text║
║My Text big text║
║My Text big text║
║My Text big text║
║My Text big text║
║My Text big text║
║                ║
╚════════════════╝

# pro...
+-------+ +-------+ +-------+
| Toosl | | Toosl | | Toosl |
+-------+ +-------+ +-------+
+-------+ +-------+ +-------+
| Toosl | | Toosl | | Toosl |
+-------+ +-------+ +-------+
+-------+ +-------+ +-------+
| Toosl | | Toosl | | Toosl |
+-------+ +-------+ +-------+
+-------+ +-------+ +-------+
| Toosl | | Toosl | | Toosl |
+-------+ +-------+ +-------+

set_settings function … to controal the square setting.

from N4Tools.Design import Square
Sq = Square()
Sq.set_settings({
    'square':['╔', '║', '╚', '═', '╝', '║', '╗', '═'],
    'spacing':0,
    'padding':[0,0,0,0],
    'color':'[$GREEN]',
    'cols':0,
    'equal':True,
    'center':False,
})
# print (Sq.SETTINGS)

print (Sq.style(['text']*4))
print (Sq.base('text'))

Animation

AnimationTools

ThreadAnimation