mirror of
				https://github.com/noDRM/DeDRM_tools.git
				synced 2025-10-23 23:07:47 -04:00 
			
		
		
		
	Update obok.py
This commit is contained in:
		
							parent
							
								
									9fb95eff41
								
							
						
					
					
						commit
						6cbc5285cb
					
				
					 1 changed files with 30 additions and 3 deletions
				
			
		|  | @ -1,6 +1,9 @@ | ||||||
| #!/usr/bin/env python3 | #!/usr/bin/env python3 | ||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
| 
 | 
 | ||||||
|  | # Version 4.1.0 February 2021 | ||||||
|  | # Add detection for Kobo directory location on Linux | ||||||
|  | 
 | ||||||
| # Version 4.0.0 September 2020 | # Version 4.0.0 September 2020 | ||||||
| # Python 3.0 | # Python 3.0 | ||||||
| # | # | ||||||
|  | @ -365,9 +368,33 @@ class KoboLibrary(object): | ||||||
|                     self.kobodir = os.path.join(self.kobodir, "Kobo", "Kobo Desktop Edition") |                     self.kobodir = os.path.join(self.kobodir, "Kobo", "Kobo Desktop Edition") | ||||||
|                 elif sys.platform.startswith('darwin'): |                 elif sys.platform.startswith('darwin'): | ||||||
|                     self.kobodir = os.path.join(os.environ['HOME'], "Library", "Application Support", "Kobo", "Kobo Desktop Edition") |                     self.kobodir = os.path.join(os.environ['HOME'], "Library", "Application Support", "Kobo", "Kobo Desktop Edition") | ||||||
|             #elif linux_path != None: |                 elif sys.platform.startswith('linux'): | ||||||
|                 # Probably Linux, let's get the wine prefix and path to Kobo. | 
 | ||||||
|             #   self.kobodir = os.path.join(linux_path, "Local Settings", "Application Data", "Kobo", "Kobo Desktop Edition") |                     #sets ~/.config/calibre as the location to store the kobodir location info file and creates this directory if necessary | ||||||
|  |                     kobodir_cache_dir = os.path.join(os.environ['HOME'], ".config", "calibre") | ||||||
|  |                     if not os.path.isdir(kobodir_cache_dir): | ||||||
|  |                         os.mkdir(kobodir_cache_dir) | ||||||
|  |                      | ||||||
|  |                     #appends the name of the file we're storing the kobodir location info to the above path | ||||||
|  |                     kobodir_cache_file = str(kobodir_cache_dir) + "/" + "kobo location" | ||||||
|  |                      | ||||||
|  |                     """if the above file does not exist, recursively searches from the root | ||||||
|  |                     of the filesystem until kobodir is found and stores the location of kobodir | ||||||
|  |                     in that file so this loop can be skipped in the future""" | ||||||
|  |                     original_stdout = sys.stdout | ||||||
|  |                     if not os.path.isfile(kobodir_cache_file): | ||||||
|  |                         for root, dirs, files in os.walk('/'): | ||||||
|  |                             for file in files: | ||||||
|  |                                 if file == 'Kobo.sqlite': | ||||||
|  |                                     kobo_linux_path = str(root) | ||||||
|  |                                     with open(kobodir_cache_file, 'w') as f: | ||||||
|  |                                         sys.stdout = f | ||||||
|  |                                         print(kobo_linux_path, end='') | ||||||
|  |                                         sys.stdout = original_stdout | ||||||
|  | 
 | ||||||
|  |                     f = open(kobodir_cache_file, 'r' ) | ||||||
|  |                     self.kobodir = f.read() | ||||||
|  | 
 | ||||||
|             # desktop versions use Kobo.sqlite |             # desktop versions use Kobo.sqlite | ||||||
|             kobodb = os.path.join(self.kobodir, "Kobo.sqlite") |             kobodb = os.path.join(self.kobodir, "Kobo.sqlite") | ||||||
|             # check for existence of file |             # check for existence of file | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 lkcv
						lkcv