Michael Chisholm
63166ab256
Add some backward-compatibility to filesystem store: versioned
...
objects are searched for as ID-named json files in the type
directories, in addition to timestamp-named files in ID
directories.
Made a bugfix: fixed improper exception re-raises
Made an efficiency improvement: don't stat() files in
_get_matching_dir_entries() if no st_mode_test callable is given.
2018-11-27 15:24:09 -05:00
Michael Chisholm
da13882eec
Fix FileSystemSource.get() to not look for the latest version of
...
an object when markings are queried, since markings are not
versioned.
2018-11-27 15:24:08 -05:00
Michael Chisholm
2b983368e5
Fix an indexing error which caused FileSystemSource.get() to return
...
the oldest object instead of the newest.
2018-11-27 15:24:07 -05:00
Michael Chisholm
9693c16cd1
Adjust import order to satisfy tox import check
2018-11-27 15:24:07 -05:00
Michael Chisholm
428a18ded2
Implemented clenk's suggested changes in multi-version filesystem
...
store:
- Use utils.get_type_from_id() instead of my own (I didn't know it
was already there)
- Use dict-style instead of attribute-style access to get stix
object properties
- Convert timezone-aware timestamps to UTC in _timestamp2filename()
to ensure that different times always result in different
filenames.
Also added a couple new tests for _timestamp2filename(), which
exercises the timezone conversion code.
2018-11-27 15:24:07 -05:00
Michael Chisholm
461e8bd5cb
Removed the old FileSystemSource.query method. I'd renamed it
...
"query2" and forgot about it and left it there...
2018-11-27 15:24:07 -05:00
Michael Chisholm
0096835cfc
Add multi-version support to the filesystem datastore.
...
Factored out the _is_marking() function from the memory datastore
module to utils so it can be reused, and changed both filesystem
and memory datastore modules to import and use it.
2018-11-27 15:24:07 -05:00
Emmanuelle Vargas-Gonzalez
51df054f33
Update memory.py
2018-11-14 15:16:49 -05:00
Emmanuelle Vargas-Gonzalez
d6435a18fa
Missing changes to key/value approach
2018-11-14 15:03:57 -05:00
Emmanuelle Vargas-Gonzalez
c80f39ceed
Change approach to allow for custom objects
2018-11-14 14:35:22 -05:00
Chris Lenk
c4668f5dc1
Revert "Multi version filesystem store"
2018-11-07 10:10:06 -05:00
Michael Chisholm
7bb3d1f6a6
Fix FileSystemSource.get() to not look for the latest version of
...
an object when markings are queried, since markings are not
versioned.
2018-11-06 16:06:26 -05:00
Michael Chisholm
e2f5d60b51
Fix an indexing error which caused FileSystemSource.get() to return
...
the oldest object instead of the newest.
2018-11-01 20:25:00 -04:00
Michael Chisholm
e2d9325356
Adjust import order to satisfy tox import check
2018-11-01 20:25:00 -04:00
Michael Chisholm
ee57596d6a
Implemented clenk's suggested changes in multi-version filesystem
...
store:
- Use utils.get_type_from_id() instead of my own (I didn't know it
was already there)
- Use dict-style instead of attribute-style access to get stix
object properties
- Convert timezone-aware timestamps to UTC in _timestamp2filename()
to ensure that different times always result in different
filenames.
Also added a couple new tests for _timestamp2filename(), which
exercises the timezone conversion code.
2018-11-01 20:25:00 -04:00
Michael Chisholm
51668a9a04
Removed the old FileSystemSource.query method. I'd renamed it
...
"query2" and forgot about it and left it there...
2018-11-01 20:25:00 -04:00
Michael Chisholm
9486b46f77
Add multi-version support to the filesystem datastore.
...
Factored out the _is_marking() function from the memory datastore
module to utils so it can be reused, and changed both filesystem
and memory datastore modules to import and use it.
2018-11-01 20:25:00 -04:00
Chris Lenk
6613b55a43
Update MemoryStore documentation
...
...now that MemorySource normalizes its data to python-stix2 objects.
2018-10-23 14:29:56 -04:00
Michael Chisholm
cbe8d22d0a
Added support to multi-version memory stores for markings. Also
...
added some more unit tests which test storing/retrieving markings
from the stores.
2018-10-17 20:54:53 -04:00
Michael Chisholm
2d89cfb0cf
Remove outdated TODO's from the memory datastore module-level
...
docstring.
2018-10-17 15:49:58 -04:00
Michael Chisholm
d9f6a213c1
Fixed Memory source/sink/store so that it supports multiple versions
...
of objects. Fixed several bugs too.
2018-10-15 18:02:49 -04:00
Michael Chisholm
5a0e102959
Modify docstring for apply_common_filters() to change what it
...
says are the required types for its parameters. It gave
specific types (list and set), when really it worked with more
than just that (iterables). And I certainly didn't only call
it with just lists and sets.
2018-10-15 18:02:48 -04:00
Chris Lenk
f47809eaaf
Add "contains" filter
...
This allows filtering on, for example, observed-data objects that
contain a specific cyber observable.
2018-07-02 18:28:27 -04:00
=
3fb1840289
safer error class
2018-05-22 10:03:06 -04:00
=
e484b7c25f
formatting
2018-05-18 11:45:40 -04:00
=
a3313bc08f
creating native DataSourceError exception class to wrap taxii client and server errors
2018-05-16 13:23:50 -04:00
=
2b4c5bf264
handling and modifying exception messages in a manner acceptable by all python versions
2018-05-15 17:42:19 -04:00
=
0d3f80f2fe
removing taxii 503 error test as not reproducible in Travis environment
2018-05-15 15:41:46 -04:00
=
2392912533
handle TAXII client/server errors according to decided policy
2018-05-15 11:28:34 -04:00
Emmanuelle Vargas-Gonzalez
fb79e703b8
Simplify FilterSet instance in MemorySource
2018-04-23 14:12:16 -04:00
Emmanuelle Vargas-Gonzalez
8a9acfe487
Create TAXII query correctly. closes #169
2018-04-23 14:11:08 -04:00
Chris Lenk
194672ee2b
Tweak FilterSet docstrings style
2018-04-13 17:11:07 -04:00
=
6df23e7268
removed unecessary checks, (clearly I need to review python ref model)
2018-04-13 16:06:31 -04:00
=
eba1844535
tweak to filter property checking to make sure original object property is not altered; added tests for this as well
2018-04-13 14:01:33 -04:00
=
61e091baf3
added FilterSet class for internal use; modified certain parsing processes to make deepcopies or suppled values(dicts) so as to taint original user passed data; added Filter logic to handle datetime objects; added/adjusted tests accordingly
2018-04-13 12:25:12 -04:00
=
1a1e5e1616
WIP- getting close though
2018-04-13 11:08:03 -04:00
=
31fc1c369a
still WIP
2018-04-12 12:03:07 -04:00
=
333fea4d18
merge conflicts
2018-04-11 21:08:37 -04:00
=
ba6fa595c6
WIP - finding more issues with allowing dicts as filters
2018-04-11 20:54:16 -04:00
=
27647091a5
WIP - just at stash point
2018-04-11 13:36:52 -04:00
Chris Lenk
f83d9a56b5
Clean up documentation
2018-04-09 13:29:53 -04:00
Chris Lenk
e6e72856b3
Remove query_by_type()
...
Missed these earlier.
2018-04-05 11:22:50 -04:00
Greg Back
a1ad90d43f
Merge pull request #150 from oasis-open/38-workbench
...
Create Workbench layer
2018-04-05 10:09:23 -05:00
Chris Lenk
e3bbc39353
Fix bug with mutable default parameter
2018-04-05 10:07:35 -04:00
Chris Lenk
589c00064b
Remove query_by_type
...
It's not that much of a shortcut and we can add it back in later if it
makes sense.
2018-04-04 14:09:54 -04:00
Chris Lenk
f951b9b09e
Factor out dupl. code for creating list of filters
2018-04-04 13:50:41 -04:00
Chris Lenk
940afb0012
Require a type when querying by type
2018-04-02 09:54:22 -04:00
Emmanuelle Vargas-Gonzalez
0bb1bb37f1
Call parse() on stix_data
...
# Fix on MemorySource.load_from_file()
2018-04-02 07:40:25 -04:00
Chris Lenk
4a2ac6df3a
Add/fix workbench docs, rename add() -> save()
2018-03-30 12:04:31 -04:00
Chris Lenk
4fb24f14de
Allow passing add'l filters to related_to()
2018-03-30 12:02:27 -04:00