[WIP] Touch up marking code
parent
14b922ba92
commit
c0d02fbfcd
|
@ -172,14 +172,27 @@ class InvalidSelectorError(STIXError, ValueError):
|
||||||
return msg.format(self.key, self.__class__.__name__)
|
return msg.format(self.key, self.__class__.__name__)
|
||||||
|
|
||||||
|
|
||||||
class DuplicateMarkingError(STIXError, ValueError):
|
class InvalidMarkingError(STIXError, ValueError):
|
||||||
"""Marking violation. The marking reference must be a valid identifier."""
|
"""Marking violation. The marking reference must be a valid identifier."""
|
||||||
|
|
||||||
|
def __init__(self, cls, key):
|
||||||
|
super(InvalidMarkingError, self).__init__()
|
||||||
|
self.cls = cls
|
||||||
|
self.key = key
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
msg = "Marking '{0}' in '{1}' is not a valid marking reference."
|
||||||
|
return msg.format(self.key, self.__class__.__name__)
|
||||||
|
|
||||||
|
|
||||||
|
class DuplicateMarkingError(STIXError, ValueError):
|
||||||
|
"""Marking violation. The marking reference is a duplicate."""
|
||||||
|
|
||||||
def __init__(self, cls, key):
|
def __init__(self, cls, key):
|
||||||
super(DuplicateMarkingError, self).__init__()
|
super(DuplicateMarkingError, self).__init__()
|
||||||
self.cls = cls
|
self.cls = cls
|
||||||
self.key = key
|
self.key = key
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
msg = "Marking '{0}' in '{1}' is not a valid marking reference."
|
msg = "Marking '{0}' in '{1}' is a duplicate marking reference."
|
||||||
return msg.format(self.key, self.__class__.__name__)
|
return msg.format(self.key, self.__class__.__name__)
|
||||||
|
|
|
@ -5,9 +5,7 @@ These high level functions will operate on both object level markings and
|
||||||
granular markings unless otherwise noted in each of the functions.
|
granular markings unless otherwise noted in each of the functions.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from stix2.markings import utils
|
from stix2.markings import granular_markings, object_markings
|
||||||
from stix2.markings import granular_markings
|
|
||||||
from stix2.markings import object_markings
|
|
||||||
|
|
||||||
|
|
||||||
def get_markings(obj, selectors, inherited=False, descendants=False):
|
def get_markings(obj, selectors, inherited=False, descendants=False):
|
||||||
|
|
|
@ -8,7 +8,7 @@ def get_markings(obj, selectors, inherited=False, descendants=False):
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
obj: A TLO object.
|
obj: A TLO object.
|
||||||
selectors: string or list of selectors strings relative to the TLO in
|
selectors: string or list of selector strings relative to the TLO in
|
||||||
which the field(s) appear(s).
|
which the field(s) appear(s).
|
||||||
inherited: If True, include markings inherited relative to the field(s).
|
inherited: If True, include markings inherited relative to the field(s).
|
||||||
descendants: If True, include granular markings applied to any children
|
descendants: If True, include granular markings applied to any children
|
||||||
|
@ -47,7 +47,7 @@ def set_markings(obj, selectors, marking):
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
obj: A TLO object.
|
obj: A TLO object.
|
||||||
selectors: string or list of selectors strings relative to the TLO in
|
selectors: string or list of selector strings relative to the TLO in
|
||||||
which the field(s) appear(s).
|
which the field(s) appear(s).
|
||||||
marking: identifier or list of marking identifiers that apply to the
|
marking: identifier or list of marking identifiers that apply to the
|
||||||
field(s) selected by `selectors`.
|
field(s) selected by `selectors`.
|
||||||
|
@ -134,7 +134,7 @@ def add_markings(obj, selectors, marking):
|
||||||
|
|
||||||
def clear_markings(obj, selectors):
|
def clear_markings(obj, selectors):
|
||||||
"""
|
"""
|
||||||
Removes all granular_marking associated with the selectors.
|
Removes all granular_markings associated with the selectors.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
obj: A TLO object.
|
obj: A TLO object.
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
|
||||||
from stix2 import markings
|
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
|
from stix2 import markings
|
||||||
|
|
||||||
"""Tests for the Data Markings API."""
|
"""Tests for the Data Markings API."""
|
||||||
|
|
||||||
|
|
||||||
|
@ -141,8 +141,7 @@ def test_add_marking_bad_selector(data, marking):
|
||||||
markings.add_markings(data, marking[0], marking[1])
|
markings.add_markings(data, marking[0], marking[1])
|
||||||
|
|
||||||
|
|
||||||
GET_MARKINGS_TEST_DATA = \
|
GET_MARKINGS_TEST_DATA = {
|
||||||
{
|
|
||||||
"a": 333,
|
"a": 333,
|
||||||
"b": "value",
|
"b": "value",
|
||||||
"c": [
|
"c": [
|
||||||
|
@ -510,8 +509,7 @@ def test_remove_marking_bad_selector():
|
||||||
markings.remove_markings(before, ["title"], ["marking-definition--1", "marking-definition--2"])
|
markings.remove_markings(before, ["title"], ["marking-definition--1", "marking-definition--2"])
|
||||||
|
|
||||||
|
|
||||||
IS_MARKED_TEST_DATA = \
|
IS_MARKED_TEST_DATA = {
|
||||||
{
|
|
||||||
"title": "test title",
|
"title": "test title",
|
||||||
"description": "test description",
|
"description": "test description",
|
||||||
"revision": 2,
|
"revision": 2,
|
||||||
|
@ -905,8 +903,7 @@ def test_set_marking_mark_same_property_same_marking():
|
||||||
assert before == after
|
assert before == after
|
||||||
|
|
||||||
|
|
||||||
CLEAR_MARKINGS_TEST_DATA = \
|
CLEAR_MARKINGS_TEST_DATA = {
|
||||||
{
|
|
||||||
"title": "test title",
|
"title": "test title",
|
||||||
"description": "test description",
|
"description": "test description",
|
||||||
"revision": 2,
|
"revision": 2,
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
|
||||||
from stix2 import markings
|
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
|
from stix2 import markings
|
||||||
|
|
||||||
"""Tests for the Data Markings API."""
|
"""Tests for the Data Markings API."""
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue