Skip to main content

Helper package to format TeamSpeak BBCode

Project description

TSFormatter

Helper package to format TeamSpeak BBCode

📦 Installation

pip install tsformatter

✏️ Usage

importing the formatter

from tsformatter import formatter

Colors

# Using HTML color name
>>> formatter.color("red", "This text is red")
'[COLOR=red]This text is red[/COLOR]'

>>> formatter.color("PaleTurquoise", "This text is turquoise")
'[COLOR=PaleTurquoise]This text is turquoise[/COLOR]'


# Using Hex Triplet
>>> formatter.color("#f00", "This text is red")
'[COLOR=f00]This text is red[/COLOR]'

>>> formatter.color("#AFEEEE", "This text is turquoise")
'[COLOR=#AFEEEE]This text is turquoise[/COLOR]'

Horizontal line

>>> formatter.hr
'[HR]'

Images

>>> formatter.img("https://i.imgur.com/ml09ccU.png")
'[IMG]https://i.imgur.com/ml09ccU.png[/IMG]'

Links

# Without specifying link text
>>> formatter.link("https://www.teamspeak.com/")
'[URL]https://www.teamspeak.com/[/URL]'

# With a link text
formatter.link("https://www.teamspeak.com/", "TeamSpeak Website")
'[URL=https://www.teamspeak.com/]TeamSpeak Website[/URL]'

Lists

# Default style of the list is bullet list
>>> formatter.list_(f"List item #{x}" for x in range(1, 6))
'[LIST]\n[*]List item #1\n[*]List item #2\n[*]List item #3\n[*]List item #4\n[*]List item #5\n[/LIST]'


# You can specify the style of the list
>>> formatter.list_((f"List item #{x}" for x in range(1, 6)), style="1")
'[LIST=1]\n[*]List item #1\n[*]List item #2\n[*]List item #3\n[*]List item #4\n[*]List item #5\n[/LIST]'

List styles that work:

Style "1" "a" "i" "A" "I"
Renders numberic alpha lower numberic numberic numberic

Placement

>>> formatter.left("Formatted to the left")
'[LEFT]Formatted to the left[/LEFT]'

>>> formatter.right("Formatted to the right")
'[RIGHT]Formatted to the right[/RIGHT]'

>>> formatter.center("Center of the space")
'[CENTER]Center of the space[/CENTER]'

Size

# Using absolute sizes
>>> formatter.size(24, "I am huge!")
'[SIZE=24]I am huge![/SIZE]'

# Relative sizes can be either positive or negative
>>> formatter.size('-4', "I am 4 units smaller than the rest")
'[SIZE=-2]I am 2 units smaller than the rest[/SIZE]'

>>> formatter.size('+2', "I am 2 units bigger than the rest")
'[SIZE=+2]I am 2 units bigger than the rest[/SIZE]'

Styles

>>> formatter.bold("Example text")
'[B]Example text[/B]'

>>> formatter.italic("Example text")
'[I]Example text[/I]'

>>> formatter.underline("Example text")
'[U]Example text[/U]'

>>> formatter.strike("Example text")
'[S]Example text[/S]'

Tables

>>> header = ("Place", "City", "Date")
>>> data1 = ("Statue of Liberty", "New York City", "October 28, 1886")
>>> data2 = ("Eiffel Tower", "Paris", "31 March, 1889")
>>> data3 = ("Big Ben", "London", "31 May, 1859")

>>> formatter.table(
        formatter.table_header_row(header),
        formatter.table_row(data1),
        formatter.table_row(data2),
        formatter.table_row(data3)
    )
'[TABLE]\n[TR][TH]Place[/TH][TH]City[/TH][TH]Date[/TH][/TR]\n[TR][TD]Statue of Liberty[/TD][TD]New York City[/TD][TD]October 28, 1886[/TD][/TR]\n[TR][TD]Eiffel Tower[/TD][TD]Paris[/TD][TD]31 March, 1889[/TD][/TR]\n[TR][TD]Big Ben[/TD][TD]London[/TD][TD]31 May, 1859[/TD][/TR]\n[/TABLE]'

Results when rendered by TeamSpeak client:

table example

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tsformatter-0.2.0.tar.gz (4.4 kB view hashes)

Uploaded Source

Built Distribution

tsformatter-0.2.0-py3-none-any.whl (4.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page