-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathgui_ttr.py
More file actions
executable file
·85 lines (67 loc) · 2.98 KB
/
gui_ttr.py
File metadata and controls
executable file
·85 lines (67 loc) · 2.98 KB
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#!/usr/bin/env python
'''
Application to calculate the Type-Token Ratio from a speech sample.
Copyright (C) 2013 Steven C. Howell
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Please report any issues on-line at: https://github.com/stvn66/type_token_ratio/issues
'''
import datetime
import subprocess
from appJar import gui
import type_token_ratio
def run_ttr(name):
# select the input the file
fname = app.openBox(title='Select Speech Sample',
fileTypes=[('text files', '*.csv'),
('text files', '*.txt'),
('all files', '*')],
asFile=False)
app.setLabel('input', 'Speech Sample: {}\n'.format(fname)) # maybe split this
# output = subprocess.run(['./type_token_ratio.py', fname],
# stdout=subprocess.PIPE)
results = type_token_ratio.main(fname)
app.clearTextArea('results', callFunction=False)
app.setTextArea('results', '{}'.format(results), callFunction=False)
def exit_ttr(name):
app.stop()
# create the GUI & set a title
app = gui('Type Token Ratio Calculator')
license = [
'='*80,
'\n Copyright (C) 2013 Steven C. Howell\n',
'\n',
'This program is free software: you can redistribute it and/or modify\n',
'it under the terms of the GNU General Public License as published by\n',
'the Free Software Foundation, either version 3 of the License, or\n',
'(at your option) any later version.\n',
'\n',
'This program is distributed in the hope that it will be useful,\n',
'but WITHOUT ANY WARRANTY; without even the implied warranty of\n',
'MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n',
'GNU General Public License for more details.\n',
'\n',
'You should have received a copy of the GNU General Public License\n',
'along with this program. If not, see <http://www.gnu.org/licenses/>.\n',
'='*80,
]
app.addButtons(['Select Speech Sample', 'Exit'], [run_ttr, exit_ttr])
app.addEmptyLabel('input')
app.addScrolledTextArea('results')
app.setTextArea('results', ''.join(license))
copyright = 'Copyright (C) 2013 Steven C. Howell'
version = 'v 0.1.1'
today = datetime.date.today()
build = 'updated on {}'.format(today.strftime('%d %b %Y'))
app.addLabel('copyright', '{} - {} - {}'.format(copyright, version,
build))
app.setGeometry(670, 300)
app.go()