a34a9239a7
Add GPSEntry::remove_coordinates()
2017-09-21 17:26:41 +02:00
555c0bb1df
Fix Walkdir depth
...
From the documentation of Walkdir::min_depth():
Set the minimum depth of entries yielded by the iterator.
The smallest depth is 0 and always corresponds to the path given to
the new function on this type. Its direct descendents have depth 1,
and their descendents have depth 2, and so on.
This means that when we started with "/tmp/store", we end up yielding
that exact path in the first iteration. This is exactly what we do _not_
want.
Setting the minimal depth to 1 fixes this bug.
2017-09-21 16:31:25 +02:00
74a7208757
Fix: critical typo
2017-09-21 12:23:32 +02:00
5a868015e6
Merge pull request #1098 from matthiasbeyer/libimagstore/glob-iter-early-error
...
Return glob errors instead of tracing internally
2017-09-21 09:29:34 +02:00
c6e94dfd3c
Return glob errors instead of tracing internally
...
This changes the internal GlobStoreIdIterator to return Result<StoreId>,
which gives us the possibility to aggregate errors in the
Store::retrieve_for_module() function and return them instead of tracing
them from the store.
The changes the internals to actually fetch the whole list of storeids,
which is unfortunate of course, but changing the interface is not an
option here, in my opinion.
At least we're only aggregating pathes, so the memory usage is pretty
low here.
2017-09-20 22:42:11 +02:00
8bbaeeef45
Fix: Store::delete() should check FS as well
...
This patch fixes a problem where the Store::delete() function only
checked the store-internal cache whether an entry exists, but not the
Filesystem. After this patch is applied, the Store::delete() function
also checks the filesystem whether the entry exists.
2017-09-20 22:24:59 +02:00
e2bf6c48ef
Merge pull request #1096 from matthiasbeyer/fix-log-output
...
Register the no-escape escape functionality in handlebars
2017-09-20 22:00:53 +02:00
87ad85ab3d
Merge pull request #1094 from matthiasbeyer/libimagdiary/is_in_diary
...
Base IsInDiary::is_in_diary() on StoreId::is_in_collection()
2017-09-20 22:00:41 +02:00
9b2ceb31cc
Merge pull request #1093 from matthiasbeyer/libimagentrylist/rip-out-cli-mod
...
libimagentrylist: Remove unused module
2017-09-20 22:00:34 +02:00
a73111458e
Merge pull request #1091 from matthiasbeyer/libimagstore/toml-pretty
...
Serialize TOML pretty
2017-09-20 22:00:27 +02:00
b431d0ee49
Merge pull request #1092 from matthiasbeyer/minor
...
Minor things
2017-09-20 19:24:44 +02:00
de69d31a58
Register the no-escape escape functionality in handlebars
...
Before, handlebars automatically applied html escaping, which resulted
in <>'& beeing escaped. But we don't need to escape for terminal output.
2017-09-20 19:12:08 +02:00
da4d670cbc
Base IsInDiary::is_in_diary() on StoreId::is_in_collection(), which is tested
2017-09-20 18:48:55 +02:00
19c3bc829a
Remove unused module
2017-09-20 18:41:54 +02:00
79b6c26502
Serialize TOML pretty
2017-09-20 18:38:31 +02:00
c558addbd6
Add debug/trace output in Store
2017-09-20 12:05:44 +02:00
5ce6cb2aa5
Switch from .set() to .insert()
2017-09-20 12:05:44 +02:00
8ddb0f6c24
Do not use "imag" namespace in header
...
This change switches the header location for the tagging information
from "imag.tags" to "tag.values". "tags" is not used because non-tables
are not allowed at the top level of the header.
Tests are adapted.
2017-09-20 09:24:46 +02:00
8904694b2a
Remove plain-text default entry
2017-09-19 22:31:23 +02:00
75bc1b0511
Fix README symlink
2017-09-19 18:34:56 +02:00
ec0c58d360
Fix README symlink
2017-09-19 18:32:34 +02:00
162b36d6ee
Update dependency specs
...
Most notably:
* env_logger: 0.4 -> 0.5
* hoedown: 5.0.0 -> 6.0.0
* itertools: 0.5 -> 0.6
* lazy_static: 0.1.15 -> 0.2
* regex: 0.1 -> 0.2
* semver: 0.5 -> 0.8
* url: 1.2 -> 1.5
* uuid: 0.3 -> 0.5
(This list is most surely not complete)
2017-09-19 17:16:19 +02:00
a01a2c18f8
Check in Store::move_by_id() whether target exists, not only in cache but also on FS
2017-09-17 15:44:19 +02:00
29e1107d3e
Add file abstraction function to check whether path exists
2017-09-17 15:43:57 +02:00
22b9f8ecdd
Do not insert the links array in the core header
2017-09-16 19:44:09 +02:00
6228de1066
Query-path fixed
2017-09-15 23:01:45 +02:00
324110cb76
Add more debugging/tracing output
2017-09-15 23:01:26 +02:00
2c1d322a1c
Add test to test external linking
2017-09-15 22:49:40 +02:00
29e9fffd03
Move env_logger dep to dev-dependencies
2017-09-15 22:49:24 +02:00
be8a3d1242
Merge pull request #1065 from matthiasbeyer/libimagnotes/do-not-wrap
...
libimagnotes: Do not wrap store types.
2017-09-15 21:00:24 +02:00
5271255ae3
Fix libimagentryannotation for changes in libimagnotes
2017-09-15 13:53:30 +02:00
94855fb722
Refactor libimagdiary
...
To not wrap types anymore, but rather use extension traits for extending
all the things.
2017-09-15 13:53:16 +02:00
8b8e4e9c6e
Minify iterator helper implementation
2017-09-15 13:17:12 +02:00
fce5df48c8
Add simple iterator helpers for StoreIdIterator -> CRUD Iterator
2017-09-15 13:07:49 +02:00
53c7d602eb
Merge pull request #1062 from matthiasbeyer/libimagstore/error-opt
...
libimagstore: Optimize errors
2017-09-10 11:45:59 +02:00
785e17a4a3
Add param to StoreIdHasNoBaseError
2017-09-10 10:48:51 +02:00
a670172880
Add param to StoreIdLocalPartAbsoluteError
2017-09-10 10:48:50 +02:00
b772908697
Add params to EntryRenameError
2017-09-10 10:48:50 +02:00
2ce2ba54da
Replace GlobError with link to ::glob::PatternError
2017-09-10 10:48:50 +02:00
6aa695974c
Add param to EntryAlreadyExists error
2017-09-10 10:48:50 +02:00
126aa75a2c
Add param to ConfigTypeError
2017-09-09 22:24:58 +02:00
307165d1b2
Remove ConfigReadError because ::toml_query::error::Error is now linked in
2017-09-09 22:15:18 +02:00
a015b07f6a
Remove TomlReadError by linking in ::toml_query::error::Error
2017-09-09 22:09:36 +02:00
4849cc4822
Remove TemplateStringRegistrationError by linking in handlebars error type
2017-09-09 22:04:32 +02:00
83f9350d98
Add param to EntryAlreadyBorrowed error
2017-09-09 21:59:36 +02:00
a28613b889
Add param to StorePathCreate
2017-09-09 21:59:36 +02:00
ff8569809b
Add parameter to StorePathExists error
2017-09-09 21:59:36 +02:00
78db822917
Remove unused error type
2017-09-09 21:59:36 +02:00
ca9123c740
Add parameter to IdNotFound error
2017-09-09 21:27:10 +02:00
b682e7f8db
Remove warning which is printed by the store
2017-09-09 21:14:08 +02:00
21440d58aa
Remove outdated comment
2017-09-09 21:13:38 +02:00
3d8f75300d
Remove unecessary error chaining
2017-09-09 21:13:21 +02:00
8aa5c2d82d
Fix header locations
...
Also change that the implementation uses toml_query::set instead of
toml_query::insert.
Inserting values creates intermediate tables, set doesn't. And we really
want that convenience here, as the code is complex enough on its own.
2017-09-09 16:36:21 +02:00
250bc3d8a7
Add tests for processing with appropriate setting switched off
2017-09-07 20:57:22 +02:00
18ebd568dc
Add test for processing two refs
2017-09-07 20:57:22 +02:00
98aa7bf716
Add test to test ref creation
2017-09-07 20:57:22 +02:00
24985a2384
Add test for processing external link
2017-09-07 20:57:22 +02:00
3cb2393c08
Add test for automatically creating linked entries
2017-09-07 20:57:22 +02:00
0aea9151dd
Add test for faulty link
2017-09-07 20:57:22 +02:00
0b640e18be
Add test to check whether internal links are parsed and set correctly
2017-09-07 20:57:22 +02:00
0a60f5ca55
Add test for processing entry without links
2017-09-07 20:57:22 +02:00
9c68514dfb
Add processor for collecting links from content
...
and putting them into the header via the functionality offered by
`libimagentrylink`.
2017-09-07 20:57:22 +02:00
976f280511
Update toml-query: 0.3.* -> ^0.3.1
...
This release contains a bugfix for a critical bug in the
`TomlValueInsertExt::insert()` algorithm which was triggered by an
edgecase.
2017-09-06 19:30:32 +02:00
86fae34d0d
Merge pull request #1056 from matthiasbeyer/libimagstore/rewrite-store-entries-fn
...
Rewrite Store::entries() implementation
2017-09-06 17:39:44 +02:00
b10d63c134
Rewrite Store::entries() implementation
...
As we rely on the filesystem in Store::entries(), which is a bug and
shouldn't be done, we rewrite this function and use the file_abstraction
framework.
2017-09-06 16:11:19 +02:00
9d8a8f0bf4
Fix Store loading in tests: Use in-memory store backend
2017-09-05 22:00:58 +02:00
c115215fa4
Merge branch 'master' into libimagerror/integration
...
This merge solved a _LOT_ of conflicts and was a rather complicated one,
as parts of the conflict-resolution involved rewriting of half the
stuff.
This merge commit fixes all the things so a `cargo check --all`
succeeds, but I did not yet check whether tests run without failure.
2017-09-04 23:02:45 +02:00
6d1dab3117
Merge pull request #1029 from matthiasbeyer/all-extensions-as-traits
...
All extensions as traits
2017-09-04 21:59:54 +02:00
39dd9e8d7c
Add Task trait for getting UUID from task
2017-09-04 09:20:14 +02:00
72ea21ee1f
Rename module task -> taskstore
2017-09-04 09:20:14 +02:00
18e806f588
Remove dedicated result modules, use error chain generated Result types
2017-09-04 09:19:29 +02:00
eefcfd02dc
Allow generated fns from macros to be unused
2017-09-03 22:01:40 +02:00
7ce44e8090
Remove "IntoError" trait, use error_chain functionality
2017-09-03 21:34:07 +02:00
28d7085b2d
Remove error_chain dependency, not needed
2017-09-03 21:33:55 +02:00
936a314efa
libimagtodo: Rewrite error handling
2017-09-03 21:33:54 +02:00
a5bb7a9bec
libimagtimetrack: Rewrite error handling
2017-09-03 21:33:54 +02:00
22cff91653
libimagmail: Rewrite error handling
2017-09-03 21:33:54 +02:00
677a5e8886
libimagdiary: Rewrite error handling
2017-09-03 21:33:54 +02:00
31dc0eebc2
libimagcounter: Rewrite error handling
2017-09-03 21:33:54 +02:00
c9dbf76395
libimagbookmark: Rewrite error handling
2017-09-03 21:33:54 +02:00
5b781702cc
libimagentryview: Rewrite error handling
2017-09-03 21:33:54 +02:00
0ede39a991
libimagentrytag: Rewrite error handling
2017-09-03 21:33:54 +02:00
8d8a91e7c5
libimagentrycategory: Rewrite error handling
2017-09-03 21:33:54 +02:00
262aae39f4
libimagentryannotation: Rewrite error handling
2017-09-03 21:33:54 +02:00
d443b83b52
libimagentrydatetime: Rewrite error handling
2017-09-03 21:33:54 +02:00
0b068df84e
libimagnotes: Rewrite error handling
2017-09-03 21:33:54 +02:00
22be1627b7
libimagentryref: Rewrite error handling
2017-09-03 21:33:54 +02:00
bb6956740d
libimagentrymarkdown: Rewrite error handling
2017-09-03 21:33:54 +02:00
9aa5d7439d
libimagentrylist: Rewrite error handling
2017-09-03 21:33:54 +02:00
4b4b0b0804
libimagentryedit: Rewrite error handling
2017-09-03 21:33:54 +02:00
ca0dd5906d
libimagentrylink: Rewrite error handling
2017-09-03 21:33:54 +02:00
ac34b4ee66
libimaginteraction: Rewrite error handling
2017-09-03 21:33:54 +02:00
b6909a2c86
libimagrt: Rewrite error handling
2017-09-03 21:33:54 +02:00
2df99524e7
libimagstore: rewrite error handling code
2017-09-03 21:33:54 +02:00
603808a9fa
Impl IntoError for error kinds
2017-09-03 15:42:06 +02:00
9713a4632c
Remove error_gen module entirely
2017-09-03 15:42:06 +02:00
a309fdb280
Add recursion limits to crates
2017-09-03 15:42:06 +02:00
11d881d3a9
Add dependency to crates: error_chain = 0.10
2017-09-03 15:42:06 +02:00
e77d353c52
Rewrite macros to do error-chain behind the scenes
2017-09-03 15:42:03 +02:00
4908cc6aaa
Add more helpers
2017-09-03 13:48:05 +02:00
0683bf198b
Fix recursion problem
2017-09-03 13:48:05 +02:00
93444be412
Light code cleanup
2017-09-03 13:48:05 +02:00
64f96092cd
Fix aggregation
2017-09-03 13:48:05 +02:00
482377abb9
Actually print error here (as logging isnt initialized at this point)
2017-09-03 13:48:05 +02:00
5ec1cd48a0
Implement format-fetching from config/cli
2017-09-03 13:48:05 +02:00
ae24954020
Implement templating
2017-09-03 13:48:05 +02:00
2c66dcdf37
Rewrite logging: Types
...
This is the first part of a series of patches that reimplements the
logging backend to be more powerful and configurable.
This first patch adds types and infrastructure to be able to implement a
powerful logging abstraction.
It does not implement much functionality, except for a check whether a
module is enabled or not when logging (if configured in the config
file).
2017-09-03 13:48:05 +02:00
5626a365c6
Merge pull request #1044 from matthiasbeyer/libimagrt/feature-testing
...
Add store extraction to Runtime
2017-09-02 17:25:13 +02:00
Mario Krehl
58a2729da0
Changed Task trait to TaskStore trait, implemented for the Store instead of the FileLockEntry
2017-09-02 14:30:27 +02:00
8c69ed54e4
Merge pull request #1035 from matthiasbeyer/tag-ui-feature-to-bin
...
Tag ui feature to bin
2017-09-02 14:10:01 +02:00
Mario Krehl
f3bb6d02d0
Change the Task(FileLockEntry) type to a trait
2017-09-02 12:23:29 +02:00
ab06263507
Add store extraction to Runtime
...
This is necessary to be able to re-build a Runtime object with an new
set of "commandline arguments". For example if a test wants to test two
calls to imag, for example a "add" operation followed by a "remove" operation.
These functions are feature-gated therefor and should only be used in
tests.
2017-09-02 10:42:11 +02:00
b32245b03a
Bugfix: Fix macro to use the appname instead of hardcoded values
2017-09-02 10:41:38 +02:00
b787ef1696
Move tagging UI code to binary
2017-09-02 10:16:56 +02:00
1a244a3d6b
Add setget test
2017-09-01 20:35:30 +02:00
eb32027546
Add test setup with first test
2017-09-01 20:35:30 +02:00
3bad9e2e92
Add entry module
2017-09-01 20:35:30 +02:00
90b3ae1f70
Add base types for the API
2017-09-01 20:35:30 +02:00
c2343eda67
Add error, result module
2017-09-01 20:35:30 +02:00
fb2dd3017a
Initial import
2017-09-01 20:35:30 +02:00
048517a3c2
Fix readme links in cargo metadata
2017-09-01 18:48:02 +02:00
21c15ca207
Adapt imag-diary to compile with the new libimagdiary API
2017-09-01 11:04:07 +02:00
31fa07d43a
Add another small helper
2017-09-01 11:04:07 +02:00
95b7da1ed2
Impl Entry (now DiaryEntry) as trait
2017-09-01 11:04:06 +02:00
9c69645b69
Implement Diary as trait
2017-09-01 11:04:06 +02:00
7e4275c420
Remove unused crate import
2017-08-31 20:56:13 +02:00
6a8af5ef01
Remove unused imports
2017-08-31 20:56:13 +02:00
ec639be3e1
Fix artifacts from libimagstore::toml_ext times
2017-08-31 20:56:13 +02:00
74ec12d5c2
Remove artifacts
...
I don't even know how this could re-appear in the codebase as we removed
the toml_ext thing a while ago... strange!
2017-08-31 20:56:13 +02:00
e338fef98e
Remove duplicated key
2017-08-31 20:56:12 +02:00
9a9a3f2f43
Merge branch 'libimagstore/remove-unused' into integrate-remove-unused
...
The merge conflicts which were resolved may roll back some changes from
the merged branch (unknowingly).
These will be fixed in the next commits
2017-08-31 20:56:08 +02:00
a710a5b72b
Remove unused variable
2017-08-31 10:57:19 +02:00
991fd7c3d4
Remove unused variable
2017-08-31 10:57:19 +02:00
ac804bd839
Remove unused keyword "mut" where not needed
2017-08-31 10:57:11 +02:00
ae5255c7c7
Remove unused crate imports
...
This patch removes unused crate imports reported by newer rust versions.
Some crates were only required for tests, some only for tests with
macro_import - these things were fixed with feature gates.
2017-08-31 10:56:15 +02:00
cee0287ee2
Merge pull request #1026 from matthiasbeyer/libimagentryref/extension-as-trait
...
libimagentryref: Extensions as Traits
2017-08-28 21:27:32 +02:00
6d40797a07
Fix libimagmail to use new libimagentryref interface
2017-08-28 14:32:50 +02:00
d58b97fdf1
Light refactoring
...
Use .map_err_into() instead of manual wrapping,
some boilerplate minimized.
2017-08-28 14:32:50 +02:00
cf19e0563c
Reorganize functionality in traits
2017-08-28 14:32:50 +02:00
c987130cc1
Merge pull request #1018 from matthiasbeyer/remove-toml-ext
...
Remove toml ext
2017-08-28 14:10:40 +02:00
c0c62bd1b5
Change crates to use toml-query crate
2017-08-28 12:22:37 +02:00
3024fefcb9
Remove toml_ext module
2017-08-28 12:22:13 +02:00
43ca0b43b1
Move "Header" trait for toml::Value to store module
2017-08-28 12:22:13 +02:00
4b42b3328d
Rewrite libimagentrylink::external::Link to be a trait
2017-08-28 10:31:13 +02:00
75e42d2f0b
Fix errors (former warnings) in several crates
...
This fixes errors (former warnings) in several locations.
2017-08-27 20:08:03 +02:00
286de656df
Handle UTF-8 Errors by returning
2017-08-27 20:08:03 +02:00
7a7ea5c211
Add debug messages
2017-08-27 20:08:03 +02:00
d0f8002682
Ensure deny() for warnings is in all crates
2017-08-27 20:08:03 +02:00
9081a2d58d
Fix libimag(entry)ref name
2017-08-27 18:57:59 +02:00
ef93cf0243
libimagentrytimetrack -> libimagtimetrack
...
This is actually a domain library and thus should be put into the
lib/domain/ folder.
2017-08-27 18:23:47 +02:00
2fcead5f53
Fix broken README symlinks
...
Along: Add files in documentation for modules that not yet had one.
2017-08-27 15:13:25 +02:00
Mario Krehl
8a63815854
Fix package name of libimagentryannotation
...
Fix: run `sed -i 's,libimagref,libimagentryref,g' (rg -l 'libimagref')`
Fix: run `sed -i 's,libimagannotation,libimagentryannotation,g' (rg -l 'libimagannotation')`
2017-08-27 15:13:25 +02:00
59a3662ac4
Reorganize code in subdirs
2017-08-27 15:12:09 +02:00