Add __main__ package
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -9,5 +9,7 @@
|
|||||||
!src/
|
!src/
|
||||||
!src/edgeTTS/
|
!src/edgeTTS/
|
||||||
!src/edgeTTS/__init__.py
|
!src/edgeTTS/__init__.py
|
||||||
|
!src/edgeTTS/__main__.py
|
||||||
!src/edgePlayback/
|
!src/edgePlayback/
|
||||||
!src/edgePlayback/__init__.py
|
!src/edgePlayback/__init__.py
|
||||||
|
!src/edgePlayback/__main__.py
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[metadata]
|
[metadata]
|
||||||
name = edge-tts
|
name = edge-tts
|
||||||
version = 2.0.8
|
version = 2.0.9
|
||||||
author = rany
|
author = rany
|
||||||
author_email = ranygh@riseup.net
|
author_email = ranygh@riseup.net
|
||||||
description = Microsoft Edge's TTS
|
description = Microsoft Edge's TTS
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ def main():
|
|||||||
print ()
|
print ()
|
||||||
print ("Media file %s" % media.name)
|
print ("Media file %s" % media.name)
|
||||||
print ("Subtitle file %s\n" % subtitle.name)
|
print ("Subtitle file %s\n" % subtitle.name)
|
||||||
p = subprocess.Popen(['edge-tts', '-w'] + sys.argv[1:], stdout=media, stderr=subtitle)
|
p = subprocess.Popen(['edge-tts', '-w', '--write-media', media.name, '--write-subtitles', subtitle.name] + sys.argv[1:])
|
||||||
p.communicate()
|
p.communicate()
|
||||||
p = subprocess.Popen(['mpv', '--keep-open=yes', '--sub-file=' + subtitle.name, media.name])
|
p = subprocess.Popen(['mpv', '--keep-open=yes', '--sub-file=' + subtitle.name, media.name])
|
||||||
p.communicate()
|
p.communicate()
|
||||||
|
|||||||
6
src/edgePlayback/__main__.py
Executable file
6
src/edgePlayback/__main__.py
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
from edgePlayback.__init__ import *
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
@@ -223,6 +223,8 @@ async def _main():
|
|||||||
parser.add_argument('-s', '--enable-sentence-boundary', help="enable sentence boundary (not implemented but settable)", action='store_true')
|
parser.add_argument('-s', '--enable-sentence-boundary', help="enable sentence boundary (not implemented but settable)", action='store_true')
|
||||||
parser.add_argument('-w', '--enable-word-boundary', help="enable word boundary (not implemented but settable)", action='store_true')
|
parser.add_argument('-w', '--enable-word-boundary', help="enable word boundary (not implemented but settable)", action='store_true')
|
||||||
parser.add_argument('-O', '--overlapping', help="overlapping subtitles in seconds", default=5, type=float)
|
parser.add_argument('-O', '--overlapping', help="overlapping subtitles in seconds", default=5, type=float)
|
||||||
|
parser.add_argument('--write-media', help="instead of stdout, send media output to provided file")
|
||||||
|
parser.add_argument('--write-subtitles', help="instead of stderr, send subtitle output to provided file")
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
logging.basicConfig(level=args.log_level)
|
logging.basicConfig(level=args.log_level)
|
||||||
logger = logging.getLogger("edgeTTS._main")
|
logger = logging.getLogger("edgeTTS._main")
|
||||||
@@ -239,13 +241,23 @@ async def _main():
|
|||||||
args.text = file.read()
|
args.text = file.read()
|
||||||
tts = Communicate()
|
tts = Communicate()
|
||||||
subs = SubMaker(args.overlapping)
|
subs = SubMaker(args.overlapping)
|
||||||
|
if args.write_media: media_file = open(args.write_media, 'wb')
|
||||||
async for i in tts.run(args.text, args.enable_sentence_boundary, args.enable_word_boundary, args.codec, args.voice, args.pitch, args.rate, args.volume, customspeak=args.custom_ssml):
|
async for i in tts.run(args.text, args.enable_sentence_boundary, args.enable_word_boundary, args.codec, args.voice, args.pitch, args.rate, args.volume, customspeak=args.custom_ssml):
|
||||||
if i[2] is not None:
|
if i[2] is not None:
|
||||||
sys.stdout.buffer.write(i[2])
|
if not args.write_media:
|
||||||
|
sys.stdout.buffer.write(i[2])
|
||||||
|
else:
|
||||||
|
media_file.write(i[2])
|
||||||
elif i[0] is not None and i[1] is not None:
|
elif i[0] is not None and i[1] is not None:
|
||||||
subs.createSub(i[0], i[1])
|
subs.createSub(i[0], i[1])
|
||||||
|
media_file.close()
|
||||||
if not subs.subsAndOffset == {}:
|
if not subs.subsAndOffset == {}:
|
||||||
sys.stderr.write(subs.generateSubs())
|
if not args.write_subtitles:
|
||||||
|
sys.stderr.write(subs.generateSubs())
|
||||||
|
else:
|
||||||
|
subtitle_file = open(args.write_subtitles, 'w')
|
||||||
|
subtitle_file.write(subs.generateSubs())
|
||||||
|
subtitle_file.close()
|
||||||
elif args.list_voices:
|
elif args.list_voices:
|
||||||
seperator = False
|
seperator = False
|
||||||
for voice in list_voices():
|
for voice in list_voices():
|
||||||
|
|||||||
6
src/edgeTTS/__main__.py
Executable file
6
src/edgeTTS/__main__.py
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
from edgeTTS.__init__ import *
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
Reference in New Issue
Block a user