Exemplo n.º 1
0
def receiveData(datasource, items):
    if datasource.get('charts'):
        keyname = 'chartses'
    else:
        keyname = 'sites'
    _saveDatasource(datasource, items, keyname)

class DataReceiver(datareceiver.BasicDataReceiver):

    def __init__(self, name):
        datareceiver.BasicDataReceiver.__init__(self, name)

    def onData(self, datasource, items):
        receiveData(datasource, items)

datareceiver.registerReceiver(DataReceiver('Source Now Receiver'))

def _saveDatasource(datasource, items, keyname):
    datasources = cmapi.getItemValue(keyname, [], modelname=LatestItem)

    days = globalconfig.getDatasourceDays()
    strStart = dateutil.getHoursAs14(days * 24)
    datasources = [child for child in datasources
                    if child['source']['added'] >= strStart]

    data = {
        'source': datasource,
        'pages': items,
    }

    foundIndex = -1
Exemplo n.º 2
0
cmapi.registerModel(DatasourceHistory)

def receiveData(datasource, items):
    if not datasource.get('charts'):
        _saveDatasourceHistory(datasource, items)

class DataReceiver(datareceiver.BasicDataReceiver):

    def __init__(self, name):
        datareceiver.BasicDataReceiver.__init__(self, name)

    def onData(self, datasource, items):
        receiveData(datasource, items)

datareceiver.registerReceiver(DataReceiver('Source History Receiver'))

def _getDatasourceHistoryKey(slug):
    return slug

def _saveDatasourceHistory(datasource, items):
    _MAX_COUNT = 20
    slug = datasource['slug']
    value = getDatasourceHistory(slug)
    value['source'] = datasource
    pages = value.get('pages', [])
    for item in reversed(items):
        if item['added'] == datasource['added']:
            pages.insert(0, item)
    pages = pages[:_MAX_COUNT]
    value['pages'] = pages