class Treets(object): """TODO docstring for Treets""" def __init__(self): super(Treets, self).__init__() self.db_client = DBClient() self.data_converter = DataConverter() def all_tweets(self, limit=TWEETS_LIMIT): ''' TODO docstring ''' self.result = self.db_client.get_tweets(limit) return self.tweets_to_geojson(self.result) def all_traces(self, limit=TRACES_LIMIT): ''' TODO docstring ''' self.result = self.db_client.get_traces(limit) return self.traces_to_geojsons(self.result) def prepare_template_args(self, template_args, traces, tweets): template_args['shown_tweets'] = len(tweets['features']) template_args['shown_traces'] = len(traces['features']) template_args['tweets_geojson'] = str(tweets) template_args['traces_geojson'] = str(traces) def search_tweets_near_point(self, coords, dist): ''' TODO docstring ''' self.result = self.db_client.get_tweets_near_point(coords, dist) return self.tweets_to_geojson(self.result) def search_tweets_near_point_and_text(self, coords, text, dist): ''' TODO docstring ''' self.result = self.db_client.get_tweets_near_point_and_text( coords, dist, text) return self.tweets_to_geojson(self.result) def search_tweets_text(self, text): ''' TODO docstring ''' self.result = self.db_client.get_tweets_for_text(text) return self.tweets_to_geojson(self.result) def search_user_trace(self, text): ''' TODO docstring ''' self.result = self.db_client.get_trace_for_user(text) return self.traces_to_geojsons(self.result) def search_traces_near_point(self, coords, dist, limit): ''' TODO docstring ''' self.result = self.db_client.get_traces_near_point(coords, dist, limit) return self.traces_to_geojsons(self.result) def search_traces_near_point_and_text(self, coords, dist, text, limit): ''' TODO docstring ''' self.result = self.db_client.get_traces_near_point_and_text( coords, dist, text, limit) return self.traces_to_geojsons(self.result) def search_traces_text(self, text, limit): ''' TODO docstring ''' self.result = self.db_client.get_traces_for_text(text, limit) return self.traces_to_geojsons(self.result) def export_trace(self, user_name): ''' TODO docstring ''' self.result = self.db_client.get_tweets_for_user_str(user_name)[0] tweets_df = self.data_converter.tweets_to_table(self.result) fname = user_name + '_' + time.strftime("%Y%m%d-%H%M%S") + '.csv' tweets_df.to_csv(TMP_FOLDER + fname, index=False, sep=';', encoding='utf-8', decimal=',') return fname def tweets_to_geojson(self, result): ''' TODO docstring ''' return self.data_converter.tweets_to_feature_collection(result) def traces_to_geojsons(self, result): ''' Returns a geojson fìcontaining all traces and a geojson containing all tweets ''' return self.data_converter.traces_to_feature_collection(result)