Пример #1
0
class Period:
    def __init__(self):
        self.data_obj = ServeData()
        self.data_obj.load_data()
        self.series_to_track = self.data_obj.return_list()
        self.series_reached = self.data_obj.return_list(False)

    def do_query(self):
        _p_id = Pool(processes=10)
        results = list()
        for series_name in self.series_to_track:
            prepare_name = '+'.join(series_name.split())
            results.append(_p_id.apply_async(query_data,
                                             args=(prepare_name, )))
        for result in results:
            returned_result = result.get()
            json_formatted_result = json.loads(returned_result.text)
            no_of_votes = int(json_formatted_result['imdbVotes'].replace(
                ',', ''))
            rating = float(json_formatted_result['imdbRating'])
            if no_of_votes >= parameters.MAX_VOTES_REQD and rating >= parameters.MAX_RATING_REQD:
                self.series_reached.append(json_formatted_result['Title'])
                self.series_to_track.remove(json_formatted_result['Title'])

    def push_back(self):
        # Do a clean list check first
        for series_name in self.series_reached:
            if series_name in self.series_to_track:
                self.series_to_track.remove(series_name)
        # Push data back to Data guy
        self.data_obj.receive_data_from_query(self.series_to_track,
                                              self.series_reached)
        self.data_obj.save_data()
Пример #2
0
class Period:
	def __init__(self):
		self.data_obj = ServeData()
		self.data_obj.load_data()
		self.series_to_track = self.data_obj.return_list()
		self.series_reached = self.data_obj.return_list(False)
		
	def do_query(self):
		_p_id = Pool(processes=10)
		results = list()
		for series_name in self.series_to_track:
			prepare_name = '+'.join(series_name.split())
			results.append(_p_id.apply_async(query_data, args=(prepare_name, )))
		for result in results:
			returned_result = result.get()
			json_formatted_result = json.loads(returned_result.text)
			no_of_votes = int(json_formatted_result['imdbVotes'].replace(',', ''))
			rating = float(json_formatted_result['imdbRating'])
			if no_of_votes >= parameters.MAX_VOTES_REQD and rating >= parameters.MAX_RATING_REQD:
				self.series_reached.append(json_formatted_result['Title'])
				self.series_to_track.remove(json_formatted_result['Title'])
	
	def push_back(self):
		# Do a clean list check first
		for series_name in self.series_reached:
			if series_name in self.series_to_track:
				self.series_to_track.remove(series_name)
		# Push data back to Data guy
		self.data_obj.receive_data_from_query(self.series_to_track, self.series_reached)
		self.data_obj.save_data()