class SearchTerm:
	def __init__(self, filename):
		words = filter(bool, open(filename, 'r').read().split('\n'))
		# Record and store progress
		progress_filename = filename + '.progress'
		self.progress = Progress(current_file = progress_filename)
		# Load progress
		if self.progress.current:
			self.word_list = words[self.progress.current[0]:]
		else:
			self.word_list = words
		self.counter = 0
	
	def current(self):
		"""
		the index of word in word list
		"""
		return self.progress.current
	
	def get_counter(self):
		"""
		times next() has been called, ie. progress of current session.
		"""
		return self.counter

	def next(self):
		self.progress.next([0], [len(self.word_list)])
		self.progress.save()
		self.counter += 1
	
	def get_word_list(self):
		return self.word_list
	
	def expand_word_list(self, expand_type):
		if expand_type == "suggest":
			self.google_suggest()	
		elif expand_type == "search":
			None
		else:
			None

	def collect(self):
		None

	def google_suggest(self):
		None
Ejemplo n.º 2
0
def test_Progress():
	# multiple values
	progress = Progress(current_file='../../data/trend/no_file')
	assert_equal(progress.next([8,0,0,0,0], [10,9,9,9,9]), [9,0,0,0,0])
	assert_equal(progress.next([8,0,0,0,0], [10,9,9,9,9]), [8,1,0,0,0])
	assert_equal(progress.next([8,0,0,0,0], [10,9,9,9,9]), [9,1,0,0,0])

	# single value
	progress = Progress(current_file='../../data/trend/no_file', start=[0])
	assert_equal(progress.next([0], [3]), [1])
	assert_equal(progress.next([0], [3]), [2])
	assert_equal(progress.next([0], [3]), None)

	# start from middle
	progress = Progress(current_file='../../data/trend/no_file', start=[3])
	assert_equal(progress.next([0], [6]), [4])
	assert_equal(progress.next([0], [6]), [5])
	assert_equal(progress.next([0], [6]), None)