View Single Post
Old 05-06-2012, 12:34 AM   #297
pchrist7
Addict
pchrist7 got an A in P-Chem.pchrist7 got an A in P-Chem.pchrist7 got an A in P-Chem.pchrist7 got an A in P-Chem.pchrist7 got an A in P-Chem.pchrist7 got an A in P-Chem.pchrist7 got an A in P-Chem.pchrist7 got an A in P-Chem.pchrist7 got an A in P-Chem.pchrist7 got an A in P-Chem.pchrist7 got an A in P-Chem.
 
pchrist7's Avatar
 
Posts: 378
Karma: 6476
Join Date: Aug 2010
Location: Denmark
Device: Kindle 3 3G+Wifi
TABS ? Or ...

Quote:
Originally Posted by pawcook View Post
I really want to get this working but keep getting an 'Exception while compiling function' error when clicking on Create, it seems to be a 'SyntaxError: invalid syntax
I have tried over and over copy and pasting the program code but no joy. I am using Calibre 0.8.34
Thanks in advance for any help
Hi pawcook
Hmm, I wonder if all indents in the program code are <TABS> ?
Must be.
Your quote of original post step 5 looks weird ?
Looks like 1 line, should be 22 lines like this:
Code:
def evaluate(self, formatter, kwargs, mi, locals, val, is_read_pct,  
				is_reading_str, no_page_read_str):
	try:
		test_val = int(is_read_pct)
	except:
		return 'is_read_pct is not a number'

	import re
	mg = re.match('.*\s(\d+[-/]\d+[-/]\d+).*?Last Page Read: Location \d+ \((\d+)%\)', val, re.I + re.DOTALL);
	if mg is None:
		return no_page_read_str
	date = mg.group(1)
	pct = mg.group(2)
	try:
		f = int(pct)
		if f > test_val:
			return date
		elif f > 0:
			return is_reading_str + ': ' + pct + '%'
	except:
		pass
	return no_page_read_str
Please give it another try.

Cheers, Per
pchrist7 is offline   Reply With Quote