def genObsSrcData(srcObj, data): ### Add object Contributor from cybox.common.contributor import Contributor oContributor = Contributor() #oContributor.role = 'testRole' #oContributor.name = 'testName' #oContributor.email = 'testEmail' #oContributor.phone = 'testPhone' oContributor.organization = srcObj.Domain from cybox.common.daterange import DateRange oContributor.date = DateRange() oContributor.date.start_date = data['attrib']['first'] #oContributor.date.end_date = data['attrib']['dateRange'].split(" - ")[1] ### Add object MeasureSource from cybox.common.measuresource import MeasureSource oMeasureSource = MeasureSource() oMeasureSource.description = "<![CDATA[" + srcObj.pkgTitle + "]]>" #oMeasureSource.sighting_count = int(['attrib']['Attacks']) oMeasureSource.source_type = "Information Source" oMeasureSource.name = srcObj.pkgLink from cybox.common.contributor import Personnel oMeasureSource.contributors = Personnel() oMeasureSource.contributors.append(oContributor) return (oMeasureSource)
def create_discovery_method_contributor(self,name=None,role=None,email=None,phone=None,organization=None,contribution_location=None,start_date=None,end_date=None): contributor = Contributor() contributor.name=name contributor.role = role contributor.email =email contributor.phone =phone contributor.organization = organization if start_date is not None and end_date is not None: if end_date > start_date: daterange = DateRange() daterange.end_date = end_date daterange.start_date = start_date contributor.date = daterange else: contributor.date =None contributor.contribution_location =contribution_location return contributor
def genObsSrcData(srcObj, data): ### Add object Contributor from cybox.common.contributor import Contributor oContributor = Contributor() #oContributor.role = 'testRole' #oContributor.name = 'testName' #oContributor.email = 'testEmail' #oContributor.phone = 'testPhone' oContributor.organization = srcObj.Domain from cybox.common.daterange import DateRange oContributor.date = DateRange() if 'dateRange' in data['attrib']: oContributor.date.start_date = data['attrib']['dateRange'].split( " - ")[0] oContributor.date.end_date = data['attrib']['dateRange'].split( " - ")[1] ### Add object MeasureSource from cybox.common.measuresource import MeasureSource oMeasureSource = MeasureSource() oMeasureSource.description = srcObj.pkgTitle #oMeasureSource.sighting_count = int(['attrib']['Attacks']) oMeasureSource.source_type = "Aggregator - OpenSource" oMeasureSource.name = srcObj.pkgLink from cybox.common.contributor import Personnel oMeasureSource.contributors = Personnel() oMeasureSource.contributors.append(oContributor) ### Generating InformationSourceType() from cybox.common.measuresource import InformationSourceType oMeasureSource.information_source_type = InformationSourceType() oMeasureSource.information_source_type.value = "website - OpenSource" oMeasureSource.information_source_type.condition = 'Equals' #oMeasureSource.information_source_type.value = '' #oMeasureSource.information_source_type.vocab_reference = #from cybox.common.tools import ToolType #oMeasureSource.tool_type.value = "website - OpenSource" #oMeasureSource.tool_type.condition = 'Equals' #from cybox.common.tools import ToolType #oMeasureSource.tools = cybox.TypedField("Tools", ToolInformationList) #oTime = Time() #oMeasureSource.time = cybox.TypedField("Time", Time) #oMeasureSource.platform = cybox.TypedField("Platform", PlatformSpecification) #oMeasureSource.system = cybox.TypedField("System", ObjectProperties) #oMeasureSource.instance = cybox.TypedField("Instance", ObjectProperties) return (oMeasureSource)
def object_from_dict(cls, contributor_attributes): """Create the Contributor object representation from an input dictionary""" contributor_type = common_binding.ContributorType() for contributor_key, contributor_value in contributor_attributes.items(): if contributor_key == 'role': contributor_type.set_Role(contributor_value) if contributor_key == 'name': contributor_type.set_Name(contributor_value) if contributor_key == 'email': contributor_type.set_Email(contributor_value) if contributor_key == 'phone': contributor_type.set_Phone(contributor_value) if contributor_key == 'organization': contributor_type.set_Organization(contributor_value) if contributor_key == 'date': date_dict = contributor_value date = DateRange.object_from_dict(date_dict) if date.hasContent_(): contributor_type.set_Date(date) if contributor_key == 'contribution_location': contributor_type.set_Contribution_Location(contributor_value) return contributor_type