@@ -42,9 +42,9 @@ class AudioBook(object):
42
42
"""
43
43
44
44
def __init__ (self , speed = "normal" , volume = 1.0 ):
45
- self .engine = pyttsx3 .init ()
46
- self .engine .setProperty ("rate" , speed_dict [speed ])
47
- self .engine .setProperty ("volume" , volume )
45
+ self .__engine = pyttsx3 .init ()
46
+ self .__engine .setProperty ("rate" , speed_dict [speed ])
47
+ self .__engine .setProperty ("volume" , volume )
48
48
49
49
def get_library (self ):
50
50
"""get all books in library"""
@@ -82,7 +82,7 @@ def create_json_book(self, input_book_path, password=None, extraction_engine=Non
82
82
json_book , metadata = epub_to_json (input_book_path )
83
83
elif input_book_path .endswith (".mobi" ):
84
84
json_book , metadata = mobi_to_json (input_book_path )
85
- elif input_book_path .startswith ("http" ):
85
+ elif input_book_path .startswith (( "http" , "https" ) ):
86
86
json_book , metadata = html_to_json (input_book_path )
87
87
elif input_book_path .endswith ((".docx" , ".doc" )):
88
88
json_book , metadata = docs_to_json (input_book_path )
@@ -106,21 +106,21 @@ def save_audio(self, input_book_path, password=None, save_page_wise=False, extra
106
106
107
107
if save_page_wise :
108
108
for page_num , text in tqdm (json_book .items ()):
109
- self .engine .save_to_file (
109
+ self .__engine .save_to_file (
110
110
text ,
111
111
os .path .join (
112
112
book_name ,
113
113
book_name + "_page_" + (str (page_num )) + ".mp3" ,
114
114
),
115
115
)
116
- self .engine .runAndWait ()
116
+ self .__engine .runAndWait ()
117
117
118
118
elif not save_page_wise :
119
119
all_text = " " .join ([text for text in json_book .values ()])
120
- self .engine .save_to_file (
120
+ self .__engine .save_to_file (
121
121
all_text , os .path .join (book_name , book_name + ".mp3" )
122
122
)
123
- self .engine .runAndWait ()
123
+ self .__engine .runAndWait ()
124
124
125
125
def read_book (self , input_book_path , password = None , extraction_engine = None ):
126
126
"""method to read the book
@@ -131,24 +131,24 @@ def read_book(self, input_book_path, password=None, extraction_engine=None):
131
131
132
132
pages = metadata ["pages" ]
133
133
134
- speak_text (self .engine , f"The book has total { str (pages )} pages!" )
134
+ speak_text (self .__engine , f"The book has total { str (pages )} pages!" )
135
135
speak_text (
136
- self .engine , "Please enter the page number: " , display = False
136
+ self .__engine , "Please enter the page number: " , display = False
137
137
)
138
138
start_page = int (input ("Please enter the page number: " )) - 1
139
139
140
140
reading = True
141
141
while reading :
142
142
if start_page > pages or start_page < 0 :
143
- speak_text (self .engine , "Invalid page number!" )
143
+ speak_text (self .__engine , "Invalid page number!" )
144
144
speak_text (
145
- self .engine , f"The book has total { str (pages )} pages!"
145
+ self .__engine , f"The book has total { str (pages )} pages!"
146
146
)
147
147
start_page = int (input ("Please enter the page number: " ))
148
148
149
- speak_text (self .engine , f"Reading page { str (start_page + 1 )} " )
149
+ speak_text (self .__engine , f"Reading page { str (start_page + 1 )} " )
150
150
pageText = json_book [str (start_page )]
151
- speak_text (self .engine , pageText , display = False )
151
+ speak_text (self .__engine , pageText , display = False )
152
152
153
153
input_message = "Please Select an option: \n "
154
154
"1. Type 'r' to read again: \n "
@@ -159,18 +159,18 @@ def read_book(self, input_book_path, password=None, extraction_engine=None):
159
159
160
160
user_input = input (input_message )
161
161
if user_input == "r" :
162
- speak_text (self .engine , f"Reading page { str (start_page + 1 )} " )
162
+ speak_text (self .__engine , f"Reading page { str (start_page + 1 )} " )
163
163
continue
164
164
elif user_input == "p" :
165
- speak_text (self .engine , "Reading previous page" )
165
+ speak_text (self .__engine , "Reading previous page" )
166
166
start_page -= 1
167
167
continue
168
168
elif user_input == "n" :
169
- speak_text (self .engine , "Reading next page" )
169
+ speak_text (self .__engine , "Reading next page" )
170
170
start_page += 1
171
171
continue
172
172
elif user_input == "q" :
173
- speak_text (self .engine , "Quitting the book!" )
173
+ speak_text (self .__engine , "Quitting the book!" )
174
174
break
175
175
elif user_input .isnumeric ():
176
176
start_page = int (user_input ) - 1
0 commit comments