├── requirements.txt
├── HappyBirthday.mp3
├── image
└── PyBirthdayWish.gif
├── .gitignore
├── config.py
├── LICENSE
├── README.md
├── PyBirthdayWish.py
└── arts
├── art.py
├── artwithstars.py
└── example.py
/requirements.txt:
--------------------------------------------------------------------------------
1 | termcolor
2 | playsound
3 | PyObjC; sys_platform == 'darwin'
4 |
--------------------------------------------------------------------------------
/HappyBirthday.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/maxprogrammer007/PyBirthdayWish/main/HappyBirthday.mp3
--------------------------------------------------------------------------------
/image/PyBirthdayWish.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/maxprogrammer007/PyBirthdayWish/main/image/PyBirthdayWish.gif
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | arts/__pycache__/art.cpython-38.pyc
2 | __pycache__/config.cpython-38.pyc
3 | arts/__pycache__/example.cpython-38.pyc
4 |
--------------------------------------------------------------------------------
/config.py:
--------------------------------------------------------------------------------
1 | # Specify which file (without .py extension) in the arts folder should be used
2 | artFile = "example"
3 | # Speed of art
4 | speed = 0.005
5 | # Print code in the beginning
6 | codePrint = False
7 | codingSpeed = 0.01
8 | codeColor='red'
9 | # Audio
10 | playAudio = True
11 | audio = 'HappyBirthday.mp3'
12 | # Random color is choosen from the list
13 | color = ['red','green','yellow','blue','magenta','cyan','white']
14 | # Change the keys of the dict to change the color codes
15 | # If you change the color codes for blink, remove blink(none) and random, you have to change it in pprint() function of PyBirthdayWish.py too.
16 | colorCodes = {'①':'grey','②':'red','③':'green','④':'yellow','⑤':'blue','⑥':'magenta','⑦':'cyan','⑧':'white','⑨':'blink','⑩':'none','®':'random'}
17 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 Hemanta Pokharel
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
Wish your loved one in a pythonic way
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 | ## 🕯️ Steps to wish
39 |
40 | * Clone this repo and install the requirements
41 | ```bash
42 | git clone https://github.com/hemantapkh/PyBirthdayWish.git && cd PyBirthdayWish && pip install -r requirements.txt
43 | ```
44 | * Edit the ``arts/art.py`` file and add your texts and colors using color codes.
45 |
46 | * Edit the ``config.py`` file to change the settings and make ``artFile = 'art'`` to use ``arts/art.py`` instead of ``example.py``.
47 |
48 | * Run ``PyBirthdayWish.py`` with python3
49 | ```bash
50 | python3 PyBirthdayWish.py
51 | ```
52 |
53 | -----
54 |
55 | Made with :heart: and Python.
56 |
--------------------------------------------------------------------------------
/PyBirthdayWish.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/python3
2 |
3 | import os,random
4 | from threading import Thread
5 | from time import sleep
6 |
7 | from termcolor import colored
8 | from playsound import playsound
9 |
10 | from config import *
11 |
12 | # Importing module specified in the config file
13 | art = __import__(f'arts.{artFile}', globals(), locals(), ['*'])
14 |
15 | def replaceMultiple(mainString, toBeReplace, newString):
16 | """[Replace a set of multiple sub strings with a new string]
17 |
18 | Args:
19 | mainString ([string]): [String in which the replacement will be done]
20 | toBeReplace ([list]): [A list which elements will be replaced by a newString]
21 | newString ([string]): [A string which will be replaced in place of elements of toBeReplace]
22 |
23 | Returns:
24 | [string]: [Return the main string where the element of toBeReplace is replaced by newString]
25 | """
26 |
27 | # Iterate over the list to be replaced
28 | for elem in toBeReplace :
29 | # Check if the element is in the main string
30 | if elem in mainString :
31 | # Replace the string
32 | mainString = mainString.replace(elem, newString)
33 |
34 | return mainString
35 |
36 | def pprint(art,time):
37 | color_used = [random.choice(color)]
38 | colorAttribute = []
39 | for i in range(len(art)):
40 | if art[i] in colorCodes:
41 | # Color attr set to blink if 9
42 | if art[i] == '⑨':
43 | colorAttribute = [colorCodes[art[i]]]
44 | # color attr none if 10
45 | elif art[i] == '⑩':
46 | colorAttribute = []
47 | # Random color if R
48 | elif art[i] == '®':
49 | color_used = color
50 | else:
51 | color_used = [colorCodes[art[i]]]
52 |
53 | print(colored(replaceMultiple(art[i],colorCodes,''),random.choice(color_used),attrs=colorAttribute),sep='', end='',flush= True);sleep(time)
54 |
55 | def pAudio():
56 | if playAudio:
57 | playsound(audio)
58 |
59 | def pcode():
60 | # Print the code before wishing
61 | if codePrint:
62 | for i in range(len(art.code)):
63 | print(colored(art.code[i], codeColor),sep='', end='',flush= True);sleep(codingSpeed)
64 | input('\n\n'+colored('python3','blue')+colored(' PyBirthdayWish.py','yellow'))
65 | os.system('cls' if os.name == 'nt' else 'clear')
66 | else:
67 | input(colored('press {Enter}...','blue'))
68 | os.system('cls' if os.name == 'nt' else 'clear')
69 |
70 | # Clearing terminal
71 | os.system('cls' if os.name == 'nt' else 'clear')
72 | pcode()
73 | Thread(target = pAudio).start()
74 | Thread(target = pprint, args=(art.mainArt,speed)).start()
75 | input()
--------------------------------------------------------------------------------
/arts/art.py:
--------------------------------------------------------------------------------
1 | # This is uncolored art. Use the color code to decorate the art as shown in example.py
2 |
3 | # Color Codes
4 | '''
5 | Copy these codes and paste it before the text for the color your wish
6 | ① = grey
7 | ② = red
8 | ③ = green
9 | ④ = yellow
10 | ⑤ = blue
11 | ⑥ = magenta
12 | ⑦ = cyan
13 | ⑧ = white
14 | ⑨ = blink
15 | ⑩ = remove blink
16 | ® = random
17 | '''
18 |
19 | # Happy Birthday Love
20 | '''
21 | https://patorjk.com/software/taag/#p=display&f=Crawford2&t=Happy%20Birthday%0A%20%20%20%20%20%20Name
22 | Go to the above link and generate art to replace 'Happy Birthday Love' with other text you wish to display.
23 | '''
24 |
25 | mainArt = \
26 | '''
27 |
28 |
29 | _..._ ,s$$$s. _..._ ,s$$$s.
30 | .$$$$$$$s$$ss$$$$, .$$$$$$$s$$ss$$$$,
31 | $$$sss$$$$s$$$$$$$ $$$sss$$$$s$$$$$$$
32 | $$ss$$$$$$$$$$$$$$ ( ) $$ss$$$$$$$$$$$$$$
33 | '$$$s$$$$$$$$$$$$' ) (*) (*) ( '$$$s$$$$$$$$$$$$'
34 | '$$$$$$$$$$$$$$' (*) | | (*) '$$$$$$$$$$$$$$'
35 | S$$$$$$$$$$$' | |~| |~| | S$$$$$$$$$$$'
36 | '$$$$$$$$$' |~| | | | | |~| '$$$$$$$$$'
37 | '$$$$$' | | | | | | | | '$$$$$'
38 | '$$$' ,| |a@@@@| |@@@@@@@@@@@| |@@@@a| |. '$$$'
39 | ; .,a@@@| |@@@@@| |@@@@@@@@@@@| |@@@@@| |@@@@a,. ;
40 | ; ,a@@@@@@| |@@@@@@@@@@@@.@@@@@@@@@@@@@@| |@@@@@@@a, ;
41 | ; a@@@@@@@@@@@@@@@@@@@@@' . `@@@@@@@@@@@@@@@@@@@@@@@@a ;
42 | ', ;`@@@@@@@@@@@@@@@@@@' . `@@@@@@@@@@@@@@@@@@@@@'; ',
43 | ; ;@@@`@@@@@@@@@@@@@' . `@@@@@@@@@@@@@@@@'@@@; ;
44 | ,' ;@@@;,.aaaaaaaaaa . aaaaa,,aaaaaaa,;@@@; ,'
45 | ; ;;@;;;;@@@@@@@@;@ @.@ ;@@@;;;@@@@@@;;;;@@; ;
46 | ', ;;;;;;;@@@@;@@;;@ @@ . @@ ;;@;;;;@@;@@@;;;;;;; ',
47 | ', ;;;;;;;;@@;;;;;;; @@ . @@ ;;;;;;;;;;;@@;;;;@;; ',
48 | ; ;;;;;;;;;;;;;;;;;@@ . @@;;;;;;;;;;;;;;;;@@@; ;
49 | ' ,%%%;;;;;;;;@;;;;;;;; . ;;;;;;;;;;;;;;;;@@;;%%%, '
50 | .%%%%%%;;;;;;;@@;;;;;;;; ,%%%, ;;;;;;;;;;;;;;;;;;;;%%%%%%,
51 | .%%%%%%%;;;;;;;@@;;;;;;;; ,%%%%%%%, ;;;;;;;;;;;;;;;;;;;;%%%%%%%,
52 | %%%%%%%%`;;;;;;;;;;;;;;;; %%%%%%%%%%% ;;;;;;;;;;;;;;;;;;;'%%%%%%%%
53 | %%%%%%%%%%%%`;;;;;;;;;;;;,%%%%%%%%%%%%%,;;;;;;;;;;;;;;;'%%%%%%%%%%%%
54 | `%%%%%%%%%%%%%%%%%,,,,,,,%%%%%%%%%%%%%%%,,,,,,,%%%%%%%%%%%%%%%%%%%%'
55 | `%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'
56 | `%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'
57 | """"""""""""""`,,,,,,,,,'"""""""""""""""""
58 | `%%%%%%%'
59 | `%%%%%'
60 | %%%
61 | %%%%%
62 | .,%%%%%%%,.
63 | ,%%%%%%%%%%%%%%%%%%%,
64 | __ __ ____ ____ ____ __ __ ____ ____ ____ ______ __ __ ___ ____ __ __
65 | | | | / || \| \| | | | \ | || \| || | || \ / || | |
66 | | | || o || o ) o ) | | | o ) | | | D ) || | || \ | o || | |
67 | | _ || || _/| _/| ~ | | | | | | /|_| |_|| _ || D || || ~ |
68 | | | || _ || | | | |___, | | O | | | | \ | | | | || || _ ||___, |
69 | | | || | || | | | | | | | | | | . \ | | | | || || | || |
70 | |__|__||__|__||__| |__| |____/ |_____||____||__|\_| |__| |__|__||_____||__|__||____/
71 |
72 | __,,,__ _ ___ __ __ ___ __,,,__
73 | ,-""-,-" "-,-""-, | | / \ | | | / _] ,-""-,-" "-,-""-,
74 | /,-' , .-'-.7.-'-. , '-,\ | | | || | | / [_ /,-' , .-'-.7.-'-. , '-,\\
75 | \( / _ _ \ )/ | |___ | O || | || _] \( / _ _ \ )/
76 | '-, { (0) (0) } ,-' | || || : || [_ '-, { (0) (0) } ,-'
77 | / > .---. < \ | || | \ / | | / > .---. < \\
78 | |/ .-' \___/ '-. \| |_____| \___/ \_/ |_____| |/ .-' \___/ '-. \|
79 | {, / ,_ _, \ ,} {, / ,_ _, \ ,}
80 | \ {, \ / ,} / \ {, \ / ,} /
81 | ',\. '---' ./,' ',\. '---' ./,'
82 | _.-""""""-._ _.-""""""-._ _.-""""""-._ _.-""""""-._
83 | .' `._.` '. .' `._.` '.
84 | _/_ \ _/_ \\
85 | .'` `\ \ .'` `\ \\
86 | / | Your ; / | Your ;
87 | | / | | / |
88 | \\ ;'---' text ; \\;'---' text ;
89 | '. ; _ ; '. ; _ ;
90 | `-\ here [].' `, `-\ here [].' `,
91 | `\ | \\ `\ | \\
92 | \ \ | \ \ |
93 | `\ /` _/ `\ /` _/
94 | ,-""-. .'`\ /`-,-'` .-""-, ,-""-. .'`\ /`-,-'` .-""-,
95 | / `\.' `\ /` './` \\ / `\.' `\ /` './` \\
96 | ; .--. \ '\ /' / .--. ; ; .--. \ '\ /' / .--. ;
97 | | ( \ |, '\ /' | / ) | | ( \ |, '\ /' | / ) |
98 | \ ; } ;\ /; ` { ; / \ ; } ;\ /; ` { ; /
99 | `;\ \ _.-' \ / `-._ / /;` `;\ \ _.-' \ / `-._ / /;`
100 | \ \__.' _.-' Y `-._ '.__// \ \__.' _.-' Y `-._ '.__//
101 | '.___,.-' `-.,___.' '.___,.-' `-.,___.'
102 |
103 | : . __________________ __________________ : .
104 | [""] .-/| \ / |\-. [""]
105 | | | |||| | |||| | |
106 | | | |||| | ~~*~~ |||| | |
107 | | | |||| --==*==-- | |||| | |
108 | : .'--`. |||| -clear------this- | |||| .'--`. :
109 | : .: /`.__.'\ |||| -------and------- | |||| /`.__.'\ : .:
110 | : . / \ |||| -enter------your- | --==*==-- |||| / \ : .
111 | ( ,-'``'-. ; ; |||| -------text------ | -clear------this- |||| ; ; ,-'``'-. (
112 | )\ |`-..-'| | ,--. | |||| | -------and------- |||| | ,--. | |`-..-'| )\\
113 | / ) | . :| |_.','`.`._| |||| | -enter------your- |||| |_.','`.`._| | . :| / )
114 | ( * ( | . : | |--' `--| |||| | -------text------ |||| |--' `--| | . : | ( * (
115 | \ #/ |`-..-'| || | | | | ||||__________________ | _ ___|||| || | | | | |`-..-'| \#/
116 | .-"#'-. \::::::/ ||)|/|)|)|\| ||/===================\|/===================\|| ||)|/|)|)|\| \::::::/ .-"#'-.
117 | |"-.-"|--`::::'--|._ ~**~ _.|------`--------------------~___~-------------------''------|._ ~**~ _.|--`::::'--|"-.-"|
118 | | | )( | `-..-' | | `-..-' | )( | |
119 | | | )( | | | | )( | |
120 | | | ,-')('-. | | | | ,-')('-. | |
121 | | |( ' ` )`-._ _.-' `-._ _.-'( ' ` )| |
122 | '-._,-' `-....-' ```` ```` `-....-' '-._,-'
123 |
124 |
125 | '''
126 |
127 | # Code reader
128 | with open('PyBirthdayWish.py') as f_in:
129 | code = f_in.read()
130 |
--------------------------------------------------------------------------------
/arts/artwithstars.py:
--------------------------------------------------------------------------------
1 | # This is uncolored art. Use the color code to decorate the art as shown in example.py
2 |
3 | # Color Codes
4 | '''
5 | Copy these codes and paste it before the text for the color your wish
6 | ① = grey
7 | ② = red
8 | ③ = green
9 | ④ = yellow
10 | ⑤ = blue
11 | ⑥ = magenta
12 | ⑦ = cyan
13 | ⑧ = white
14 | ⑨ = blink
15 | ⑩ = remove blink
16 | ® = random
17 | '''
18 |
19 | # Happy Birthday Love
20 | '''
21 | https://patorjk.com/software/taag/#p=display&f=Crawford2&t=Happy%20Birthday%0A%20%20%20%20%20%20Name
22 | Go to the above link and generate art to replace 'Happy Birthday Love' with other text you wish to display.
23 | '''
24 |
25 | mainArt = \
26 | '''
27 | ❤ ★ ❤ ❤ ❤ ❤ ❤
28 | * ❤ ✺
29 | _..._ ,s$$$s. _..._ ,s$$$s.
30 | .$$$$$$$s$$ss$$$$, ❤ .$$$$$$$s$$ss$$$$,
31 | $$$sss$$$$s$$$$$$$ ❤ $$$sss$$$$s$$$$$$$ ❤
32 | $$ss$$$$$$$$$$$$$$ ( ) $$ss$$$$$$$$$$$$$$
33 | '$$$s$$$$$$$$$$$$' ) (*) (*) ( '$$$s$$$$$$$$$$$$'
34 | ❤ '$$$$$$$$$$$$$$' ❣ (*) | | (*) ❤ '$$$$$$$$$$$$$$' ❤
35 | S$$$$$$$$$$$' | |~| |~| | S$$$$$$$$$$$'
36 | '$$$$$$$$$' |~| | | | | |~| '$$$$$$$$$'
37 | '$$$$$' | | | | | | | | '$$$$$'
38 | '$$$' ✺ ,| |a@@@@| |@@@@@@@@@@@| |@@@@a| |. * '$$$'
39 | ; .,a@@@| |@@@@@| |@@@@@@@@@@@| |@@@@@| |@@@@a,. ;
40 | ; ,a@@@@@@| |@@@@@@@@@@@@.@@@@@@@@@@@@@@| |@@@@@@@a, ; ✺
41 | ★ ❤ ; ★ a@@@@@@@@@@@@@@@@@@@@@' . `@@@@@@@@@@@@@@@@@@@@@@@@a ❤ ;
42 | ', ;`@@@@@@@@@@@@@@@@@@' . `@@@@@@@@@@@@@@@@@@@@@'; ',
43 | ; ;@@@`@@@@@@@@@@@@@' . `@@@@@@@@@@@@@@@@'@@@; ;
44 | ,' ;@@@;,.aaaaaaaaaa . aaaaa,,aaaaaaa,;@@@; ,'
45 | ✺ ; ★ ;;@;;;;@@@@@@@@;@ @.@ ;@@@;;;@@@@@@;;;;@@; ❤ ; ❤
46 | ', ;;;;;;;@@@@;@@;;@ @@ . @@ ;;@;;;;@@;@@@;;;;;;; ',
47 | ', ;;;;;;;;@@;;;;;;; @@ . @@ ;;;;;;;;;;;@@;;;;@;; ',
48 | ; ;;;;;;;;;;;;;;;;;@@ . @@;;;;;;;;;;;;;;;;@@@; ;
49 | ' ,%%%;;;;;;;;@;;;;;;;; . ;;;;;;;;;;;;;;;;@@;;%%%, '
50 | .%%%%%%;;;;;;;@@;;;;;;;; ,%%%, ;;;;;;;;;;;;;;;;;;;;%%%%%%,
51 | ★ ❣ .%%%%%%%;;;;;;;@@;;;;;;;; ,%%%%%%%, ;;;;;;;;;;;;;;;;;;;;%%%%%%%, ❤ ❤ ❤
52 | ❤ %%%%%%%%`;;;;;;;;;;;;;;;; %%%%%%%%%%% ;;;;;;;;;;;;;;;;;;;'%%%%%%%%
53 | %%%%%%%%%%%%`;;;;;;;;;;;;,%%%%%%%%%%%%%,;;;;;;;;;;;;;;;'%%%%%%%%%%%%
54 | `%%%%%%%%%%%%%%%%%,,,,,,,%%%%%%%%%%%%%%%,,,,,,,%%%%%%%%%%%%%%%%%%%%'
55 | `%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'
56 | ❤ ★ `%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%' ❤ ❤
57 | """"""""""""""`,,,,,,,,,'"""""""""""""""""
58 | `%%%%%'
59 | %%%
60 | ❤ ❤ ✺ ❤ %%%%% ❤ * ✺ ❤
61 | .,%%%%%%%,.
62 | ❤ ,%%%%%%%%%%%%%%%%%%%,
63 | __ __ ____ ____ ____ __ __ ____ ____ ____ ______ __ __ ___ ____ __ __
64 | | | | / || \| \| | | | \ | || \| || | || \ / || | | ❤
65 | ❣ | | || o || o ) o ) | | | o ) | | | D ) || | || \ | o || | |
66 | | _ || || _/| _/| ~ | | | | | | /|_| |_|| _ || D || || ~ |
67 | | | || _ || | | | |___, | | O | | | | \ | | | | || || _ ||___, | ✺
68 | | | || | || | | | | | | | | | | . \ | | | | || || | || |
69 | ★ |__|__||__|__||__| |__| |____/ |_____||____||__|\_| |__| |__|__||_____||__|__||____/ ❤
70 |
71 | __,,,__ _ ___ __ __ ___ __,,,__
72 | ✺ ,-""-,-" "-,-""-, | | / \ | | | / _] ,-""-,-" "-,-""-,
73 | /,-' , .-'-.7.-'-. , '-,\ | | | || | | / [_ /,-' , .-'-.7.-'-. , '-,\\ * ❤
74 | \( / _ _ \ )/ | |___ | O || | || _] \( / _ _ \ )/
75 | '-, { (0) (0) } ,-' | || || : || [_ '-, { (0) (0) } ,-'
76 | ❤ / > .---. < \ | || | \ / | | / > .---. < \\
77 | |/ .-' \___/ '-. \| |_____| \___/ \_/ |_____| |/ .-' \___/ '-. \|
78 | ❣ {, / ,_ _, \ ,} {, / ,_ _, \ ,} ❤
79 | \ {, \ / ,} / \ {, \ / ,} /
80 | ',\. '---' ./,' ',\. '---' ./,'
81 | _.-""""""-._ _.-""""""-._ ❤ _.-""""""-._ _.-""""""-._
82 | .' `._.` '. .' `._.` '. ❤
83 | _/_ \ ❣ _/_ \\
84 | ★ .'` `\ \ .'` `\ \\
85 | / | Your ; / | Your ;
86 | | / | | / | ❤ *
87 | \\ ;'---' text ; ❤ \\;'---' text ;
88 | '. ; _ ; '. ; _ ;
89 | `-\ here [].' `, ✺ `-\ here [].' `,
90 | ❤ `\ | \\ `\ | \\
91 | \ \ | ❤ \ \ |
92 | `\ /` _/ `\ /` _/ ❤
93 | ,-""-. .'`\ /`-,-'` .-""-, * ,-""-. .'`\ /`-,-'` .-""-,
94 | / `\.' `\ /` './` \\ / `\.' `\ /` './` \\
95 | ; .--. \ '\ /' / .--. ; ; .--. \ '\ /' / .--. ;
96 | | ( \ |, '\ /' | / ) | | ( \ |, '\ /' | / ) |
97 | \ ; } ;\ /; ` { ; / ❤ \ ; } ;\ /; ` { ; /
98 | `;\ \ _.-' \ / `-._ / /;` `;\ \ _.-' \ / `-._ / /;`
99 | ✺ \ \__.' _.-' Y `-._ '.__// \ \__.' _.-' Y `-._ '.__//
100 | '.___,.-' `-.,___.' ★ ❤ '.___,.-' ❤ `-.,___.' ❣
101 | ❤
102 | : . __________________ __________________ : . *
103 | ❤ [""] .-/| \ / |\-. [""] ❤
104 | ❤ | | |||| | |||| | |
105 | | | |||| | ~~*~~ |||| | |
106 | | | |||| --==*==-- | |||| | | ★
107 | : .'--`. |||| -clear------this- | |||| .'--`. :
108 | ❤ : .: /`.__.'\ |||| -------and------- | |||| /`.__.'\ : .:
109 | : . / \ |||| -enter------your- | --==*==-- |||| / \ : . *
110 | ( ,-'``'-. ; ; |||| -------text------ | -clear------this- |||| ; ; ,-'``'-. (
111 | )\ |`-..-'| | ,--. | |||| | -------and------- |||| | ,--. | |`-..-'| )\\ ❤
112 | / ) | . :| |_.','`.`._| |||| | -enter------your- |||| |_.','`.`._| | . :| / )
113 | ❤ ( * ( | . : | |--' `--| |||| | -------text------ |||| |--' `--| | . : | ( * (
114 | \ #/ |`-..-'| || | | | | ||||__________________ | _ ___|||| || | | | | |`-..-'| \#/ ❤
115 | .-"#'-. \::::::/ ||)|/|)|)|\| ||/===================\|/===================\|| ||)|/|)|)|\| \::::::/ .-"#'-.
116 | |"-.-"|--`::::'--|._ ~**~ _.|------`--------------------~___~-------------------''------|._ ~**~ _.|--`::::'--|"-.-"|
117 | | | )( | `-..-' | | `-..-' | )( | |
118 | ★ | | )( | | | | )( | | ❤
119 | | | ,-')('-. | | * ❤ ❤ | | ,-')('-. | |
120 | | |( ' ` )`-._ _.-' `-._ _.-'( ' ` )| |
121 | '-._,-' `-....-' ```` ❣ ★ ```` `-....-' '-._,-'
122 |
123 | ❤ ★ ✺ ❤ ✺ * ❤
124 | '''
125 |
126 | # Code reader
127 | with open('PyBirthdayWish.py') as f_in:
128 | code = f_in.read()
129 |
--------------------------------------------------------------------------------
/arts/example.py:
--------------------------------------------------------------------------------
1 | # This is an example of adding colors with color codes. Add colors you wish in 'art.py' and make sure to make ```artFile = art.py``` in config.py to use art.py
2 |
3 | mainArt = \
4 | '''
5 | ®❤ ★ ❤ ❤ ❤ ❤ *
6 | ® * ® ❤ ✺
7 | ② _..._ ,s$$$s. ⑤ _..._ ,s$$$s.
8 | ② .$$$$$$$s$$ss$$$$, ® ❤ ❤ ⑤ .$$$$$$$s$$ss$$$$,
9 | ② $$$sss$$$$s$$$$$$$ ⑤ $$$sss$$$$s$$$$$$$
10 | ② $$ss$$$$$$$$$$$$$$ ( ) ⑤ $$ss$$$$$$$$$$$$$$
11 | ® ❤ ② '$$$s$$$$$$$$$$$$' ® ❣ ) (⑨*⑩) (⑨*⑩) ( ⑤ '$$$s$$$$$$$$$$$$'
12 | ② '$$$$$$$$$$$$$$' (⑨*⑩) | | (⑨*⑩) ®❣ ⑤ '$$$$$$$$$$$$$$'
13 | ② S$$$$$$$$$$$' | ⑤|~| ④|~| ②| ⑤ S$$$$$$$$$$$'
14 | ®❤ ② '$$$$$$$$$' ③|~| ⑤| | ④| | ⑥|~| ⑤ '$$$$$$$$$' ® *
15 | ② '$$$$$' ® ★ ✺ ③| | ⑤| | ④| | ⑥| | ®❤ ⑤ '$$$$$'
16 | ② '$$$' ⑧,③| |⑧a@@@@⑤| |⑧@@@@@@@@@@@④| |⑧@@@@a⑥| |⑧. ⑤ '$$$'
17 | ② ; ⑧.,a@@@③| |⑧@@@@@⑤| |⑧@@@@@@@@@@@④| |⑧@@@@@⑥| |⑧@@@@a,. ⑤ ;
18 | ®❤ ② ; ⑧,a@@@@@@③| |⑧@@@@@@@@@@@@.@@@@@@@@@@@@@@⑥| |⑧@@@@@@@a, ® ❤ ⑤ ;
19 | ② ; ⑧a@@@@@@@@@@@@@@@@@@@@@' ⑦.⑧ `@@@@@@@@@@@@@@@@@@@@@@@@a ⑤ ;
20 | ② ', ® ★ ⑧;`@@@@@@@@@@@@@@@@@@' ⑦.⑧ `@@@@@@@@@@@@@@@@@@@@@'; ⑤ ',
21 | ② ; ⑧;@@@`@@@@@@@@@@@@@' ⑦.⑧ `@@@@@@@@@@@@@@@@'@@@; ® ★ ⑤ ;
22 | ② ❤ ,' ⑧;@@@;,.aaaaaaaaaa ⑦.⑧ aaaaa,,aaaaaaa,;@@@; ⑤ ,'
23 | ② ; ⑧;;@;;;;@@@@@@@@;@ ⑦@.@⑧ ;@@@;;;②@@@@@@⑧;;;;@@; ⑤ ; ® ❤
24 | ② ', ⑧;;;;;;;⑤@@@@⑧;@@;;@ ⑦@@ . @@⑧ ;;@;;;;@@;@@@;;;;;;; ⑤ ',
25 | ② ', ⑧;;;;;;;;@@;;;;;;; ⑦@@ ⑦. @@⑧ ;;;;;;;;;;;@@;;;;@;; ⑤ ',
26 | ®❤ ② ; ®❣ ⑧;;;;;;;;;;;;;;;;;⑦@@ ⑦. @@⑧;;;;;;;;;;;;;;;;@@@; ®❤ ⑤ ;
27 | ② ' ⑦,%%%⑧;;;;;;;;@;;;;;;;; ⑦. ⑧;;;;;;;;;;;;;;;;@@;;⑦%%%, ⑤ '
28 | ⑦.%%%%%%⑧;;;;;;;②@@⑧;;;;;;;; ⑦,%%%,⑧ ;;;;;;;;;;;;;;;;;;;;⑦%%%%%%,
29 | ⑦.%%%%%%%⑧;;;;;;;@@;;;;;;;; ⑦,%%%%%%%,⑧ ;;;;;;;;;;;;;;;;;;;;⑦%%%%%%%,
30 | ® ✺ ®❤ ⑦%%%%%%%%⑧`;;;;;;;;;;;;;;;; ⑦%%%%%%%%%%%⑧ ;;;;;;;;;;;;;;;;;;;'⑦%%%%%%%%
31 | ⑦%%%%%%%%%%%%⑧`;;;;;;;;;;;;⑦,%%%%%%%%%%%%%⑧,;;;;;;;;;;;;;;;'⑦%%%%%%%%%%%% ®★ ® ❤
32 | ⑦`%%%%%%%%%%%%%%%%%,,,,,,,%%%%%%%%%%%%%%%,,,,,,,%%%%%%%%%%%%%%%%%%%%'
33 | ⑦`%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'
34 | ®★ ⑦`%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'
35 | ®❤ ★ ⑦""""""""""""""`,,,,,,,,,'""""""""""""""""" ® ✺
36 | ②`%%%%%%%'
37 | ②`%%%%%' ® * ❤
38 | ®✺ ②%%%
39 | ® ❤ * ②%%%%% ® ★ ® ❤ *
40 | ②.,%%%%%%%,.
41 | ②,%%%%%%%%%%%%%%%%%%%, ® ❤
42 | ⑧ __ __ ____ ____ ____ __ __ ____ ____ ____ ______ __ __ ___ ____ __ __
43 | ⑧| | | / || \| \| | | | \ | || \| || | || \ / || | |
44 | ★ ⑧| | || o || o ) o ) | | | o ) | | | D ) || | || \ | o || | | ® ❤
45 | ⑧| _ || || _/| _/| ~ | | | | | | /|_| |_|| _ || D || || ~ |
46 | ⑧| | || _ || | | | |___, | | O | | | | \ | | | | || || _ ||___, |
47 | ⑧| | || | || | | | | | | | | | | . \ | | | | || || | || |
48 | ❣ ⑧|__|__||__|__||__| |__| |____/ |_____||____||__|\_| |__| |__|__||_____||__|__||____/ ® *
49 |
50 | ④ __,,,__ ⑧ ____ ____ ___ ___ ___ ④ __,,,__
51 | ✺ ④ ❤ ,-""-,-" "-,-""-, ⑧ | \ / || | | / _] ④ ,-""-,-" "-,-""-, ® ❤
52 | ★ ④ /,-' , .-'-.7.-'-. , '-,\ ⑧ | _ || o || _ _ | / [_ ④ /,-' , .-'-.7.-'-. , '-,\\
53 | ④ \( / _ _ \ )/ ⑧ | | || || \_/ || _] ④ \( / _ _ \ )/ ❤
54 | ④ '-, { (⑨0⑩) (⑨0⑩) } ,-'⑧ | | || _ || | || [_④ '-, { (⑨0⑩) (⑨0⑩) } ,-'
55 | ④ / > .---. < \ ⑧ | | || | || | || | ④ / > .---. < \\
56 | ④ ❤ |/ .-' \___/ '-. \| ⑧ |__|__||__|__||___|___||_____| ④ |/ .-' \___/ '-. \| ® ❤
57 | ❤ ④ {, / ,_ _, \ ,} ④ {, / ,_ _, \ ,}
58 | ④ \ {, \ / ,} / ④ \ {, \ / ,} / ® ❤
59 | ④ ',\. '---' ./,' ® * ② ④ ',\. '---' ./,'
60 | ② _.-""""""-._ _.-""""""-._ ② _.-""""""-._ _.-""""""-._
61 | ② .' `._.` '. ® ★ ② .' `._.` '.
62 | ®✺ ④ _②/④_ ② \ ④ _②/④_ ② \\ ® ★
63 | ④ .'` `\ ② \ ④ .'` `\ ② \\
64 | ④ / | ⑦ Your ② ; ④ / | ⑦ Your ② ;
65 | ④ | / ② | ④ | / ② |
66 | ④ \\ ;'---' ⑦ text ② ; ® ✺ ④ \\;'---' ⑦ text ② ; ® ❣
67 | ④ '. ; ④ _② ; ④ '. ; ④_② ;
68 | ® ★ ④ `-②\ ⑦ here ④ [].' `, ④ `-②\ ⑦ here ④[].' `,
69 | ② `\ ④ | \\ ② `\ ④| \\
70 | ② \ ④ \ | ❤ ② ❤ \ ④\ |
71 | ② `\ ④ /` _/ ® ★ ② `\ ④/` _/ ® ❤
72 | ④ ,-""-. .'②`\ /④`-,-'` .-""-, ④ ,-""-. .'②`\ /④`-,-'` .-""-,
73 | ④ / `\.' ② `\ /`④ './` \\ ④ / `\.' ② `\ /` ④'./` \\
74 | ④ ; .--. \ ② '\ /' ④ / .--. ; ④ ; .--. \ ② '\ /' ④/ .--. ;
75 | ④ ❤ | ( \ |, ② '\ /' ④ | / ) | ④ | ( \ |, ② '\ /' ④ | / ) |
76 | ④ \ ; } ;②\ /; ④ ` { ; / ®✺ ④ \ ; } ;②\ /; ④ ④` { ; /
77 | ④ `;\ \ _.-' ② \ / ④`-._ / /;` ④ `;\ \ _.-' ② \ / ④`-._ / /;`
78 | ®* ④ \ \__.' _.-' ② Y ④ `-._ '.__// ④ \ \__.' _.-' ② Y ④ `-._ '.__//
79 | ④ '.___,.-' `-.,___.' ④ '.___,.-' `-.,___.'
80 | ®★ ❤
81 | ❤ ⑦ : . ⑧ __________________ __________________ ⑦ : .
82 | ❤ ⑦ [""] ⑧ .-/| \ / |\-. ⑦ [""] ✺ ❣
83 | ⑦ | | ⑤ |⑧||| | |||⑤| ⑦ | |
84 | ★ ⑦ | | ⑤ |⑧||| | ~~*~~⑧ |||⑤| ⑦ | |
85 | ⑦ | | ⑤ |⑧||| ⑤--==*==--⑧ | |||⑤| ⑦ | | ® ❤
86 | ④ : ⑦ .'--`. ⑤ |⑧||| ⑤-clear------this-⑧ | |||⑤| ⑦ .'--`. ④ :
87 | ❣ ④ : .: ⑦ /`.__.'\ ⑤ |⑧||| ⑤-------and-------⑧ | |||⑤| ⑦ /`.__.'\ ④ : .: ® ✺
88 | ④ : . ⑦ / \ ⑤ |⑧||| ⑤-enter------your-⑧ | ⑤--==*==--⑧ |||⑤| ⑦ / \ ④ : .
89 | ③ ( ④ ,-'``'-.⑦ ; ; ⑤ |⑧||| ⑤-------text------⑧ | ⑤-clear------this-⑧ |||⑤| ⑦ ; ; ④,-'``'-. ⑥ (
90 | ③ )\ ④ |`-..-'|⑦ | ,--. | ⑤ |⑧||| | ⑤-------and-------⑧ |||⑤| ⑦ | ,--. | ④|`-..-'| ⑥ )\\
91 | ③ / ) ④| . :| ⑦|_.','`.`._| ⑤ |⑧||| | ⑤-enter------your-⑧ |||⑤| ⑦ |_.','`.`._| ④| . :| ⑥ / )
92 | ③ ( ⑨*⑩ ③(④ | . : | ⑦|--' `--| ⑤ |⑧||| | ⑤-------text------⑧ |||⑤|⑦ |--' `--| ④| . : | ⑥( ⑨*⑩ (
93 | ③ \ #/ ④|`-..-'| ⑦|| | | | | ⑤ |⑧|||__________________ | _ ___|||⑤| ⑦|| | | | | ④|`-..-'| ⑥ \#/
94 | ③ .-"#'-. ④\::::::/ ⑦||)|/|)|)|\| ⑤ |⑧|/===================\|/===================\|⑤| ⑦||)|/|)|)|\| ④\::::::/⑥ .-"#'-.
95 | ★ ③ |"-.-"|⑤--④`::::'⑤--⑦|._ ~**~ _.|⑤------`--------------------~___~-------------------''------⑦|._ ~**~ _.|⑤--④`::::'⑤--⑥|"-.-"|
96 | ③ | | ④ )( ⑦ | `-..-' | ® ⑦ | `-..-' | ④)( ⑥| |
97 | ③ | | ④ )( ⑦ | | ® * ★ ⑦ | | ④)( ⑥| |
98 | ③ | |④ ,-')('-. ⑦| | ⑦ | | ④,-')('-. ⑥| | ® ❤
99 | ③ | |④( ' ` )⑦`-._ _.-' ® ★ ⑦ `-._ _.-'④( ' ` )⑥| |
100 | ③ '-._,-'④ `-....-' ⑦ ```` ® ❤ ❤ ⑦ ```` ④ `-....-' ⑥'-._,-'
101 | ®
102 | ® ✺ ❣ ✺ ❣ ★
103 | '''
104 |
105 | # Code reader
106 | with open('PyBirthdayWish.py') as f_in:
107 | code = f_in.read()
108 |
--------------------------------------------------------------------------------