def loadDefaultData(self, lang, legislation_feed_url, project_feed_url): """ """ #load country folder skeleton - default content path = join(NAAYACONTENT_PRODUCT_PATH, 'NyCountry', 'skel.nyexp') import_handler, error = import_parser().parse(self.futRead(path, 'r')) if import_handler is not None: for object in import_handler.root.objects: self.import_data(object) else: raise Exception, EXCEPTION_PARSINGFILE % (path, error) #create right portlets addHTMLPortlet(self, id=self.get_portlet_indicators_id(), title='Key indicators', lang=lang) addHTMLPortlet(self, id=self.get_portlet_reports_id(), title='Important reports', lang=lang) #create remote channels manage_addRemoteChannel(self, id=self.get_rc_legislation_id(), title='Legislation on water RSS feed', url=legislation_feed_url) manage_addRemoteChannel(self, id=self.get_rc_project_id(), title='Project water RSS feed', url=project_feed_url)
def importNyCountry(self, param, id, attrs, content, properties, discussion, objects): #this method is called during the import process try: param = abs(int(param)) except: param = 0 ob = self._getOb(id, None) if param in [0, 1] or (param == 2 and ob is None): if param == 1: #delete the object if exists try: self.manage_delObjects([id]) except: pass addNyCountry( self, id=id, sortorder=attrs['sortorder'].encode('utf-8'), flag_file=self.utBase64Decode(attrs['smallflag'].encode('utf-8')), legislation_feed_url=attrs['legislation_feed_url'].encode('utf-8'), project_feed_url=attrs['project_feed_url'].encode('utf-8'), contributor=self.utEmptyToNone( attrs['contributor'].encode('utf-8')), discussion=abs(int(attrs['discussion'].encode('utf-8'))), load_default_data=0) ob = self._getOb(id) for property, langs in properties.items(): for lang in langs: ob._setLocalPropValue(property, lang, langs[lang]) ob.approveThis(approved=abs(int(attrs['approved'].encode('utf-8'))), approved_by=self.utEmptyToNone( attrs['approved_by'].encode('utf-8'))) if attrs['releasedate'].encode('utf-8') != '': ob.setReleaseDate(attrs['releasedate'].encode('utf-8')) ob.import_comments(discussion) self.recatalogNyObject(ob) #go on and import portlets and remote channels for object in objects: if object.meta_type == "Naaya HTML Portlet": addHTMLPortlet(ob, id=object.id.encode('utf-8')) ob_portlet = ob._getOb(object.id) for property, langs in object.properties.items(): for lang in langs: if len(langs[lang]) > 0: ob_portlet._setLocalPropValue(property, lang, langs[lang]) elif object.meta_type == "Naaya Remote Channel": manage_addRemoteChannel( ob, id=object.attrs['id'].encode('utf-8'), title=object.attrs['title'].encode('utf-8'), url=object.attrs['url'].encode('utf-8'), numbershownitems=object.attrs['numbershownitems'].encode( 'utf-8')) else: ob.import_data(object)
def importNyCountry(self, param, id, attrs, content, properties, discussion, objects): #this method is called during the import process try: param = abs(int(param)) except: param = 0 ob = self._getOb(id, None) if param in [0, 1] or (param==2 and ob is None): if param == 1: #delete the object if exists try: self.manage_delObjects([id]) except: pass addNyCountry(self, id=id, sortorder=attrs['sortorder'].encode('utf-8'), flag_file=self.utBase64Decode(attrs['smallflag'].encode('utf-8')), legislation_feed_url=attrs['legislation_feed_url'].encode('utf-8'), project_feed_url=attrs['project_feed_url'].encode('utf-8'), contributor=self.utEmptyToNone(attrs['contributor'].encode('utf-8')), discussion=abs(int(attrs['discussion'].encode('utf-8'))), load_default_data=0) ob = self._getOb(id) for property, langs in properties.items(): for lang in langs: ob._setLocalPropValue(property, lang, langs[lang]) ob.approveThis(approved=abs(int(attrs['approved'].encode('utf-8'))), approved_by=self.utEmptyToNone(attrs['approved_by'].encode('utf-8'))) if attrs['releasedate'].encode('utf-8') != '': ob.setReleaseDate(attrs['releasedate'].encode('utf-8')) ob.import_comments(discussion) self.recatalogNyObject(ob) #go on and import portlets and remote channels for object in objects: if object.meta_type == "Naaya HTML Portlet": addHTMLPortlet(ob, id=object.id.encode('utf-8')) ob_portlet = ob._getOb(object.id) for property, langs in object.properties.items(): for lang in langs: if len(langs[lang]) > 0: ob_portlet._setLocalPropValue(property, lang, langs[lang]) elif object.meta_type == "Naaya Remote Channel": manage_addRemoteChannel(ob, id=object.attrs['id'].encode('utf-8'), title=object.attrs['title'].encode('utf-8'), url=object.attrs['url'].encode('utf-8'), numbershownitems=object.attrs['numbershownitems'].encode('utf-8')) else: ob.import_data(object)
def importNyCountry(self, param, id, attrs, content, properties, discussion, objects): #this method is called during the import process try: param = abs(int(param)) except: param = 0 ob = self._getOb(id, None) if param in [0, 1] or (param==2 and ob is None): if param == 1: #delete the object if exists try: self.manage_delObjects([id]) except: pass #Creating object and setting all object properties (taken from Schema) ob = _create_NyCountry_object(self, id, self.utEmptyToNone(attrs['contributor'].encode('utf-8'))) for prop in ob._get_schema().listPropNames(): setattr(ob, prop, '') for k, v in attrs.items(): setattr(ob, k, v.encode('utf-8')) for property, langs in properties.items(): for lang in langs: ob._setLocalPropValue(property, lang, langs[lang]) ob.approveThis(approved=abs(int(attrs['approved'].encode('utf-8'))), approved_by=self.utEmptyToNone(attrs['approved_by'].encode('utf-8'))) if attrs['releasedate'].encode('utf-8') != '': ob.setReleaseDate(attrs['releasedate'].encode('utf-8')) ob.import_comments(discussion) self.recatalogNyObject(ob) #go on and import portlets and remote channels for object in objects: if object.meta_type == "Naaya HTML Portlet": addHTMLPortlet(ob, id=object.id.encode('utf-8')) ob_portlet = ob._getOb(object.id) for property, langs in object.properties.items(): for lang in langs: if len(langs[lang]) > 0: ob_portlet._setLocalPropValue(property, lang, langs[lang]) elif object.meta_type == "Naaya Remote Channel": manage_addRemoteChannel(ob, id=object.attrs['id'].encode('utf-8'), title=object.attrs['title'].encode('utf-8'), url=object.attrs['url'].encode('utf-8'), numbershownitems=object.attrs['numbershownitems'].encode('utf-8')) else: ob.import_data(object)
def setUp(self): manage_addRemoteChannel(self.portal['portal_syndication'], id='test_channel', url="http://example.com")