Skip to content

Commit

Permalink
Merge branch 'master' of git://github.com/cgi1/PyMISP into cgi1-master
Browse files Browse the repository at this point in the history
  • Loading branch information
Rafiot committed Jan 16, 2017
2 parents 748136f + 60c02cb commit 351ad53
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 6 deletions.
21 changes: 15 additions & 6 deletions pymisp/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ class distributions(object):
this_community = 1
connected_communities = 2
all_communities = 3

sharing_group = 4

class threat_level(object):
"""Enumeration of the available threat levels."""
Expand Down Expand Up @@ -300,10 +300,10 @@ def delete_attribute(self, attribute_id):
# ######### Event handling (Json only) #########
# ##############################################

def _prepare_full_event(self, distribution, threat_level_id, analysis, info, date=None, published=False, orgc_id=None, org_id=None):
def _prepare_full_event(self, distribution, threat_level_id, analysis, info, date=None, published=False, orgc_id=None, org_id=None, sharing_group_id=None):
misp_event = MISPEvent(self.describe_types)
misp_event.set_all_values(info=info, distribution=distribution, threat_level_id=threat_level_id,
analysis=analysis, date=date, orgc_id=orgc_id, org_id=org_id)
analysis=analysis, date=date, orgc_id=orgc_id, org_id=org_id, sharing_group_id=sharing_group_id)
if published:
misp_event.publish()
return misp_event
Expand Down Expand Up @@ -347,8 +347,16 @@ def change_threat_level(self, event, threat_level_id):
e.threat_level_id = threat_level_id
return self.update_event(event['Event']['id'], json.dumps(e, cls=EncodeUpdate))

def new_event(self, distribution=None, threat_level_id=None, analysis=None, info=None, date=None, published=False, orgc_id=None, org_id=None):
misp_event = self._prepare_full_event(distribution, threat_level_id, analysis, info, date, published, orgc_id, org_id)
def change_sharing_group(self, event, sharing_group_id):
e = MISPEvent(self.describe_types)
e.load(event)
e.distribution = 4 # Needs to be 'Sharing group'
e.sharing_group_id = sharing_group_id
return self.update_event(event['Event']['id'], json.dumps(e, cls=EncodeUpdate))


def new_event(self, distribution=None, threat_level_id=None, analysis=None, info=None, date=None, published=False, orgc_id=None, org_id=None, sharing_group_id=None):
misp_event = self._prepare_full_event(distribution, threat_level_id, analysis, info, date, published, orgc_id, org_id, sharing_group_id)
return self.add_event(json.dumps(misp_event, cls=EncodeUpdate))

def add_tag(self, event, tag):
Expand Down Expand Up @@ -1046,10 +1054,11 @@ def sighting_per_json(self, json_file):

def get_sharing_groups(self):
session = self.__prepare_session()
url = urljoin(self.root_url, 'sharing_groups/index.json')
url = urljoin(self.root_url, 'sharing_groups')
response = session.get(url)
return self._check_response(response)['response']


# ############## Users ##################

def _set_user_parameters(self, email, org_id, role_id, password, external_auth_required,
Expand Down
2 changes: 2 additions & 0 deletions pymisp/mispevent.py
Original file line number Diff line number Diff line change
Expand Up @@ -526,6 +526,8 @@ def _json_full(self):
to_return['Event']['RelatedEvent'].append(rel_event._json_full())
if self.Org:
to_return['Event']['Org'] = self.Org
if self.sharing_group_id:
to_return['Event']['sharing_group_id'] = self.sharing_group_id
if self.ShadowAttribute:
to_return['Event']['ShadowAttribute'] = self.ShadowAttribute
if self.proposal_email_lock is not None:
Expand Down

0 comments on commit 351ad53

Please sign in to comment.