Commit graph

81 commits

Author SHA1 Message Date
0155fea4c1 Impl Display for StoreLinkConsistencyErrorCustomData 2017-06-06 19:04:53 +02:00
13b24cb397 Impl StoreLinkConsistentExt::check_link_consistency() 2017-06-06 19:04:53 +02:00
83647e52a0 Add trait to extend store for link consistency check
This commit adds the error infrastructure as well as the trait for
extensing the `Store` type with a function to do a link consistency
check over _all_ entries in the store.

The functionality is not implemented yet.
2017-06-06 19:04:53 +02:00
8253fb9795 libimagutil does not provide macros anymore 2017-05-04 16:28:10 +02:00
4472449696 Add new dependency: is_match = 0.1 2017-05-04 16:20:15 +02:00
365f9eb237 Fix: Link::exists() must return Result<bool> now 2017-04-22 11:58:14 +02:00
f225aec9da Add Link::get_store_id() helper function 2017-04-21 21:08:56 +02:00
6b821f7b28 Add wrapper for Link::to_str() -> StoreId::to_str() 2017-04-21 21:08:56 +02:00
c550325711 Add Link::exists() -> StoreId::exists() wrapper 2017-04-21 21:08:56 +02:00
633f999d54 Add new trait function to add annotated links
With this new trait function, one can add annotated links to the
entries.

There's no support yet for removing these links.
2017-04-21 21:08:56 +02:00
8de5bf93be Add support for new link type in return-value parsing 2017-04-21 21:08:56 +02:00
21d758d635 Add with_base() wrapper for tests 2017-04-21 21:08:56 +02:00
87ee509dc0 Prepare for annotations implementation
This patch changes the `libimagentrylink` internals to use a

    enum { Id(StoreId), Annotated(StoreId, String) }

as Link type.

In this patch, changes were made to be able to compile the code, but
tests might fail and other crates might fail as well.
2017-04-21 21:08:56 +02:00
725848713b libimagentrylink: Remove EntryHeader type, use toml::Value 2017-02-05 13:10:39 +01:00
f1c1a1f9be Eliminate EntryHeader type
Therefor introduce the "Header" trait which is implemented on Value for
backwards compatibility.

Make the default_header() function publicly available as
Entry::default_header()
2017-02-05 13:10:38 +01:00
3e426b87cf Fix docu typo 2016-12-05 17:17:26 +01:00
e4e5fafce2 Make fn pub 2016-10-20 14:11:47 +02:00
7806cf34c1 Refactor FilterCompareLinkCountIter into FilterLinksIter 2016-10-20 14:11:47 +02:00
19b60c3776 Refactor Filter{More,Less}ThanIter into FilterCompareLinkCountIter 2016-10-19 14:34:11 +02:00
d54666894d Add FilterMoreThanIter 2016-10-19 14:34:11 +02:00
c55ad42e59 Rewrite FilterUnlinkedIter to a FilterLessThanIter 2016-10-19 14:34:11 +02:00
1e008f26a2 Add FilterUnlinkedIter 2016-10-19 14:34:11 +02:00
3e7f245278 Rename: RemoveUnlinkedIter -> DeleteUnlinkedIter 2016-10-19 14:34:10 +02:00
efce42b394 Remove DeleteIter 2016-10-19 14:34:10 +02:00
0eda8e2d04 Initial add iterators for link library 2016-10-19 14:34:10 +02:00
db17b4f858 Rewrite ExternalLinker::get_external_links() to return iterator 2016-10-19 13:03:17 +02:00
3aa05c3ecc Add warning on type names 2016-10-19 13:03:17 +02:00
4ca501c03e Add SelectExternal LinkIter extension trait 2016-10-19 13:03:17 +02:00
647f25a904 Add module documentation 2016-10-19 13:03:17 +02:00
378951a16b Add module external::iter 2016-10-19 13:03:17 +02:00
a796de322a Fix bug: Links were swapped 2016-10-15 11:36:25 +02:00
b64eae9654 Add multi-link test 2016-10-15 11:35:01 +02:00
6d31913321 Fix bug: We have to compare StoreId objects without their base 2016-10-15 11:24:42 +02:00
9c29bf19da Add debugging output 2016-10-15 11:24:14 +02:00
4e2bcf7d58 Add env-logger for test logging 2016-10-15 11:23:31 +02:00
36b77f4e38 Add test for linking+unlinking 2016-10-15 11:23:30 +02:00
d27c8ced34 Add first internal-linking test 2016-10-15 11:23:30 +02:00
02a2034d8b Fix usage of libimagentrylink interface 2016-10-14 13:27:06 +02:00
b70564f2ce Change InternalLinker to return iterator objects 2016-10-14 13:27:06 +02:00
2db79ada71 libimagentrylink: Add copyright notice to all files 2016-10-01 17:35:06 +02:00
40014051ec Bugfix: unique()ing the list of links
That should happen _after_ they are all in the same format.
This commit introduces overhead, as we clone() each string here for
comparison and that should clearly be fixed.

Though the bug-fix is more important at this point.
2016-09-06 15:30:26 +02:00
1dfe877cd9 Fix typo in is_external_link_storeid() helper fn 2016-09-05 18:52:42 +02:00
c23a11060f Add debug output 2016-09-05 18:51:35 +02:00
2956df81f1 Fix: We save the url at imag.content.url, not imag.content.uri 2016-09-05 18:49:12 +02:00
ccffeb91a2 Remove StoreId::is_in_collection(), add StoreId::local()
Having a ::is_in_collection() is a nice thing, though it is _way_ better
if we just give the user of the `StoreId` object access to the local
part of the ID.

Using this new function, one can do all the actions one might need on
the Path for the actual entry without nasty copying or such.

`StoreId::is_in_collection()` can be replaced by
`StoreId::local().starts_with()` and everything is fine, as we do not
have to move a `PathBuf` object into the function anymore.
2016-09-04 10:40:38 +02:00
4da331f990 Use new StoreId::is_in_collection() interface 2016-09-02 17:16:03 +02:00
46bf387fc3 Make internal linking only have store-relative links 2016-08-31 09:20:09 +02:00
3e4b0e4bb8 Rewrite internal link handling, returning Result<_> rather than Option<_> 2016-08-31 09:20:09 +02:00
d594b7c6a2 Reimplement libimagentrylink::external::is_external_link_storeid() using StoreId::is_in_collection() 2016-08-31 09:20:08 +02:00
82f08c6021 Remove version argument from module_entry_path_mod!() macro 2016-08-30 11:40:56 +02:00