forked from Chatterino/chatterino2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
update_filelist.py
29 lines (23 loc) · 1 KB
/
update_filelist.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/python3
import os
import re
import subprocess
dir_path = os.path.dirname(os.path.realpath(__file__))
filename = 'chatterino.pro'
data = ""
with open(filename, 'r') as project:
data = project.read()
sources_list = subprocess.getoutput("find ./src -type f -regex '.*\.cpp' | sed 's_\./_ _g'").splitlines()
sources_list.sort(key=str.lower)
sources = "\n".join(sources_list)
sources = re.sub(r'$', r' \\\\', sources, flags=re.MULTILINE)
sources += "\n"
data = re.sub(r'^SOURCES(.|\r|\n)*?^$', 'SOURCES += \\\n' + sources, data, flags=re.MULTILINE)
headers_list = subprocess.getoutput("find ./src -type f -regex '.*\.hpp' | sed 's_\./_ _g'").splitlines()
headers_list.sort(key=str.lower)
headers = "\n".join(headers_list)
headers = re.sub(r'$', r' \\\\', headers, flags=re.MULTILINE)
headers += "\n"
data = re.sub(r'^HEADERS(.|\r|\n)*?^$', 'HEADERS += \\\n' + headers, data, flags=re.MULTILINE)
with open(filename, 'w') as project:
project.write(data)