Source code for acscsv.stocktwits_acs

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
__author__="Jeff Kolb, Josh Montague"
__license__="Simplified BSD"

import sys
import acscsv

[docs]class StacsCSV(acscsv.AcsCSV): """Normalized stocktwits activities""" def __init__(self, delim, options_user, options_struct, options_influence, options_keypath): super(StacsCSV, self).__init__(delim, options_keypath) self.options_user = options_user self.options_struct = options_struct self.options_influence = options_influence
[docs] def procRecordToList(self, d): """Creates the field list according to options selected.""" record = [] try: record.append(d['object']['id']) record.append(d['object']['postedTime']) record.append(self.cleanField(d['object']['summary'])) actor = d['actor'] if self.options_user: website_url = 'None' record.append(self.cleanField(actor['preferredUsername'])) record.append(self.cleanField(actor['displayName'])) if actor['link'] != None: website_url = actor['link'] record.append(website_url) # if self.options_influence: following_stocks = str(actor['followingStocksCount']) followers = str(actor['followingCount']) experience = str(actor['tradingStrategy']['experience']) record.append(following_stocks) record.append(followers) record.append(experience) # if self.options_struct: in_reply_to = "None" parent_message = "None" replies = "None" if "conversation" in d: con = d["conversation"] if "in_reply_to_message_id" in con: in_reply_to = str(con["in_reply_to_message_id"]) if "parent_message_id" in con: parent_message = str(con["parent_message_id"]) if "replies" in con: replies = str(con["replies"]) record.append(parent_message) record.append(in_reply_to) record.append(replies) # return record except KeyError, e: sys.stderr.write("Field missing from record ({}), skipping. Error={}\n".format(self.cnt, e)) record.append(acscsv.gnipError) record.append(acscsv.gnipRemove) return record