示例#1
0
    def finalize(self):

        base = self.records if self.rootIterator is None else {
            self.rootIterator: self.records
        }
        if self.compact:
            self.file_pointer.write(demjson.encode(base))

        else:
            self.file_pointer.write(demjson.JSON(compactly=False).encode(base))

        return super(JSONTarget, self).finalize()
示例#2
0
def request_listing(fy, startdate, enddate):
    json = demjson.JSON()
    params = {
        'fiscalyear': fy,
        'startdate': startdate.strftime('%Y-%m-%d') if startdate else '',
        'enddate': enddate.strftime('%Y-%m-%d') if enddate else '',
        'page': 1
    }
    rows_processed = 0
    listing = []
    try:
        sys.stdout.write("Listing agency submission files for fiscal year %s" %
                         fy)
        while True:
            sys.stdout.write(".")
            sys.stdout.flush()

            url = URL_PATTERN % params
            response = urllib2.urlopen(url)
            if response.code == 200:  # OK
                response_obj = json.decode(response.read())
                row_count = len(response_obj['rows'])
                total_rows = response_obj['total']

                for row in response_obj['rows']:
                    (agency, html, datetime) = row['cell']
                    href = extract_href(html)
                    if href:
                        listing.append((href, datetime))
                    rows_processed += 1

                if rows_processed == total_rows:
                    break
                else:
                    params['page'] += 1

            else:
                raise Exception("Unexpected response status code: %s" %
                                str(response.code))
        sys.stdout.write("\n")
        return listing
    except urllib2.URLError, err:
        print "URLError encountered for fiscal year %s" % fy
        print "Problematic URL: %s" % url
        raise
示例#3
0
 def __init__(self):
 
     self.jsonObj = demjson.JSON()
     self.curlHandle = CurlWrapper()
     self.stateEngine = sl_stateMachine()
     
     # fill up cache buffer
     presenterCacheHandle = open(os.path.join(osconfig.cobArchive(), 'presenter.template'), 'r')
     self.presenterCacheBuffer = presenterCacheHandle.read()
     presenterCacheHandle.close()
     
     attendeeCacheHandle = open(os.path.join(osconfig.cobArchive(), 'attendee.template'), 'r')
     self.attendeeCacheBuffer = attendeeCacheHandle.read()
     attendeeCacheHandle.close()
     
     self.presenterCacheBuffer = string.replace(self.presenterCacheBuffer, 'DIMDIMSL_SCRIPTSERVER_URL', osconfig.scriptServerURL())
     self.attendeeCacheBuffer = string.replace(self.attendeeCacheBuffer, 'DIMDIMSL_SCRIPTSERVER_URL', osconfig.scriptServerURL())
     
     return
示例#4
0
    def __init__(self):

        #   stateMachine    = {dimdimID: {bmAction: bookmarkAction, currentResource: resourceID, locked : False, resources : {RESOURCEDICT}}, ...}
        #   RESOURCEDICT    = {'regular' : {resourceID : {lastPage: pageID, currentPage: pageID, pages:{PAGEDICT}}}, 'preloaded' : \
        #                      {resourceID: {lastPage: pageID, currentPage: pageID, pages:{PAGEDICT}}}}
        #   PAGEDICT        = {pageID : {INFODICT}, ...}
        #   INFODICT        = {url : associatedURL, events : {EVENTDICT}}
        #   EVENTDICT       = {eventType : {EIDICT}}      -  only one entry per eventType
        #   EIDICT          = may vary depending on event
        #
        #   Note: The stateMachine does not care about the content itself. All it tries to do, is maintain sanity
        #   Note 2 : Due to the nature of the synchrolive application, every 'set' / 'update' is to the currently shared
        #           resource in a given meeting.
        #

        self.stateMachine = {}
        self.jsonObj = demjson.JSON()
        self.stateLock = threading.BoundedSemaphore(1)
        self.importStateMachine()
        return
示例#5
0
import matplotlib
matplotlib.use('Agg')
from matplotlib.backends.backend_agg import FigureCanvasAgg
from pylab import figure, axes, pie, title, hist, xlabel, ylabel
from matplotlib import pyplot as PLT
from matplotlib.colors import LogNorm

import shelve
import job
import numpy as NP
import math

import time

import demjson
json = demjson.JSON(compactly=False)
jsonify = json.encode

from dojoserializer import serialize

from tacc_stats.models import Job, COLORS, COLOR_LEGEND,  Node
import job

SHELVE_DIR = '/home/tacc_stats/sample-jobs/jobs'
UNIT_DICT = {}
print "Opening SHELVE"
job_shelf = shelve.open(SHELVE_DIR)
print "Shelve Opened"
j = job_shelf['2256038']
print "Job instatiated"
for field, schema in j.schema.iteritems():