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)
Пример #4
0
 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