www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | Submodules | README | LICENSE

Test Import Translator.js (1187B)


      1 {
      2     "translatorID": "619ed0f3-d8f3-4086-b1e7-f57ef35c3c43",
      3     "label": "Import Zotero JSON",
      4     "creator": "Simon Kornblith",
      5     "target": "json",
      6     "minVersion": "",
      7     "maxVersion": "",
      8     "priority": 1,
      9     "inRepository": false,
     10     "translatorType": 1,
     11     "browserSupport": "g",
     12     "lastUpdated": "2015-06-12 20:15:00"
     13 }
     14 
     15 var parsedData;
     16 
     17 function parseInput() {
     18     var str, json = "";
     19     
     20     // Read in the whole file at once, since we can't easily parse a JSON stream. The 
     21     // chunk size here is pretty arbitrary, although larger chunk sizes may be marginally
     22     // faster. We set it to 1MB.
     23     while((str = Z.read(1048576)) !== false) json += str;
     24     
     25     try {
     26         parsedData = JSON.parse(json);
     27     } catch(e) {
     28         Zotero.debug(e);
     29     }
     30 }
     31 
     32 function detectImport() {
     33     parseInput();
     34     if(!parsedData) return false;
     35     return typeof parsedData === "object" && parsedData["journalArticle"];
     36 }
     37 
     38 function doImport() {
     39     for(var itemType in parsedData) {
     40         var item = new Z.Item(itemType);
     41         for (var field in parsedData[itemType]) {
     42             item[field] = parsedData[itemType][field];
     43         }
     44         item.complete();
     45     }
     46 }