1
0
Fork 0
mirror of https://github.com/KingDuckZ/dindexer.git synced 2024-11-25 00:53:43 +00:00
Commit graph

264 commits

Author SHA1 Message Date
c009c07c9d Temporarily disable broken stuff 2016-05-27 21:50:09 +02:00
3927f945ca Move postgresql header files to the src directory
They are private, and anyways no client needs to include anything at all
from the various backends.
2016-05-27 21:49:50 +02:00
20b2a8695e Load postgresql plugin and use that in tag.
Only partially implemented.
2016-05-27 20:31:07 +02:00
c97a08860f Get rid of the DB_BACKEND build setting. 2016-05-27 20:29:32 +02:00
064fc0cf1a Create intermediate backend lib to help loading backend plugins. 2016-05-27 20:28:26 +02:00
1fd51f75ba Rename namespace dinbpostgres to dindb.
It's so much better!
2016-05-24 09:57:04 +02:00
45fc758915 Print db backend name in --builtin view 2016-05-24 09:57:03 +02:00
8f98495049 Make dindexer-common depend on postgre backend and fix build 2016-05-24 09:57:03 +02:00
fb722719b2 Move postgresql backend's include files to a new db subdir.
Fix build and remove unneeded include in tag.cpp
2016-05-24 09:57:03 +02:00
70caa9e26c Move db dbsource files to the postgresql backend lib and rename namespace. 2016-05-24 09:57:02 +02:00
baa67138eb Move MaxSizedArray to helpers include dir. 2016-05-24 09:57:02 +02:00
b6d45eee3c Move db scan functions to the postgresql backend lib. 2016-05-22 03:17:26 +01:00
641261306f Move db locate functions to the postgresql backend lib. 2016-05-22 03:05:58 +01:00
45ecdb9a2b Move db delete to the postgresql backend lib. 2016-05-22 03:02:39 +01:00
5203fbece2 Move db tagging functions to a new postgresql backend lib. 2016-05-22 02:54:49 +01:00
62bf47d0ed Warning fix on clang 2016-05-19 20:25:00 +02:00
6e9203faa0 Buildfix on some recent clang versions 2016-05-19 20:17:28 +02:00
7cfc25aeeb Implement tag deletion. 2016-05-19 20:17:05 +02:00
adcdf56254 Extract some code in a separate function. 2016-05-19 09:48:22 +02:00
43cbad47cb Fix scan progress messages not clearing up correctly 2016-05-18 22:28:00 +02:00
b52271e2b8 Add an option to limit tagging to a given set only. 2016-05-18 21:18:46 +02:00
9d76957c7f Allow multiple globs on the command line to tag command. 2016-05-18 10:26:34 +02:00
ad556f4be4 Use new case sensitivity option from glob2regex
Don't append crap manually to regular expressions.
2016-05-18 10:25:23 +02:00
6b5fe85571 Make mime_type and mime_charset on the fly
For the same motivation explained in the parent commit, make string_refs
on the fly instead of storing them.
2016-05-17 21:12:44 +02:00
8c03ba15bc Crash fix - make path on the fly
Newer versions of gcc have a small string optimizations that makes
moving FileRecordData objects behave incorrectly. When a small string is
moved, string_refs into it become invalid. Making a path on the fly
using the path() method also has the side effect of making
FileRecordData smaller in size.
2016-05-17 20:21:44 +02:00
21c5b3efcb Allow tagging files by glob
Tagging by ID is still possible using the --ids switch, which takes a
comma-separated list of IDs. However only one mode is allowed at time,
so either tag by glob OR tag by ID.
2016-05-17 19:54:05 +02:00
67bdabb548 Allow --tags option in locate command.
When a comma separated list of tags is specified, locate searches for
filenames matching the given glob that also belong to all of the
specified tags.
2016-05-16 23:45:08 +02:00
5832ca3374 Move split_tags to common lib. 2016-05-16 09:59:10 +02:00
1192ce7c18 Warning fix on gcc 2016-05-14 16:14:58 +02:00
0f308455ca Implement tagging files by database id 2016-05-13 20:48:03 +02:00
537023dbfa Fix build error when passing a vector<string_ref> to query() 2016-05-13 20:46:13 +02:00
94ebfbdfcb Move git hash into a dedicated .h so less compiling happens after a commit 2016-05-13 10:21:45 +02:00
fde1355653 Enable searching by glob in locate command. 2016-05-12 20:49:11 +02:00
b6953eeaa1 Add unit test for tag splitting 2016-05-05 20:05:56 +02:00
6afc16fe5b Accept a comma-separated list of tags as the first parameter in tag 2016-05-05 19:10:46 +02:00
da222940ca Update copyright year in -h message
Also make it nicer/easier (hopefully) to remember and to update it next
time.
2016-05-04 19:39:46 +02:00
9ae2474f58 Accept file or set ids on the command line 2016-05-04 10:04:20 +02:00
a508a22af8 New empty action "tag" 2016-05-04 09:43:54 +02:00
265337607e Fix segfault when no actions are found. 2016-04-30 19:41:00 +02:00
76a289df62 Improve aspect of tab-completion in navigate 2016-04-30 19:40:35 +02:00
76388be56e Refactoring in listdircontent. 2016-04-29 23:27:56 +02:00
0b6e6ad1d6 Move path composition knowledge into EntryPath. 2016-04-28 22:19:28 +02:00
489d545c60 Rename GenericPath to EntryPath. 2016-04-28 10:20:27 +02:00
b71a94ef70 Implement basic tab completion in navigate.
It doesn't work super well and it's missing set number
completion, but it's a step forward.
2016-04-28 00:05:22 +02:00
1ef879e9c1 Define all case combinations of cmake_on/off.
This saves having to remember to do STRING(TOUPPER) in every cmake file.
At times that's really not convenient if possible at all.
For example when a top-level project is guessing what option some
subproject is going to use and tries to use it for the builtin options
view. The acutal OPTION statement is not there, and it's not nice to put
a string(toupper) on a variable that seems to come from nowhere (and in
fact it might not be there at all).
2016-04-27 01:29:40 +02:00
804a02c63b Show state of WITH_NICE_MEDIA_TYPES in dindexer -b 2016-04-27 01:20:12 +02:00
72ce72273d Put definitions for CMAKE_[ON/OFF] in a common header. 2016-04-27 01:18:38 +02:00
a625f69afd Import better-enums project from github and put it to use :)
Fix build and somewhat improve the dindexer-scan --help message.
2016-04-26 20:47:29 +02:00
c21779adde Tell needed compiler features to cmake instead of -std=c++11 flag 2016-04-26 20:47:29 +02:00
343c44add5 Add an option to compile the build date into dindexer's binary 2016-04-22 01:35:57 +02:00
abde34e240 Add unit test for cli programs 2016-04-21 00:22:00 +02:00
e3e704c50f Bugfixes and improvements 2016-04-21 00:20:00 +02:00
653371763b Treat commands as utf8 when looking for possible mispellings 2016-04-21 00:18:20 +02:00
eaba94fa13 Don't cast malloc.
There is no need to cast the result of library functions that return void *;
it makes your code hard to read, adds no value, and can hide a bug if you don't
have a valid prototype in scope.
See http://c-faq.com/malloc/mallocnocast.html
2016-04-19 11:20:04 +02:00
c26cdb97f5 Print compiler id and version in builtin info 2016-04-19 01:04:57 +02:00
e6bfd0ecfd Merge remote-tracking branch 'gitan/master' 2016-04-19 00:37:57 +02:00
31142a49b3 Implement mispelling suggestions for argument to dindexer 2016-04-19 00:09:38 +02:00
3e130cd346 Import pbl c library 2016-04-18 22:52:35 +02:00
7515705c05 Try to use linereader autocomplete 2016-04-15 15:07:22 +02:00
3a2db550d2 Warning fix on clang 2016-03-18 22:28:58 +01:00
aee6c35ede Gather more build env info and show them when doing -b 2016-03-17 09:50:52 +01:00
ed30de44cf Add --version switch to main program. 2016-03-16 18:49:49 +01:00
417459b806 Bugfix and improve behaviour
The program now tries to be more strict about the command lines it
accepts. See the comment added into main.c for more details.
Also fixed a bug introduced by a previous commit, and another one
about argv not being null-terminated. For some reasons it never
gave problems until now. But it's fixed now, so yeah.
2016-03-16 18:39:18 +01:00
6991fee7f7 Add support for bash autocomplete in main dindexer
I'm not sure this is something that should be in the code, since
compgen -W "delete locate navigate query scan" loc
would do just the same as
dindexer --printactions=loc
so this is a duplicated functionality. However this commit is
self-contained, so it should be easy to revert it, if needed.
2016-03-16 00:01:29 +01:00
c6b0fe49b5 Use getopt_long() to parse command line. 2016-03-15 21:10:52 +01:00
96c6e967a0 Cache result of ls command. 2016-03-15 09:33:12 +01:00
d21a4fa374 Use readline
Maybe this should be made optional?
2016-03-15 08:42:01 +01:00
0f7a78b395 Fix paths with spaces not being treated correctly. 2016-03-14 19:39:58 +01:00
8fc45ce694 Buildfix on ARM 2016-03-12 00:47:08 +01:00
859764b9a4 Merge branch 'hashdir_refactoring' 2016-03-12 00:37:28 +01:00
e95cd6cc44 Add a --byhash switch to the locate command to search by content.
This is mostly to demonstrate the new task classes.
2016-03-12 00:32:15 +01:00
34ead94c8d Restore DB writing functionality.
This ends the scantask refactoring. It is now possible to scan
directories using the new system. Progress feedback is made
available again, although it could use some improvements.
2016-03-10 18:37:42 +01:00
43c8024b0c Re-add some progress feedback.
It's not multithreaded this time o.O
2016-03-10 09:51:27 +01:00
fe7e9c4af9 Turn around Set's tasks so that they provide a SetRecordDataFull. 2016-03-09 21:26:43 +01:00
fd5be6216a Namespace shortcut 2016-03-09 19:11:45 +01:00
c4c68e3b5c Take file size in filesearcher.
Like this the filesize task I was about to write becomes
unnecessary.
2016-03-09 18:55:03 +01:00
85cbc76de4 Add GeneralFiller helper task to group tasks together. 2016-03-09 09:25:52 +01:00
5798e0d315 New Mime task. 2016-03-09 09:02:17 +01:00
217eac250b Include only needed headers 2016-03-08 22:56:23 +01:00
c068f93bac New ContentType task.
Fix the problems I encountered while trying to use the new task.
2016-03-08 19:54:04 +01:00
b357bfb2cc Use basename() instead of the unclear make_rel_path 2016-03-08 19:09:56 +01:00
250b2df846 Add basename() free function. 2016-03-08 19:09:20 +01:00
63c703f20d Fix wrong hashes for directories
set_listing must sort by abs_path, because the path received by
lower_bound() is an absolute path.
Inside hash_dir() the path passed to append_to_vec() is really
the basename of the current item. This will become more clear
in one of the next commits.
2016-03-08 18:58:47 +01:00
7b0189a119 Make debug output a bit nicer. 2016-03-08 08:51:57 +01:00
d2588d3c7e Implement hashing task.
Also get rid of the ShorFileRecordData and put the new LeanBase
class to use.
2016-03-08 08:48:12 +01:00
d579b311f2 Add ShortFileRecordData struct to hold the file list in DirTree. 2016-03-04 21:57:09 +01:00
1956594c01 Move mediatypes.hpp/cpp to machinery.
This was needed so that machinery wouldn't depend on common.
Also moved compatibility.h to helpers include dir.
Ideally mediatypes.hpp will be merged into mediatype.hpp, or there
will be some kind of renaming because the two names are
getting really confusing.
2016-03-04 09:01:11 +01:00
6ddf79fad9 Implement MediaType scan task. 2016-03-03 21:31:33 +01:00
5b3e15c45f Create DirTree class and start moving code around. 2016-03-03 20:46:30 +01:00
b19720548a Fix program hanging in release.
That great idea of spawning a thread for printing to stdout is
firing back. Temporary fix to get past, but the output looks
really broken now.
2016-02-23 23:28:49 +01:00
b55f42e905 Remove debug output. 2016-02-23 21:05:04 +01:00
be9fc3eb0b Fix various problems introduced in scan with the last commit.
Fixes a crash due to an assertion trying to access a
past-the-end iterator.
Gets content type detection to work, although only after
hashing is done (see comment in main.cpp for details).
Fixes a problem with the array passed to guess_content_type
being not sorted as the function expects.
Adds more assertions.
2016-02-23 18:56:07 +01:00
22614432a9 Detect content type after scanning and save to DB. 2016-02-22 19:44:48 +01:00
2e77e4dc0b Add Glob class and use that one to help guessing content types. 2016-02-20 01:36:31 +01:00
f31463480f Add stub code to detect VCDs, plus unit test. 2016-02-19 21:57:43 +01:00
7da13f6677 Add assignment operators. 2016-02-19 21:56:10 +01:00
64b5affa4f Add guess_content_type() function.
WiP.
2016-02-19 10:01:11 +01:00
8a97afd6bf Use Kakoune::SafePtr to hold the PathName in DirIterator. 2016-02-18 21:00:17 +01:00
bb1148863d Add typedefs to SetListingView<B> 2016-02-17 08:54:38 +01:00
af80771c2e Fix the new hash_dir().
This fixes a bug that I never noticed in the old code.
This also breaks the progress indicator in Release.
2016-02-16 23:01:42 +00:00