Example #1
0
 def update_page_number(self):
     loop.acquire_lock()
     if (self.page_numbering_type == 0):
         self.starting_page_number = self.starting_page_number + 1
     else:
         self.starting_page_number = self.starting_page_number + 2
     loop.release_lock()
Example #2
0
	def update_page_number(self):
		loop.acquire_lock()
		if (self.page_numbering_type == 0):
			self.starting_page_number = self.starting_page_number + 1
		else:
			self.starting_page_number = self.starting_page_number + 2
		loop.release_lock()
Example #3
0
	def button_ocr_and_view_clicked(self,*data):
		name = self.icon_view_image_list.get_selected_item_names()
		if(name == []):
			return;

		self.show_progress_bar("Running ocr... Please wait");
		image_file = self.get_shell_filename(name[0])
		self.output_terminal.run_command("tesseract {0} /tmp/tesseract-train/output -l {1}".format(image_file,self.language));

		# Wait for output
		os.system("while [ ! -f /tmp/tesseract-train/output.txt ]; do sleep .1; done")
		os.system("count=100; while [ ! -s /tmp/tesseract-train/output.txt ] && [ $count -ge 0 ]; do sleep .1; count=$(($count-1)); done")
		self.hide_progress_bar()
		loop.acquire_lock()

		window_output = window.Window(_("Recognised text from image {0} with {1}".format(image_file.split("/")[-1],self.language)))
		window_output.set_taskbar_icon(macros.logo_file)
		tv = text_view.TextView()
		sb = containers.ScrollBox()
		sb.add(tv)
		tv.set_vexpand(True)
		tv.set_hexpand(True)
		tv.set_text(open("/tmp/tesseract-train/output.txt").read())
		os.system("rm /tmp/tesseract-train/output.txt")
		window_output.set_default_size(500,400)
		window_output.add(sb)
		window_output.show_all()
		loop.release_lock()
Example #4
0
	def button_ocr_and_view_clicked(self,*data):
		name = self.icon_view_image_list.get_selected_item_names()
		if(name == []):
			return;

		self.show_progress_bar("Running ocr... Please wait");
		image_file = self.get_shell_filename(name[0])
		self.output_terminal.run_command("tesseract {0} /tmp/tesseract-train/output -l {1}".format(image_file,self.language));

		# Wait for output
		os.system("while [ ! -f /tmp/tesseract-train/output.txt ]; do sleep .1; done")
		os.system("count=100; while [ ! -s /tmp/tesseract-train/output.txt ] && [ $count -ge 0 ]; do sleep .1; count=$(($count-1)); done")
		self.hide_progress_bar()
		loop.acquire_lock()

		window_output = window.Window(_("Recognised text from image {0} with {1}".format(image_file.split("/")[-1],self.language)))
		window_output.set_taskbar_icon(macros.logo_file)
		tv = text_view.TextView()
		sb = containers.ScrollBox()
		sb.add(tv)
		tv.set_vexpand(True)
		tv.set_hexpand(True)
		tv.set_text(open("/tmp/tesseract-train/output.txt").read())
		os.system("rm /tmp/tesseract-train/output.txt")
		window_output.set_default_size(500,400)
		window_output.add(sb)
		window_output.show_all()
		loop.release_lock()
Example #5
0
	def language_combobox_changed(self,*data):
		active = self.combobox_language.get_active()

		# While resetting combobox after training the active will be -1
		if ( active <= len(self.languages) and active != -1 ):
			self.language = self.languages[active]

			self.show_progress_bar("Loading components of "+self.language)

			#Removing all files in /tmp/tesseract-train/
			shutil.rmtree("/tmp/tesseract-train/")
			os.mkdir("/tmp/tesseract-train/")

			cmd = "combine_tessdata -u {0}/{1}.traineddata /tmp/tesseract-train/file".format(self.tessdata_dir,self.language)
			self.output_terminal.run_command(cmd)
			os.system("while [ ! -r /tmp/tesseract-train/file.unicharset ]; do sleep 0.1; done")

			#setting ambiguous table
			loop.acquire_lock()
			self.treeview_ambiguous.clear()
			loop.release_lock()
			os.system("while [ ! -r /tmp/tesseract-train/file.unicharambigs ]; do sleep 0.1; done")
			self.import_ambiguous_list_from_file("/tmp/tesseract-train/file.unicharambigs")
			for item in DICT_LIST:
				if os.path.isfile(item):
					cmd = "dawg2wordlist /tmp/tesseract-train/file.unicharset {0} {0}.txt".format(item)
					self.output_terminal.run_command(cmd)
					os.system("while kill -0 $(pidof dawg2wordlist) 2> /dev/null; do sleep .1; done")
					os.system("count=100; while [ ! -r {0}.txt ] && [ $count -ge 0 ]; do sleep .1; count=$(($count-1)); done".format(item))
				else:
					f = open(item+".txt","w")
					f.close()

			# Create user dictionary if not exist
			if not os.path.isfile(macros.home_dir+"/lios/user-words.txt"):
				f = open(macros.home_dir+"/lios/user-words.txt","w")
				f.close()

			# Loading each dictionarys
			for d_obj in self.dictionary_objects:
				loop.acquire_lock()
				d_obj.load()
				loop.release_lock()
			self.hide_progress_bar()
Example #6
0
	def language_combobox_changed(self,*data):
		active = self.combobox_language.get_active()

		# While resetting combobox after training the active will be -1
		if ( active <= len(self.languages) and active != -1 ):
			self.language = self.languages[active]

			self.show_progress_bar("Loading components of "+self.language)

			#Removing all files in /tmp/tesseract-train/
			shutil.rmtree("/tmp/tesseract-train/")
			os.mkdir("/tmp/tesseract-train/")

			cmd = "combine_tessdata -u {0}/{1}.traineddata /tmp/tesseract-train/file".format(self.tessdata_dir,self.language)
			self.output_terminal.run_command(cmd)
			os.system("while [ ! -r /tmp/tesseract-train/file.unicharset ]; do sleep 0.1; done")

			#setting ambiguous table
			loop.acquire_lock()
			self.treeview_ambiguous.clear()
			loop.release_lock()
			os.system("while [ ! -r /tmp/tesseract-train/file.unicharambigs ]; do sleep 0.1; done")
			self.import_ambiguous_list_from_file("/tmp/tesseract-train/file.unicharambigs")
			for item in DICT_LIST:
				if os.path.isfile(item):
					cmd = "dawg2wordlist /tmp/tesseract-train/file.unicharset {0} {0}.txt".format(item)
					self.output_terminal.run_command(cmd)
					os.system("while kill -0 $(pidof dawg2wordlist) 2> /dev/null; do sleep .1; done")
					os.system("count=100; while [ ! -r {0}.txt ] && [ $count -ge 0 ]; do sleep .1; count=$(($count-1)); done".format(item))
				else:
					f = open(item+".txt","w")
					f.close()

			# Create user dictionary if not exist
			if not os.path.isfile(macros.user_home_path+"/lios/user-words.txt"):
				f = open(macros.user_home_path+"/lios/user-words.txt","w")
				f.close()

			# Loading each dictionarys
			for d_obj in self.dictionary_objects:
				loop.acquire_lock()
				d_obj.load()
				loop.release_lock()
			self.hide_progress_bar()
Example #7
0
 def redraw(self):
     loop.acquire_lock()
     self.load_image(self.filename, [], self.ZOOM_FIT)
     loop.release_lock()
Example #8
0
	def redraw(self):
		loop.acquire_lock()
		self.load_image(self.filename,[],self.ZOOM_FIT)
		loop.release_lock()