EverythingDopus - A utility to integrate Everything with Directory Opus

Just updated the first post with proper instructions :slight_smile:

Also I added the features requested by @NotNull and with this we have version 1.1 :smiley:

@Leo, I think @khalidhosain found a Unicode in Dopus.

After spending some time with the debugger, I think I recreated it with a powershell script to aid in reproducing it:

unicode-bug-dopus.ps1.txt (678 Bytes)

Save to an appropriate folder, rename it to ps1 extension, take a quick read and run it. It will recreate the bug :slight_smile:

It seems the content of the created text file are correct, but dopus is failing to parse it :frowning:

What does EverythingDopus do? Parse the search result and feed it back to Opus via dopusrt?

Why don't you use Opus' AddFilesFromFile() to parse Everything's file list?

Once you have the files in the command object, all you need is Copy COPYTOCOLL=member to create the collection.

Am I missing a key feature of EverythingDopus?

What's the bug you think is there? Would be good to have a description of it so I don't have to work out what that PowerShell script is doing or which part to focus on.

My apologies @Leo, it seems the commands was missing the /utf8 flag.
For some reason I assumed dopus would auto detect the file format - my bad :confused:

I added version 1.2 to GitHub that adds that flag, so @khalidhosain won't have any more issues :slight_smile:

--

@lxp I'm slightly confused at what you mean. Could you explain a bit more?

2 Likes

I want to modify your script, but it seems to be done by the packaged plugin? :upside_down_face:

  1. Warning when there is no result, and do not open a new tab;
  2. Use time to name the collections, and the collections is placed in a folder such as EverythingDopus;
  3. Add query history.
    Fast search with Everything v2 - Buttons/Scripts - Directory Opus Resource Centre (dopus.com)

This warning is unnecessary for me. . .

Added Total Result count warning, if it's over 1000 matches

You can check the script here: https://github.com/TheZoc/EverythingDopus/blob/master/DirectoryOpus/EverythingDopus.js
Though it's mostly an interface between dopus and the utility, there's not much meat there right now.
The utility source code is in C and available in the same repository :slight_smile:

Oh, this is indeed nice - I'll add that for the next version.
Do you think a dialog popup is enough / appropriate?

Could you provide an example of the time format you mean? :slight_smile:
(I'm thinking about an ISO date)

I had no idea it was possible to nest collections. That's a great idea indeed :slight_smile:

Oh, that could cool to have! How hard it is to do that?
(Note: I'm not a fluent javascript person :confused: )

I still want to fine tune this to something that triggers when there's way too many results and slows down opus.
If you want to give it a try, search for a and you most likely will see opus struggling to handle about 1 million objects :sweat_smile:
Though I think 1000 is a quite small number for this warning. I want to bump it up :slight_smile:

Thanks for this, I was previously using SearchEverything but this is much much faster. Great work!

1 Like

You can copy some of the code I added in that script and modify it (I'm a scripting noob). :slightly_smiling_face:

dlg.request("[Everything]\r\n\r\nNothing found!","OK");
There would be another option if the developers could add a message to be displayed in the status bar. :smiley:

var Time = DOpus.Create.Date.Format("D#yyMMdd-T#HHmmss");
var colspec = "coll://"+"Everything\\"+Time;

Just copy and paste.


Search results rarely exceed 1000 items, all seem to be ok. (Just don't like too many warnings, don't care.)

Making the script configurable would be the best, but I haven't explored that area yet.

Oh, there's something that might've passed by unnoticed. Most of the utility is built in C, so some of the suggested changes would need a different approach :slight_smile:
The "bridge" script currently only forwards the query string to the C utility

Okay, lets go through the quotes (sorry, for some reason my browser is freezing if I try to quote :cold_sweat:)

  • The dialog with a message with zero elements found is easy to do

  • About the date, sorry I can partially read it, but it's in a format I'm not used to. I'll most likely will be using strftime(), so could you provide the output for your formatting string? (Use the date and time of your reply as an example if you can, please :slight_smile: )

  • Uhhh my apologies for my ignorance in the javascript world :sweat_smile: - I haven't touched web stuff for 15yrs+ now. I really don't know how to use the snippets provided or where to paste them, though I'd be happy to have a working example with the current version of the "bridge" script

  • Glad the warning doesn't bother you, as it is rarely hit :slight_smile:

I'll add the dialog and date soon-ish :slight_smile:

If it helps, the Opus scripting interface has a Date object which can convert dates to the format of the user's locale (or user's override of their locale in Preferences):

https://www.gpsoft.com.au/help/opus12/index.html#!Documents/Scripting/Date.htm

If everything is coming from the C program and then going through a script, the C program could use its own internal date format and the script could convert things on the way.

FYI.
image

Adaptation "EverythingDopus v2.0 Beta 2":
User-defined commands: ev ev2 ecf eclip fb-tl
EverythingDopus.osp (136.8 KB)

Toolbar button:
EverythingDopus.dcf (1.1 KB)

Today I pushed 3 commits to the repository to add these features

  • Show a dialog and do not create a new collection if the search returns no results
  • Cleaned up the texts in the dialogs
  • Collections in directory opus are now created as coll://EverythingDopus/(timestamp) (regex) search string

Those are main features requested by @WKen

I haven't submitted a compiled binary yet as the last commit changes quite a bit of code, I want to make sure it's stable before I add new binaries - but if anyone wants to compile and give it a try, it's ready :slight_smile:

--

I haven't done anything about a new dialog yet - hopefully soon-ish.

2 Likes

Thanks @Zoc for this script. Is it possible to do a search only in the current folder (or subfolders) without typing the path?

Add \ to the path.
image

Thank you, although I don't quite understand what you mean.
Add \ along with the path where you want to search in the search box like you would in everything?
Or are you suggesting that I modify a file? What file would it be?

Download the script I posted in this thread?
EverythingDopus - An utility to integrate Everything with Directory Opus - Buttons/Scripts - Directory Opus Resource Centre

The supplied buttons allow you to do that.
Hover over it to see the shortcuts. By default, it should be Ctrl + F3

I was traveling for the past 3 weeks, I'll continue improving and adding requested features to the utility :slight_smile:

Thank you so much @WKen @Zoc

1 Like