#!/usr/bin/python3
from csvreader import CsvReader
import re

reader = CsvReader(',', '"')
original = reader.parse('latin.gerald.original.csv')
modified = reader.parse('latin.gerald.modified.csv')

if len(original) != len(modified):
	print('Both documents don\'t have equal number of rows')
	exit(1)
else:
	for i in range(0, len(original)):
		normalized_original = re.sub(r'[ \n\t\.,;:\(\)]', '', original[i][1].lower())
		normalized_modified = re.sub(r'[ \n\t\.,;:\(\)]', '', (modified[i][1] + modified[i][2]).lower())
	
		if original[i][0] != modified[i][0]:
			print('row', (i + 1), ': latin column does not match (' + original[i][0] + ' <-> ' + modified[i][0] + ')')
		#end if 
		if normalized_original != normalized_modified:
			print('row', (i + 1), ': translation column was altered (' + original[i][1].replace('\n', '\\n') + ' <-> ' + modified[i][1].replace('\n', '\\n') + ' [' + modified[i][2].replace('\n', '\\n') + '])')
		#end if 
	#end for
	
	print('Checked documents')
	exit(0)
#end if

		#end def
	#end def
	
	def fetch_kanji(self, kanji):
		encoded_char = urllib.parse.quote(kanji)
		image_url = WikicommonsResource.get_imageurl(encoded_char + '-j' + self.imgtype + '.' + self.filetype) # check for japan-specific file
	
		if image_url != None:
			print('Found Japan-specific image for kanji ' + kanji + '!')
			self._save_image(image_url)
		else:
			image_url = WikicommonsResource.get_imageurl(encoded_char + '-' + self.imgtype + '.' + self.filetype)
		
			if image_url != None:
				self._save_image(image_url)
			else:
				print('Cannot download image for kanji ' + kanji)
			#end if
		#end if
	#end def
#end class

hiraganas = HiraganaResource('/home/heartdisease/Documents/hiragana_animated/', 'stroke_order_animation', 'gif')
katakanas = KatakanaResource('/home/heartdisease/Documents/katakana_animated/', 'stroke_order_animation', 'gif')
kanjis    = KanjiResource('/home/heartdisease/Documents/kanji_red/', 'red', 'png') # 'order', 'red'

#hiraganas.fetch_hiraganas(HiraganaResource.get_hiraganas())
#katakanas.fetch_katakanas(KatakanaResource.get_katakanas())
kanjilist = CsvReader(',', '"')
kanjis.fetch_kanjis([row[0] for row in kanjilist.parse('csv/kanji80.csv')])