def _parse_basic_info(self): self._info['vendor'] = self._get_field(VENDOR_XPATH, self._resource_description).strip() if not is_valid_vendor(self._info['vendor']): raise TemplateParseException(_('ERROR: the format of the vendor is invalid.')) self._info['name'] = self._get_field(NAME_XPATH, self._resource_description).strip() if not is_valid_name(self._info['name']): raise TemplateParseException(_('ERROR: the format of the name is invalid.')) self._info['version'] = self._get_field(VERSION_XPATH, self._resource_description).strip() if not is_valid_version(self._info['version']): raise TemplateParseException(_('ERROR: the format of the version number is invalid. Format: X.X.X where X is an integer. Ex. "0.1", "1.11" NOTE: "1.01" should be changed to "1.0.1" or "1.1"')) self._info['display_name'] = self._get_field(DISPLAY_NAME_XPATH, self._resource_description, required=False) self._add_translation_index(self._info['display_name'], type='resource', field='display_name') if not self._info['display_name']: self._info['display_name'] = self._info['name'] self._info['description'] = self._get_field(DESCRIPTION_XPATH, self._resource_description, required=False) self._add_translation_index(self._info['description'], type='resource', field='description') self._info['author'] = self._get_field(AUTHOR_XPATH, self._resource_description, required=False) self._info['email'] = self._get_field(MAIL_XPATH, self._resource_description) self._get_url_field('image_uri', IMAGE_URI_XPATH, self._resource_description, required=False) self._get_url_field('doc_uri', DOC_URI_XPATH, self._resource_description, required=False) self._parse_requirements()
def _parse_basic_info(self): self._info["vendor"] = self._get_field(VENDOR_XPATH, self._resource_description).strip() if not is_valid_vendor(self._info["vendor"]): raise TemplateParseException(_("ERROR: the format of the vendor is invalid.")) self._info["name"] = self._get_field(NAME_XPATH, self._resource_description).strip() if not is_valid_name(self._info["name"]): raise TemplateParseException(_("ERROR: the format of the name is invalid.")) self._info["version"] = self._get_field(VERSION_XPATH, self._resource_description).strip() if not is_valid_version(self._info["version"]): raise TemplateParseException( _( 'ERROR: the format of the version number is invalid. Format: X.X.X where X is an integer. Ex. "0.1", "1.11" NOTE: "1.01" should be changed to "1.0.1" or "1.1"' ) ) self._info["display_name"] = self._get_field(DISPLAY_NAME_XPATH, self._resource_description, required=False) self._add_translation_index(self._info["display_name"], type="resource", field="display_name") if not self._info["display_name"]: self._info["display_name"] = self._info["name"] self._info["description"] = self._get_field(DESCRIPTION_XPATH, self._resource_description, required=False) self._add_translation_index(self._info["description"], type="resource", field="description") self._info["author"] = self._get_field(AUTHOR_XPATH, self._resource_description, required=False) self._info["email"] = self._get_field(MAIL_XPATH, self._resource_description) self._info["image_uri"] = self._get_field(IMAGE_URI_XPATH, self._resource_description, required=False) self._info["iphone_image_uri"] = self._get_field( IPHONE_IMAGE_URI_XPATH, self._resource_description, required=False ) self._info["doc_uri"] = self._get_field(DOC_URI_XPATH, self._resource_description, required=False) self._parse_requirements()
def _parse_basic_info(self): self._info['vendor'] = self._get_field(VENDOR_XPATH, self._resource_description).strip() if not is_valid_vendor(self._info['vendor']): raise TemplateParseException(_('The format of the vendor is invalid.')) self._info['name'] = self._get_field(NAME_XPATH, self._resource_description).strip() if not is_valid_name(self._info['name']): raise TemplateParseException(_('The format of the name is invalid.')) self._info['version'] = self._get_field(VERSION_XPATH, self._resource_description).strip() if not is_valid_version(self._info['version']): raise TemplateParseException(_('ERROR: the format of the version number is invalid. Format: X.X.X where X is an integer. Ex. "0.1", "1.11" NOTE: "1.01" should be changed to "1.0.1" or "1.1"')) self._info['title'] = self._get_field(DISPLAY_NAME_XPATH, self._resource_description, required=False) self._add_translation_index(self._info['title'], type='resource', field='title') self._info['description'] = self._get_field(DESCRIPTION_XPATH, self._resource_description, required=False) self._add_translation_index(self._info['description'], type='resource', field='description') self._info['longdescription'] = self._get_field(LONG_DESCRIPTION_XPATH, self._resource_description, required=False) self._info['authors'] = parse_contacts_info(self._get_field(AUTHOR_XPATH, self._resource_description, required=False)) self._info['contributors'] = parse_contacts_info(self._get_field(CONTRIBUTORS_XPATH, self._resource_description, required=False)) self._info['email'] = self._get_field(MAIL_XPATH, self._resource_description, required=False) self._info['image'] = self._get_field(IMAGE_URI_XPATH, self._resource_description, required=False) self._info['smartphoneimage'] = self._get_field(IPHONE_IMAGE_URI_XPATH, self._resource_description, required=False) self._info['homepage'] = self._get_field(HOMEPAGE_URI_XPATH, self._resource_description, required=False) self._info['doc'] = self._get_field(DOC_URI_XPATH, self._resource_description, required=False) self._info['license'] = self._get_field(LICENCE_XPATH, self._resource_description, required=False) self._info['licenseurl'] = self._get_field(LICENCE_URL_XPATH, self._resource_description, required=False) self._info['issuetracker'] = self._get_field(ISSUETRACKER_XPATH, self._resource_description, required=False) self._info['changelog'] = self._get_field(CHANGE_LOG_XPATH, self._resource_description, required=False) self._parse_requirements()
def get_resource_info(self): if not is_valid_vendor(self._info['vendor']): raise TemplateParseException(_('ERROR: the format of the vendor is invalid.')) if not is_valid_name(self._info['name']): raise TemplateParseException(_('ERROR: the format of the name is invalid.')) if not is_valid_version(self._info['version']): raise TemplateParseException(_('ERROR: the format of the version number is invalid. Format: X.X.X where X is an integer. Ex. "0.1", "1.11" NOTE: "1.01" should be changed to "1.0.1" or "1.1"')) return dict(self._info)
def get_resource_info(self): if not is_valid_vendor(self._info['vendor']): raise TemplateParseException(_('The format of the vendor is invalid.')) if not is_valid_name(self._info['name']): raise TemplateParseException(_('The format of the name is invalid.')) if not is_valid_version(self._info['version']): raise TemplateParseException(_('The format of the version number is invalid. Format: X.X.X where X is an integer. Ex. "0.1", "1.11" NOTE: "1.01" should be changed to "1.0.1" or "1.1"')) return dict(self._info)
def _parse_basic_info(self): self._info['translations'] = {} # ------------------------------------------ if self._info['type'] == 'widget': self._rootURI = self._graph.subjects(RDF['type'], WIRE['Widget']).next() elif self._info['type'] == 'mashup': self._rootURI = self._graph.subjects(RDF['type'], WIRE_M['Mashup']).next() elif self._info['type'] == 'operator': self._rootURI = self._graph.subjects(RDF['type'], WIRE['Operator']).next() vendor = self._get_field(USDL, 'hasProvider', self._rootURI, id_=True) self._info['vendor'] = self._get_field(FOAF, 'name', vendor) if not is_valid_vendor(self._info['vendor']): raise TemplateParseException(_('ERROR: the format of the vendor is invalid.')) self._info['name'] = self._get_field(DCTERMS, 'title', self._rootURI) if not is_valid_name(self._info['name']): raise TemplateParseException(_('ERROR: the format of the name is invalid.')) self._info['version'] = self._get_field(USDL, 'versionInfo', self._rootURI) if not is_valid_version(self._info['version']): raise TemplateParseException(_('ERROR: the format of the version number is invalid. Format: X.X.X where X is an integer. Ex. "0.1", "1.11" NOTE: "1.01" should be changed to "1.0.1" or "1.1"')) license = self._get_field(DCTERMS, 'license', self._rootURI, required=False, default=None, id_=True) if license is not None: self._info['licenseurl'] = unicode(license) self._info['license'] = self._get_field(RDFS, 'label', license, required=False) else: self._info['licenseurl'] = '' self._info['license'] = '' self._info['description'] = self._get_translation_field(DCTERMS, 'description', self._rootURI, 'description', type='resource', field='description') authors = self._get_field(DCTERMS, 'creator', self._rootURI, required=False, id_=True) self._info['authors'] = self._get_field(FOAF, 'name', authors, required=False) self._info['image'] = self._get_field(WIRE, 'hasImageUri', self._rootURI, required=False) self._info['smartphoneimage'] = self._get_field(WIRE, 'hasiPhoneImageUri', self._rootURI, required=False) self._info['doc'] = self._get_field(FOAF, 'page', self._rootURI, required=False) self._info['title'] = self._get_translation_field(WIRE, 'displayName', self._rootURI, 'title', required=False, type='resource', field='title') addr_element = self._get_field(VCARD, 'addr', self._rootURI, id_=True) self._info['email'] = self._get_field(VCARD, 'email', addr_element) self._parse_requirements()
def _parse_basic_info(self): self._info['vendor'] = self._get_field( VENDOR_XPATH, self._resource_description).strip() if not is_valid_vendor(self._info['vendor']): raise TemplateParseException( _('The format of the vendor is invalid.')) self._info['name'] = self._get_field( NAME_XPATH, self._resource_description).strip() if not is_valid_name(self._info['name']): raise TemplateParseException( _('The format of the name is invalid.')) self._info['version'] = self._get_field( VERSION_XPATH, self._resource_description).strip() if not is_valid_version(self._info['version']): raise TemplateParseException( _('ERROR: the format of the version number is invalid. Format: X.X.X where X is an integer. Ex. "0.1", "1.11" NOTE: "1.01" should be changed to "1.0.1" or "1.1"' )) self._info['title'] = self._get_field(DISPLAY_NAME_XPATH, self._resource_description, required=False) self._add_translation_index(self._info['title'], type='resource', field='title') self._info['description'] = self._get_field(DESCRIPTION_XPATH, self._resource_description, required=False) self._add_translation_index(self._info['description'], type='resource', field='description') self._info['longdescription'] = self._get_field( LONG_DESCRIPTION_XPATH, self._resource_description, required=False) self._info['authors'] = parse_contacts_info( self._get_field(AUTHOR_XPATH, self._resource_description, required=False)) self._info['contributors'] = parse_contacts_info( self._get_field(CONTRIBUTORS_XPATH, self._resource_description, required=False)) self._info['email'] = self._get_field(MAIL_XPATH, self._resource_description, required=False) self._info['image'] = self._get_field(IMAGE_URI_XPATH, self._resource_description, required=False) self._info['smartphoneimage'] = self._get_field( IPHONE_IMAGE_URI_XPATH, self._resource_description, required=False) self._info['homepage'] = self._get_field(HOMEPAGE_URI_XPATH, self._resource_description, required=False) self._info['doc'] = self._get_field(DOC_URI_XPATH, self._resource_description, required=False) self._info['license'] = self._get_field(LICENCE_XPATH, self._resource_description, required=False) self._info['licenseurl'] = self._get_field(LICENCE_URL_XPATH, self._resource_description, required=False) self._info['issuetracker'] = self._get_field( ISSUETRACKER_XPATH, self._resource_description, required=False) self._info['changelog'] = self._get_field(CHANGE_LOG_XPATH, self._resource_description, required=False) self._parse_requirements()
def _parse_basic_info(self): self._info['translations'] = {} # ------------------------------------------ if self._info['type'] == 'widget': self._rootURI = next(self._graph.subjects(RDF['type'], WIRE['Widget'])) elif self._info['type'] == 'mashup': self._rootURI = next(self._graph.subjects(RDF['type'], WIRE_M['Mashup'])) elif self._info['type'] == 'operator': self._rootURI = next(self._graph.subjects(RDF['type'], WIRE['Operator'])) vendor = self._get_field(USDL, 'hasProvider', self._rootURI, id_=True) self._info['vendor'] = self._get_field(FOAF, 'name', vendor) if not is_valid_vendor(self._info['vendor']): raise TemplateParseException(_('The format of the vendor is invalid.')) self._info['name'] = self._get_field(DCTERMS, 'title', self._rootURI) if not is_valid_name(self._info['name']): raise TemplateParseException(_('The format of the name is invalid.')) self._info['version'] = self._get_field(USDL, 'versionInfo', self._rootURI) if not is_valid_version(self._info['version']): raise TemplateParseException(_('The format of the version number is invalid. Format: X.X.X where X is an integer. Ex. "0.1", "1.11" NOTE: "1.01" should be changed to "1.0.1" or "1.1"')) license = self._get_field(DCTERMS, 'license', self._rootURI, required=False, default=None, id_=True) if license is not None: self._info['licenseurl'] = text_type(license) self._info['license'] = self._get_field(RDFS, 'label', license, required=False) else: self._info['licenseurl'] = '' self._info['license'] = '' longdescription = self._get_field(DCTERMS, 'description', self._rootURI, id_=True, required=False) if longdescription != '' and isinstance(longdescription, rdflib.Literal): # Old and deprecated behaviour self._info['description'] = self._get_translation_field(DCTERMS, 'description', self._rootURI, 'description', required=False, type='resource', field='description') self._info['longdescription'] = '' else: self._info['longdescription'] = '%s' % longdescription self._info['description'] = self._get_translation_field(DCTERMS, 'abstract', self._rootURI, 'description', required=False, type='resource', field='description') self._info['authors'] = self._parse_people_field(DCTERMS, 'creator', self._rootURI) self._info['contributors'] = self._parse_people_field(DCTERMS, 'contributor', self._rootURI) self._info['image'] = self._get_field(WIRE, 'hasImageUri', self._rootURI, required=False) self._info['smartphoneimage'] = self._get_field(WIRE, 'hasiPhoneImageUri', self._rootURI, required=False) self._info['changelog'] = self._get_field(WIRE, 'hasChangeLog', self._rootURI, required=False) self._info['homepage'] = self._get_field(FOAF, 'homepage', self._rootURI, required=False) self._info['issuetracker'] = self._get_field(DOAP, 'bug-database', self._rootURI, required=False) self._info['doc'] = self._get_field(FOAF, 'page', self._rootURI, required=False) self._info['title'] = self._get_translation_field(WIRE, 'displayName', self._rootURI, 'title', required=False, type='resource', field='title') self._info['email'] = '' addr_element = self._get_field(VCARD, 'addr', self._rootURI, id_=True, default=None, required=False) if addr_element is not None: self._info['email'] = self._get_field(VCARD, 'email', addr_element, required=False) self._parse_requirements()