| 
			
			 | 
		#1876 | |
| 
			
			
			
			 null operator (he/him) 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 22,018 
				Karma: 30277294 
				Join Date: Mar 2012 
				Location: Sydney Australia 
				
				
				Device: none 
				
				
				 | 
	
	
	
		
		
		
		
		 Quote: 
	
 BR  | 
|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#1877 | 
| 
			
			
			
			 Junior Member 
			
			![]() Posts: 5 
				Karma: 10 
				Join Date: Aug 2024 
				
				
				
				Device: Fire HD 10 (7th generation) 
				
				
				 | 
	
	
	
		
		
		
		
		 
			
			That's what I figured. I was hoping to make one myself, but I have no experience with coding. I tried reading the "Writing your own plugins to extend calibre’s functionality" manual on the Calibre website, but it all goes over my head. I couldn't find a easy tutorial anywhere? If you know of any, it would be appreciated. Or, is it impossible to explain in an "easy" way? Thanks! Rei
		 
		
	
		
		
		
		
		
		
		
		
		
		
	
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#1878 | 
| 
			
			
			
			 Plugin Developer 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 7,136 
				Karma: 5005503 
				Join Date: Dec 2011 
				Location: Midwest USA 
				
				
				Device: Kobo Clara Colour running KOReader 
				
				
				 | 
	
	
	
		
		
		
		
		 
			
			IMO, the best approach is to find an existing plugin that does something similar and look at the code for that.  There are several metadata plugins that scrape websites.
		 
		
	
		
		
		
		
		
		
		
		
		
		
	
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#1879 | |
| 
			
			
			
			 Junior Member 
			
			![]() Posts: 5 
				Karma: 10 
				Join Date: Aug 2024 
				
				
				
				Device: Fire HD 10 (7th generation) 
				
				
				 | 
	
	
	
		
		
		
		
		 Quote: 
	
 Thanks! Rei  | 
|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#1880 | 
| 
			
			
			
			 Plugin Developer 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 7,136 
				Karma: 5005503 
				Join Date: Dec 2011 
				Location: Midwest USA 
				
				
				Device: Kobo Clara Colour running KOReader 
				
				
				 | 
	
	
	
		
		
		
		
		  I don't use any metadata plugins.  I believe most of them scrape a site somewhere.  I'll start with a newer one.All Calibre plugins are written in python. Open the plugin zip to see the source. How hard is python to learn? It's very subjective. I learned python working on plugins. But I already knew a half dozen other languages. And proper pythoners seem to hate my code.  
		 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#1881 | 
| 
			
			
			
			 Plugin Developer 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 7,136 
				Karma: 5005503 
				Join Date: Dec 2011 
				Location: Midwest USA 
				
				
				Device: Kobo Clara Colour running KOReader 
				
				
				 | 
	
	
	
		
		
		
		
		 I was panicking a bit when I saw I suddenly had the most recent post--2 weeks ago.  
		 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#1882 | |
| 
			
			
			
			 want to learn what I want 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 1,681 
				Karma: 7908443 
				Join Date: Sep 2020 
				
				
				
				Device: none 
				
				
				 | 
	
	
	
		
		
		
		
		 Quote: 
	
  
		 | 
|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#1883 | |
| 
			
			
			
			 null operator (he/him) 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 22,018 
				Karma: 30277294 
				Join Date: Mar 2012 
				Location: Sydney Australia 
				
				
				Device: none 
				
				
				 | 
	
	
	
		
		
		
		
		 Quote: 
	
 ![]() BR  | 
|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#1884 | 
| 
			
			
			
			 Guru 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 922 
				Karma: 810834 
				Join Date: Sep 2017 
				Location: Buenos Aires, Argentina 
				
				
				Device: moon+ reader, kindle paperwhite 
				
				
				 | 
	
	
	
		
		
		
		
		 
			
			Light Mode/Dark Mode Plugin Icons 
		
	
		
		
		
		
		
		
		
		
		
		
		
			I have a humble plugin to which I would like to be able to add this function. I know that there has to be a folder inside the image plugin with two files indicating icon_dark and icon_light. But I don't know what code I should add and where for this purpose. If it's not too much trouble, could someone guide me? I've reviewed some plugins and I feel like I'm not finding something. Last edited by dunhill; 12-01-2024 at 06:50 PM.  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#1885 | |
| 
			
			
			
			 Wizard 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 1,292 
				Karma: 1428263 
				Join Date: Dec 2016 
				Location: Goiânia - Brazil 
				
				
				Device: iPad, Kindle Paperwhite, Kindle Oasis 
				
				
				 | 
	
	
	
		
		
		
		
		 Quote: 
	
 First, put your suffixed icons in the 'images' folder inside your plugin zip file. E.g.: 'images/icon_dark.png', 'images/icon_light.png'. Place this at the start of your main.py or similar: Code: 
	# Check for dark theme
def is_dark_theme():
    return QApplication.instance().is_dark_theme
Code: 
	def get_icon(icon_name):
    icon_name = 'images/' + icon_name
    # Choose the suffix
    tc = 'dark' if is_dark_theme() else 'light'
    sq, ext = os.path.splitext(icon_name)
    sq = f'{sq}_{tc}{ext}'
    return get_icons(sq)
Code: 
	icon = get_icon(icon_name.png) This will allow the plugin to change from light/dark theme when calibre starts. If you want it to change without restarting, than you need to rebuild the menus on the fly. Check out the rebuild_menus() method present in many plugins (ui.py).  | 
|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#1886 | |
| 
			
			
			
			 Guru 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 922 
				Karma: 810834 
				Join Date: Sep 2017 
				Location: Buenos Aires, Argentina 
				
				
				Device: moon+ reader, kindle paperwhite 
				
				
				 | 
	
	
	
		
		
		
		
		 Quote: 
	
  | 
|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#1887 | 
| 
			
			
			
			 Bozana 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 28 
				Karma: 32224 
				Join Date: Jan 2013 
				
				
				
				Device: PC 
				
				
				 | 
	
	
	
		
		
		
		
		 
			
			I have no idea on how to do python or other coding, besides, htm/html and within epubs.  
		
	
		
		
		
		
		
		
		
		
		
		
	
	I would like to suggest a plugin, if someone is willing to do one, based on this website: https://why-choose.com/ As they have loads of tags and books that not found on goodreads. If anyone has time to write one, it would be greatly appreciated! Kindest regards, Bozana  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#1888 | 
| 
			
			
			
			 Junior Member 
			
			![]() Posts: 1 
				Karma: 10 
				Join Date: Dec 2024 
				
				
				
				Device: Android 
				
				
				 | 
	
	
	
		
		
		
		
		 
			
			A DriveThruRPG plugin.  I see stuff available there that I can't find anywhere else.  And it's got a lot of sister sites with ebook content as well.
		 
		
	
		
		
		
		
		
		
		
		
		
		
	
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#1889 | 
| 
			
			
			
			 Fanatic 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 569 
				Karma: 32228 
				Join Date: Feb 2012 
				
				
				
				Device: Onyx Boox Leaf 
				
				
				 | 
	
	
	
		
		
		
		
		 
			
			A plugin (or best if native feature is available) to enable quick book cross-reference. 
		
	
		
		
		
		
		
		
		
		
		
		
	
	Current situation: When you click on a tag, for example, the Main Calibre of course filters out all the books with that tag. Doing this on Calibre Content Server means a search (with generated link) is created and the result is the same. I make use of this as I am mainly use the Content Server. I create URLs (with calibre format) to insert to the book metadata, Comments box for instance, and they can be used to jump to specific book or even search for books. #panel=book_list&search="search for something" This method works perfect with the content server. I then now would like to request for a plugin that can handle these links so that they work also in the Main Calibre. ======== PS: I think I raised this issue once elsewhere if I'm not mistaken.  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#1890 | |
| 
			
			
			
			 null operator (he/him) 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 22,018 
				Karma: 30277294 
				Join Date: Mar 2012 
				Location: Sydney Australia 
				
				
				Device: none 
				
				
				 | 
	
	
	
		
		
		
		
		 Quote: 
	
 BR  | 
|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
![]()  | 
            
        
            
| Tags | 
| calibre, chatbot, cover, epub fix, epub-fix, google books, kindle, metadata calibre title, missing, pdf, pdf and calibre, plugin development, scribe | 
            
  | 
    
			 
			Similar Threads
		 | 
	||||
| Thread | Thread Starter | Forum | Replies | Last Post | 
| PRS-505 Any ideas what this might be? | Neupy | Sony Reader | 4 | 07-03-2012 08:19 AM | 
| New Plugin Type Idea: Library Plugin | cgranade | Plugins | 3 | 09-15-2010 01:11 PM | 
| Ideas? | mike_bike_kite | Which one should I buy? | 10 | 06-13-2010 04:37 PM | 
| Ideas | F1Wild | Amazon Kindle | 4 | 07-10-2009 07:01 AM |