mirror of
				https://github.com/janeczku/calibre-web
				synced 2025-10-31 15:23:02 +00:00 
			
		
		
		
	No error 500 if kindlegen is not excecutable
This commit is contained in:
		| @@ -86,8 +86,14 @@ def make_mobi(book_id, calibrepath): | ||||
|  | ||||
|     file_path = os.path.join(calibrepath, book.path, data.name) | ||||
|     if os.path.exists(file_path + u".epub"): | ||||
|         p = subprocess.Popen((kindlegen + " \"" + file_path + u".epub\"").encode(sys.getfilesystemencoding()), | ||||
|                              stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) | ||||
|         try: | ||||
|             p = subprocess.Popen((kindlegen + " \"" + file_path + u".epub\"").encode(sys.getfilesystemencoding()), | ||||
|                                  stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) | ||||
|         except: | ||||
|             error_message = _(u"kindlegen failed, no excecution permissions") | ||||
|             app.logger.error("make_mobi: "+error_message) | ||||
|             return error_message, RET_FAIL | ||||
|  | ||||
|         # Poll process for new output until finished | ||||
|         while True: | ||||
|             nextline = p.stdout.readline() | ||||
| @@ -117,7 +123,7 @@ def make_mobi(book_id, calibrepath): | ||||
|             return file_path + ".mobi", RET_SUCCESS | ||||
|         else: | ||||
|             app.logger.error("make_mobi: kindlegen failed with error while converting book") | ||||
|             return error_message, RET_FAIL | ||||
|             return None, RET_FAIL | ||||
|     else: | ||||
|         app.logger.error("make_mobi: epub not found: %s.epub" % file_path) | ||||
|         return None, RET_FAIL | ||||
|   | ||||
							
								
								
									
										17
									
								
								cps/web.py
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								cps/web.py
									
									
									
									
									
								
							| @@ -1261,13 +1261,16 @@ def stats(): | ||||
|         kindlegen = os.path.join(vendorpath, u"kindlegen") | ||||
|     versions['KindlegenVersion'] = _('not installed') | ||||
|     if os.path.exists(kindlegen): | ||||
|         p = subprocess.Popen(kindlegen, stdout=subprocess.PIPE, stderr=subprocess.PIPE) | ||||
|         p.wait() | ||||
|         for lines in p.stdout.readlines(): | ||||
|             if isinstance(lines, bytes): | ||||
|                 lines = lines.decode('utf-8') | ||||
|             if re.search('Amazon kindlegen\(', lines): | ||||
|                 versions['KindlegenVersion'] = lines | ||||
|         try: | ||||
|             p = subprocess.Popen(kindlegen, stdout=subprocess.PIPE, stderr=subprocess.PIPE) | ||||
|             p.wait() | ||||
|             for lines in p.stdout.readlines(): | ||||
|                 if isinstance(lines, bytes): | ||||
|                     lines = lines.decode('utf-8') | ||||
|                 if re.search('Amazon kindlegen\(', lines): | ||||
|                     versions['KindlegenVersion'] = lines | ||||
|         except: | ||||
|             versions['KindlegenVersion'] = _('Excecution permissions missing') | ||||
|     versions['PythonVersion'] = sys.version | ||||
|     versions['babel'] = babelVersion | ||||
|     versions['sqlalchemy'] = sqlalchemyVersion | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 OzzieIsaacs
					OzzieIsaacs