Source code for acscsv.wordpress_acs

#/!/usr/bin/env python
# -*- coding: UTF-8 -*-
__author__="Scott Hendrickson"
__license__="Simplified BSD"
import sys
import acscsv

[docs]class WPacsCSV(acscsv.AcsCSV): """Word press activites""" def __init__(self, delim, options_keypath, options_user, options_rules, options_lang, options_struct): super(WPacsCSV, self).__init__(delim,options_keypath) self.options_user = options_user self.options_rules = options_rules self.options_lang = options_lang self.options_struct = options_struct
[docs] def procRecordToList(self, d): """Creates the list of output fields.""" record = [] try: if "verb" in d: verb = d["verb"] else: msg = "Unidentified meta message" for mtype in ["error", "warning", "info"]: if mtype in d: if "message" in d[mtype]: msg = d[mtype]["message"] elif "message" in d: msg = d["message"] continue mtype = "Unidentified" record.append(acscsv.gnipRemove) record.append(mtype) record.append(msg) return record if verb == "delete": record.append(acscsv.gnipRemove) record.append(verb) record.append(d["object"]["id"]) return record # record.append(d["id"]) record.append(d["postedTime"]) obj = d["object"] if "content" in obj: record.append(obj["content"]) else: record.append("None") if "summary" in obj: record.append(obj["summary"]) else: record.append("None") # gnip = d["gnip"] actor = d["actor"] if self.options_lang: glang = "None" if "language" in gnip: glang = gnip["language"]["value"] record.append(glang) if self.options_rules: rules = '[]' if "matching_rules" in gnip: rules = self.buildListString([ "%s [%s]"%(l["value"], l["tag"]) for l in gnip["matching_rules"]]) record.append(rules) if self.options_struct: target = d["target"] # put these things in try blocks / ifs # site record.append(str(target["wpBlogId"])) # blog link record.append(target["link"].encode('ascii', 'replace')) # object record.append(str(obj["wpPostId"])) # link to post record.append(obj["link"].encode('ascii', 'replace')) if self.options_user: tmp = "None" if (actor is not None) & ("id" in actor): if actor['id'] is not None: tmp = self.splitId(actor["id"]) record.append(tmp) # return record except KeyError: sys.stderr.write("Field missing from record (%d), skipping\n"%self.cnt) record.append(acscsv.gnipError) return record