1 // The Antville Project 2 // http://code.google.com/p/antville 3 // 4 // Copyright 2007-2011 by Tobi Schäfer. 5 // 6 // Copyright 2001–2007 Robert Gaggl, Hannes Wallnöfer, Tobi Schäfer, 7 // Matthias & Michael Platzer, Christoph Lincke. 8 // 9 // Licensed under the Apache License, Version 2.0 (the ``License''); 10 // you may not use this file except in compliance with the License. 11 // You may obtain a copy of the License at 12 // 13 // http://www.apache.org/licenses/LICENSE-2.0 14 // 15 // Unless required by applicable law or agreed to in writing, software 16 // distributed under the License is distributed on an ``AS IS'' BASIS, 17 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 // See the License for the specific language governing permissions and 19 // limitations under the License. 20 // 21 // $Revision$ 22 // $Author$ 23 // $Date$ 24 // $URL$ 25 26 /** 27 * @fileOverview 28 */ 29 30 var Importer = {} 31 32 Importer.run = function(site, user) { 33 try { 34 var xml = File.getById(site.import_id); 35 if (xml) { 36 var file = new java.io.File(xml.getFile()); 37 var reader = new rome.XmlReader(file); 38 var input = new rome.SyndFeedInput(true); 39 var feed = input.build(reader); 40 Api.constrain(site, user); 41 for (var i=0; i<feed.entries.size(); i+=1) { 42 var entry = feed.entries.get(i); 43 var category = entry.categories.get(0); 44 if (category.name !== "http://schemas.google.com/blogger/2008/kind#post") { 45 continue; 46 } 47 var story = Story.add({ 48 title: entry.title, 49 text: entry.description || entry.contents.get(0).value, 50 created: entry.publishedDate.format("yyyy-MM-dd HH:mm"), 51 status: Story.CLOSED, 52 mode: Story.FEATURED 53 }, site, user); 54 } 55 File.remove.call(xml); 56 } 57 } catch (ex) { 58 app.log(ex); 59 } 60 61 // Reset the site’s export status 62 site.job = null; 63 site.import_id = null; 64 return; 65 } 66