blob: 709e5e70b3ca2005df4c62a53ade934e48c4e509 (
plain)
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
from PyQt5 import uic, QtWidgets
import sys
import os
import logging
import re
import string
from .__init__ import wd
log = logging.getLogger('AVP.Main')
def main():
# Determine primary mode
proj = None
mode = 'GUI'
if len(sys.argv) > 2:
mode = 'commandline'
elif len(sys.argv) == 2:
if sys.argv[1].startswith('-'):
mode = 'commandline'
else:
# remove unsafe punctuation characters such as \/?*&^%$#
sys.argv[1] = re.sub(f'[{re.escape(string.punctuation)}]', '', sys.argv[1])
# opening a project file with gui
proj = sys.argv[1]
# Create Qt Application
app = QtWidgets.QApplication(sys.argv)
app.setApplicationName("audio-visualizer")
# Launch program
if mode == 'commandline':
from .command import Command
main = Command()
mode = main.parseArgs()
log.debug("Finished creating command object")
# Both branches here may occur in one execution:
# Commandline parsing could change mode back to GUI
if mode == 'GUI':
from .gui.mainwindow import MainWindow
mainWindow = MainWindow(proj)
log.debug("Finished creating MainWindow")
mainWindow.raise_()
sys.exit(app.exec_())
if __name__ == "__main__":
main()
|