common/corpus-common-addon/app/services/geonames-resolver.js
author ymh <ymh.work@gmail.com>
Tue, 27 Sep 2016 23:43:29 +0200
changeset 304 20071981ba2a
child 305 ff6cf3fc5f40
permissions -rw-r--r--
add location and geonames resolvers and api
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
304
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
import * as constants from 'corpus-common-addon/utils/constants';
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
import ResolverService from 'corpus-common-addon/services/resolver-service';
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
export default ResolverService.extend({
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
  storeKeyBase: 'geonames',
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
  apiPath: '/api/v1/geonames/',
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
  resDocRoot: 'geonamesids',
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
  init() {
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
    this._super(...arguments);
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
  },
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
  processId: function(id) {
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
    var geonamesId = id;
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
    var m = id.match(constants.GEONAMES_BASE_URLS);
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
    if (m) {
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
      geonamesId = id.slice(m[0].length);
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
    }
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
    return geonamesId.replace(/\/+$/, '');
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
  },
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
  getReturnDictKey: function(id) { return id; },
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
  getLabel: function(id) { return this.getName(id); }
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
});