## PubNub 3.3 Web Data Push Cloud-hosted API - PYTHON #### www.pubnub.com - PubNub Web Data Push Service in the Cloud. #### http://github.com/pubnub/python #### Init ``` pubnub = Pubnub( "demo", ## PUBLISH_KEY "demo", ## SUBSCRIBE_KEY None, ## SECRET_KEY False ## SSL_ON? ) ``` #### PUBLISH ``` info = pubnub.publish({ 'channel' : 'hello_world', 'message' : { 'some_text' : 'Hello my World' } }) print(info) ``` #### SUBSCRIBE ``` # Listen for Messages *BLOCKING* def receive(message) : print(message) return True pubnub.subscribe({ 'channel' : 'hello_world', 'callback' : receive }) ``` #### PRESENCE ``` # Listen for Presence Event Messages *BLOCKING* def pres_event(message) : print(message) return True pubnub.presence({ 'channel' : 'hello_world', 'callback' : receive }) ``` #### HERE_NOW ``` # Get info on who is here right now! here_now = pubnub.here_now({ 'channel' : 'hello_world', }) print(here_now['occupancy']) print(here_now['uuids']) ``` #### Channel Analytics ``` analytics = pubnub.analytics({ 'channel' : 'channel-name-here', ## Leave blank for all channels 'limit' : 100, ## aggregation range 'ago' : 0, ## minutes ago to look backward 'duration' : 100 ## minutes offset }) print(analytics) ``` #### HISTORY ``` # Load Previously Published Messages history = pubnub.detailedHistory({ 'channel' : 'my_channel', 'end' : my_end_time_token, # Optional 'start' : my_start_time_token, # Optional 'count' : num_of_msgs_to_return # Optional, default is 100 }) print(history) ``` fig/processors/error-docs.js?id=ad309b13324750ff17ae4fb6d5dcfa416d0766b9'>treecommitdiffstats
path: root/docs/config/processors/error-docs.js
blob: 2543190d1d8e8cc67855e10fb29fcfcb5e0aba17 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
var _ = require('lodash');
var log = require('winston');
var path = require('canonical-path');

module.exports = {
  name: 'error-docs',
  description: 'Compute the various fields for docs in the Error area',
  runAfter: ['tags-extracted'],
  init: function(config, injectables) {
    injectables.value('errorNamespaces', {});

    var minerrInfoPath = config.get('processing.errors.minerrInfoPath');
    if ( !minerrInfoPath ) {
      throw new Error('Error in configuration: Please provide a path to the minerr info file (errors.json) ' +
        'in the `config.processing.errors.minerrInfoPath` property');
    }
    injectables.value('minerrInfo', require(minerrInfoPath));
  },
  process: function(docs, partialNames, errorNamespaces, minerrInfo) {

    // Create error namespace docs and attach error docs to each
    _.forEach(docs, function(doc) {
      if ( doc.docType === 'error' ) {

        // Parse out the error info from the id
        parts = doc.name.split(':');
        doc.namespace = parts[0];
        doc.name = parts[1];


        var namespaceDoc = errorNamespaces[doc.namespace];
        if ( !namespaceDoc ) {
          // First time we came across this namespace, so create a new one
          namespaceDoc = errorNamespaces[doc.namespace] = {
            area: doc.area,
            name: doc.namespace,
            errors: [],
            path: path.dirname(doc.path),
            outputPath: path.dirname(doc.outputPath) + '.html',
            docType: 'errorNamespace'
          };
        }

        // Add this error to the namespace
        namespaceDoc.errors.push(doc);
        doc.namespace = namespaceDoc;

        doc.formattedErrorMessage = minerrInfo.errors[doc.namespace.name][doc.name];

      }

    });


    return docs.concat(_.values(errorNamespaces));
  }
};