| 
			
			 | 
		#721 | 
| 
			
			
			
			 Custom User Title 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 11,360 
				Karma: 79528341 
				Join Date: Oct 2018 
				Location: Canada 
				
				
				Device: Kobo Libra H2O, formerly Aura HD 
				
				
				 | 
	
	
	
		
		
		
		
		 
			
			list_filter() would definitely be more intuitive and ist_add() also being faster would be an advantage.
		 
		
	
		
		
		
		
		
		
		
		
		
		
	
	 | 
| 
		
 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#722 | 
| 
			
			
			
			 Custom User Title 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 11,360 
				Karma: 79528341 
				Join Date: Oct 2018 
				Location: Canada 
				
				
				Device: Kobo Libra H2O, formerly Aura HD 
				
				
				 | 
	
	
	
		
		
		
		
		 
			
			Arithmetic - how do I apply a format to the results? 
		
	
		
		
		
		
		
		
		
		
		
		
		
			e.g. program: divide($$#purchasecost, 1.15) returns 7.9913043478260875 when I just need 7.99. ({0:,.2f}) Last edited by ownedbycats; 10-12-2024 at 06:44 PM.  | 
| 
		
 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#723 | |
| 
			
			
			
			 Grand Sorcerer 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 12,525 
				Karma: 8065948 
				Join Date: Jan 2010 
				Location: Notts, England 
				
				
				Device: Kobo Libra 2 
				
				
				 | 
	
	
	
		
		
		
		
		 Quote: 
	
 Also, $$#purchasecost/1.15 is faster than using the divide() function.  | 
|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#724 | 
| 
			
			
			
			 Custom User Title 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 11,360 
				Karma: 79528341 
				Join Date: Oct 2018 
				Location: Canada 
				
				
				Device: Kobo Libra H2O, formerly Aura HD 
				
				
				 | 
	
	
	
		
		
		
		
		 
			
			Another question: After deleting an integer column (was converting it to a composite), I noticed that a template that checked the integer still worked, but treated everything as a '0'. Is this intentional?
		 
		
	
		
		
		
		
		
		
		
		
		
		
		
			Last edited by ownedbycats; 10-17-2024 at 01:09 AM.  | 
| 
		
 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#725 | 
| 
			
			
			
			 Grand Sorcerer 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 12,525 
				Karma: 8065948 
				Join Date: Jan 2010 
				Location: Notts, England 
				
				
				Device: Kobo Libra 2 
				
				
				 | 
	
	
	
		
		
		
		
		 
			
			Yes, assuming you are using raw_field() or $$ to fetch the value. It returns None for columns that don't exist. None is interpreted as zero in an arithmetic context. Using field() or $ will throw an error
		 
		
	
		
		
		
		
		
		
		
		
		
		
	
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#726 | 
| 
			
			
			
			 Custom User Title 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 11,360 
				Karma: 79528341 
				Join Date: Oct 2018 
				Location: Canada 
				
				
				Device: Kobo Libra H2O, formerly Aura HD 
				
				
				 | 
	
	
	
		
		
		
		
		 
			
			A composite column #timesread calls field_list_count().  
		
	
		
		
		
		
		
		
		
		
		
		
		
			A second composite column then uses $$#timesread (previously it was integer column) as a check. Would using field_list_count() directly in that composite increase performance? Last edited by ownedbycats; 10-20-2024 at 11:10 PM.  | 
| 
		
 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#727 | 
| 
			
			
			
			 Connoisseur 
			
			![]() Posts: 66 
				Karma: 10 
				Join Date: Nov 2023 
				
				
				
				Device: Kindle Oasis 
				
				
				 | 
	
	
	
		
		
			
			 
				
				exclude books with specific tag
			 
			Code: 
	elif $series == "" && $#audiobook != "" then "Stand-Alone with AB" ![]() ![]() ![]()  
		 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#728 | 
| 
			
			
			
			 Custom User Title 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 11,360 
				Karma: 79528341 
				Join Date: Oct 2018 
				Location: Canada 
				
				
				Device: Kobo Libra H2O, formerly Aura HD 
				
				
				 | 
	
	|
| 
		
 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#729 | 
| 
			
			
			
			 Connoisseur 
			
			![]() Posts: 66 
				Karma: 10 
				Join Date: Nov 2023 
				
				
				
				Device: Kindle Oasis 
				
				
				 | 
	
	|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#730 | 
| 
			
			
			
			 Custom User Title 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 11,360 
				Karma: 79528341 
				Join Date: Oct 2018 
				Location: Canada 
				
				
				Device: Kobo Libra H2O, formerly Aura HD 
				
				
				 | 
	
	
	
		
		
		
		
		 
			
			you should also be able to replace $#audiobook != "" with just !$#audiobook
		 
		
	
		
		
		
		
		
		
		
		
		
		
	
	 | 
| 
		
 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#731 | |
| 
			
			
			
			 Grand Sorcerer 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 12,525 
				Karma: 8065948 
				Join Date: Jan 2010 
				Location: Notts, England 
				
				
				Device: Kobo Libra 2 
				
				
				 | 
	
	
	
		
		
		
		
		 Quote: 
	
 If you are asking if it would be faster to use field_list_count() instead of $$#timesread then the answer is yes. In the best case where $$#timesread has already been evaluated for the book then the performance improvement will be around 2 times. If $$#timesread hasn't yet been evaluated for the book then the performance improvement is at least 10 times. If you are using $#timesread (not raw_field()) then the performance improvement of using field_list_count() directly is probably 10 to 100 times. Last edited by chaley; 10-21-2024 at 07:55 AM. Reason: corrected spelling error  | 
|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#732 | 
| 
			
			
			
			 Connoisseur 
			
			![]() ![]() Posts: 63 
				Karma: 190 
				Join Date: Sep 2023 
				
				
				
				Device: Kobo Libra 2 
				
				
				 | 
	
	
	
		
		
		
		
		 
			
			Hello! I'm using a template that uses the word count column to assign a book's tags. 
		
	
		
		
		
		
		
		
		
		
		
		
	
	I have tags for Comics, Novellas, Novels, and Long. Ideally, anything under 2k words will be a Comic, under 40k is a Novella, 150k is a Novel, and anything above that is Long. It turns out that books with 100k and higher have the "Novel"/"Long" and the "comic" tags, books with 50k-100k words have the correct tags. Books less than 1k are not being given the "comic" tag and books over 188k are not being given any tags at all. What am I doing wrong? Example: Code: 
	program: words = $$#words; pages = $$#pages; new_colls = strcat( if (words < 1500000 && words > 150000) then 'Long,' fi, if (words < 150000 && words > 50000) then 'Novel,' fi, if (words < 40000 && words > 2000) then 'Novella,' fi, if (words < 2000 && words > 0 && pages > 0) then 'Comic,' fi ) new_colls  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#733 | ||
| 
			
			
			
			 Grand Sorcerer 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 12,525 
				Karma: 8065948 
				Join Date: Jan 2010 
				Location: Notts, England 
				
				
				Device: Kobo Libra 2 
				
				
				 | 
	
	
	
		
		
		
		
		 Quote: 
	
 As said in the template language manual, which is your friend: Quote: 
	
 BTW2: it seems you should be using >=# in the second relational clause of the if statements. Otherwise you are skipping exact matches. Last edited by chaley; 10-21-2024 at 10:37 AM. Reason: Added BTW2  | 
||
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#734 | |
| 
			
			
			
			 Custom User Title 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 11,360 
				Karma: 79528341 
				Join Date: Oct 2018 
				Location: Canada 
				
				
				Device: Kobo Libra H2O, formerly Aura HD 
				
				
				 | 
	
	
	
		
		
		
		
		 Quote: 
	
 Code: 
	program:
	status = readstatus();
	times = field_list_count('#datesread');
	readgoal = strcat('readinggoal:', format_date(today(), 'yyyy')) in $#admintags;
	switch_if(
		status=='read', 'Read',
		status=='didnotfinish', 'Did Not Finish',
		status=='currentlyreading', 
			if times >#0 then 'Currently Rereading' 
			else 'Currently Reading' fi,
		status=='toberead', 'To Be Read',
		status=='unread', 
			if readgoal && $$#lastread != 'None' then 'To Be Read' 
			elif readgoal then 'Backlog' 
			else 'Unread' fi,
		''
	)
I just realized I could probably speed up this template a nudge by turning those nested if-thens into switch_ifs.  | 
|
| 
		
 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 
			
			 | 
		#735 | 
| 
			
			
			
			 Custom User Title 
			
			![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 11,360 
				Karma: 79528341 
				Join Date: Oct 2018 
				Location: Canada 
				
				
				Device: Kobo Libra H2O, formerly Aura HD 
				
				
				 | 
	
	
	
		
		
		
		
		 Code: 
	program:
	readgoal = strcat('readinggoal:', format_date(today(), 'yyyy'));
	challenge =	strcat('rgchallenges:purchases', format_date(today(), 'yyyy'));
	if
		format_date($date, 'yyyy') == format_date(today(), 'yyyy')
		&& readgoal in $#admintags
		&& $#purchasesource
		&& $#cost !='0.00'
	then
		list_union(challenge, $#admintags, ',')
	else
		$#admintags
	fi
Last edited by ownedbycats; 10-21-2024 at 06:10 PM.  | 
| 
		
 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
![]()  | 
            
        
            
            
  | 
    
			 
			Similar Threads
		 | 
	||||
| Thread | Thread Starter | Forum | Replies | Last Post | 
| Library Management: various questions not worth their own thread | ownedbycats | Library Management | 253 | 10-21-2025 09:15 AM | 
| [Metadata Source Plugin] Questions regarding parse select, docs and ref templates | Boilerplate4U | Development | 13 | 07-07-2020 03:35 AM | 
| Questions on Kobo [Interfered with another thread topic] | spdavies | Kobo Reader | 8 | 10-12-2014 12:37 PM | 
| [OLD Thread] Some questions before buying the fire. | darthreader13 | Amazon Fire | 7 | 05-10-2013 10:19 PM | 
| Thread management questions | meme | Feedback | 6 | 01-31-2011 06:07 PM |