Giter VIP home page Giter VIP logo

joplin-plugin-hotfolder's Introduction

joplin-plugin-hotfolder's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

joplin-plugin-hotfolder's Issues

option to select order of uploading

The plugin seems to upload file in alfabetic order. I think it could upload first the oldest markdown file so that after uploading the more recently updated file appears as the latest created annotation in joplin.

Another possibility would be to upload by order contrary to alphabetic (starting by z) so that uploaded notes appears in alphabetic order.

Possible feature:
adding a toggle that select the following options:
(1) upload in order contrary to alphabetic order so that it would appear in alphabetic order in joplin or,
(2) upload in order based on time starting by oldest annotations so that after uploading the more recently updated file appears as the latest created annotation in joplin.

Plug-in stopped working

I have used this plug-in for almost as long as I've used Joplin. It stopped importing anything.

OS: Linux (Linux tintin 6.1.0-0.deb11.5-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.12-1~bpo11+1 (2023-03-05) x86_64 GNU/Linux)

Joplin: Joplin 2.9.17 (prod, linux)

Client ID: 01edee803d89447da1910331821c0f35
Sync Version: 3
Profile Version: 41
Keychain Supported: No

Revision: a84a8e7

Plug-in: v1.0.1

I see in the console logs where Joplin loads the plug-in, but nothing beyond that.

I have uninstalled and reinstalled the plug-in. No luck.

Directory on usb stick is not recognized after disconnect

Hello,

I made a test with a hotfolder directory on an usb stick. After configuring the hotfolder and the usb stick is connected everthing works fine. Then I remove the stick and reconnect it and then the hotfolder plugin don't recognize new files in the directory.

What will I do?

Because of home office I have two notebooks on my desk and I use them with an external keyboard and mouse via a usb switch. Also I connected a usb stick to the usb switch and I can easily copy files from notebook1 to notebook2. Always when I switch to the other notebook the usb stick is connected and I can use this drive. On both notebooks I use a (not shared) joplin (one for work and one private).

But somethimes at work I will create a short private note. Or in the evening I work with my private notebook and I will write a note for work.

My idea is to use this usb stick to transfer easily notes from one notebook to the other always when I switch my notebooks with the usb switch.
To create new notes I use a very simple self written python script which adds normaly new notes via joplin api to joplin. I will modify it to save the note a) via joplin api to the local joplin or b) to the usb stick to a directory d:\joplin_hotfolder_work or d:\joplin_hotfolder_private. So next time I switch to the other notebook the notes will be imported by hotfolder plugin.

But the problem is the plugin won't recognise the "reconnected" usb stick.

Solution?

I checked the source code of hotfolder plugin a little bit and saw that i uses the chokidar module. Mabye the problem ist the watch mode and this ins't working with usb sticks or network drives. Perhaps the usePolling = true option will fix this behavior for usb sticks.

If this is the reason for not recognizing the reconnected usb stick, maybe a config switch for "special directories like dirs on usb sticks, network drives, ..." will enable the polling option (only for that folder). And also a config for "polling in x seconds" make sense - for me 60 seconds is enough.

I would be very cool if I can realise my idea this this "simple note transfer". Because of vpn for my work notebook it isn't possible to share drives in the same network so this solution with this parallel used usb stick seems very interessting.

My versions:

  • Joplin Windows (Portable) v2.7.14
  • Hotfolder Plugin v1.0.1
  • Windows 10 and Windows 11

Some informations:
paulmillr/chokidar#315 (comment)
paulmillr/chokidar#225 (comment)

Bye
Thomas

Ignore dot files

I think it would be wise to ignore dot files by default.

On MacOS for instance, the OS will dump some .DS_Store all over the place and will keep doing so as long as no .DS_Store is present. Since this plugin keeps on removing them after import, that starts a nice ping-pong game :)

Today, as workaround, specific files can be ignored, that's already good.

IMHO some specific files should be ignored no matter what (ie .DS_Store) and in general, dot files should not be imported nor removed.

wild cards

a feature request: if possible could you allow wildcards in the "ignored files" list, ideally in file name as well as in file extension, and explain it in the description ?

Super Plugin and few queries

Hello, first things first, this is one of the best useful Joplin plugins out there ๐Ÿ‘

2 queries:
a. Numer of Hotfolders | How many hot folders should be defined (Only available in the first hotfolder configuration) - Does that mean I cannot add a 2nd hot folder later?
b. Can it only process .txt & .md files? No love for .doc or .html?

Feature Request: currently the processed file is deleted from the system, instead can it be sent to Recycle Bin so that if needed can be restored from there later?

Thanks, have a great day!

JoplinPortable 2.8.8 and HotFolder not working as expected

I'm using the Joplin 2.8.8 with the HotFolder plugin that is recommended on the repository. Just installed HotFolder plugin and it worked the first time, but now only works sometimes. There's clearly something amiss. I've restarted, changed folders, dropped in files, deleted cache/tmp and all manner of other tests. I have two Hotfolders in config, each with different paths.

When it worked, it would only add attachments to files and not put the actual text in the created note. I've used this in the past, but never had issues.

UPDATE - Tested again. Cleared all cache/tmp. Restarted. Changed path within Joplin for Hotfolder 1 in config, and it read in the files and added them as links to 'FILE.TXT', not actual texts. I did the same with HotFolder 2, but it would not detect and load any files in the folder. I changed to a new path within Joplin as I did with the previous folder, and it still did not detect and load files from this new folder.

When Does the Hotfolder Execute

I am intending on using this with Google Drive and PDFs. I have a script that downloads from Google Drive to a local folder and specified that as the hot folder. I have placed a test PDF in the Google side and can verify that has been transmitted to the local older I've specified as the hot folder. So far, that PDF has yet to show up as a note. How do I troubleshoot?

Add as attachment

not sure if this is doable or not, here is my scenario:
I export out an email message to the hotfolder (as a .md file)
as part of the export I include attached file(s) (word/excel/etc) that was/were attached to the original email

is it possible for the attached file(s) to be added to the .md file instead of creating a different note for each attachment?

Possible High Risk Issue with non-existing Hotfolder Paths

I have Athena and Hotfolder installed and experienced a really serious issue. I don't know yet if Athena did that or Hotfolder, but it was quite devastating. Maybe someone with a safe test-environment can test with Hotfolder, I am not yet ready to do that:

I apparently did set a Hotfolder Path that did not exist in that form, possibly containing a space character. This lead to Joplin suddenly importing my home directory. I only found out when some programs where suddenly back to default settings. I found, that my /home/username/ directory had been emptied and Joplin suddenly had many many new notes, contained a couple of mp4 videos (!) and lots of note content which were originally dot-files. On the other hand the original files were all gone.

I hope this was Athena, as I rely on it a lot less and will probably kick it out again. But maybe it was Hotfolder. If so, I think it should simply be hardcoded to dismiss imports if they originate from certain paths: a user's home directory, .local/, .config,/ and similar. It should also warn the user if Hotfolder Path is set to a directory which has a huge amount of files in it or sub-directories. I don't know Joplin's API yet, but I hope it lets the plugin create an OK/Cancel dialog if an imported will result in pulling in certain red-flagged file types like dot-files or if it would import a large number of files etc.

Hotfolder dosn't exist use actual notebook for imports

Good morning!

I receive this message every time I start Joplin:
"Hotfolder plugin - Notebook 1_inbox for import destination of Hotfolder dosn't exist use actual notebook for imports"

Notebook 1_inbox does exist. The plugin is working properly, it's giving a false notification.

Taken steps:

  • I reinstalled the HotFolder plugin > same issue
  • I deleted deleted the plugin + deleted io.github.jackgruber.hotfolder.jpl and reinstalled > same issue
  • I changed the notebook to 'test' which exists > same issue

(also a little notification type error > dosn't > doesn't)

Grtz Rick, from The Netherlands

Importing to a named notebook is unintuitive and a bit broken by design

The "Notebook" field in the Plugin's settings is finicky beast:

You can just type the name of the notebook, and it works. But then:

  • You start re-organizing your notebooks and suddenly it stops working. Why?

While Joplin allows you to give Notebook names with spaces, Hotfolder does not. Why? I don't know. It is one text field.

  • Then you re-organize again and it stops working again, throwing all your new notes at whichever notebook you tend to have open. Why this time?

You shoved that notebook into another one to make it a sub-notebook.

OK, maybe write it as a path: superbook/subnotebook? No? (As a linux user the backslash does not come naturally as a path divider)

Things to be done differently, aka solutions:

  1. DON'T ACCEPT A NON-EXISTANT NOTEBOOK! Give the user an error, let the plugin at least check if it can find the given Notebook! And make sure the error is marked in red or so. And add two or three examples to help the user understand how to use nested a notebook:
    "You can use nested or 'sub-notebooks' like this: top notebook\sub-notebook"

Or, better yet: Make the entry a filter field, show a list of partly matching note-book next to it and have the user select one. No text-entry, no errors, no further checks needed (except when a notebook is deleted).

  1. I would love the plugin to simply create a default notebook on root level, named for example "hotfolder_default_import", if a stubborn user feeds it a non-existing notebook, renames it without telling Hotfolder, or simply deletes it. The name would make it clear, that I have to check Hotfolder's settings. There it would provide a well formed error message: "This notebook does not exist."

  2. Allow space as part of the notebook's name. Joplin does, why impose this restriction on the user?

Files are not imported

Chokidar returns a ready, although the application writing the file still has a lock on it.
This is the case, for example, with a Canon MF644CDW scanner.

Hot folder sync problems and troubleshooting

I have installed Joplin 2.5.12 on Raspberry pi 4 (Debian GNU/Linux 11 (bullseye) aarch64) via flatpack. I have one samba folder which is accessible with a guest account without any password. I wanted to import scans (pdf files) from this folder, but it does not work.

  1. Did I set it wrong? (perhaps some validation of path would be useful)
    image

  2. How can I verify the last sync attempt? (What is the default setting for sync interval?)

  3. Will the plugin fire error if there is a permission problem?

Cannot import .Rmd and .R files as text

Thank you for your excellent plugin.

I imported as text files successfully .txt, .md and .html files. But did not succeed with .Rmd and .R files.
I do not know what I did wrong. See my plugin configuration.

image


  • macOS 12.4. (Monterey),
  • Joplin Desktop 2.8.8 (prod, darwin)
  • Hotfolderv1.0.1

Option to update a note / attachment

  • Add a option to update a note / attachment
  • Option to delete / keep the file
  • Store the note_id, resource_id, update timestamp in a json file (Per hotfolder or central)

Option to upsert note?

I have some pdfs in a folder that get updated over time (the contents of the pdf change). Is it possible to have this plugin upsert the note (based on title of file) on file modified rather than create a new note?

Unix path with space fails

Hello,

I could successfully use the plugin with a path without spaces.
Using /Users/me/Desktop/joplin\ import1 however does not seem to trigger the import.
it shows no error but nothing happens.

deleting files

Is there any way to not delete the files after being hot reloaded.

desktop.ini file

Running 1.0.1 on Windows 10
I've noticed recently that Hotfolder is uploading the desktop.ini file every time it changes. This didn't happen until the last week or two.

RTF Conversion Integration

As a user of Google Products for work, I would love to be able to download a document as .rtf after a collaborative session and place it in a hotfolder where it can convert the Rich Text Formatted document into a text document.

remove/mark imported files

Would it be possible to remove or mark already imported files, so they do not get imported again?
I had the situation, that I hat duplicate copies of the files in my hot folder and I had to manually move them out of the folder to not get even more duplicates.

Otherwise a great plugin!!

note and to-do types

Would you consider adding an option in the hotfolder configuration to allow a folder to import new notes as "to-do" type notes?

Plugin not working in Joplin 2.13.8 or 2.13.9

The hotfolder plugin has always worked fine. After updating to Joplin 2.13.8, it stopped working. Hotfolder is still listed as a plugin and all of the settings are the same, but it does not sense when a new file is placed in the folder and import it. I've since upgraded to 2.13.9, but it did not help. It does not work. (This is on Windows 11 Pro, 64-bit.)

Files that are in the hotfolder when Joplin is not running are not imported correctly

Hi there,

I've run into a weird issue that I didn't find the root cause so far.

Steps to reproduce:

  • Close Joplin
  • Add a test.txt file to the hot folder
  • Open Joplin
  • The file gets imported but isn't selectable
  • Close Joplin
  • Open Joplin
  • Note has disappeared

What is seen in the logs is the following:

2021-12-22 11:15:38: "Request (1640168138602): Downloading images: 0"
2021-12-22 11:15:38: "Request (1640168138602): Creating resources from paths: 0"
2021-12-22 11:15:38: "Request (1640168138602): Saving note..."
2021-12-22 11:15:38: "Request (1640168138602): Created note 27f5d949778f4df88fa9f11797082092"

Which looks like a correct and good import. Later when I try to select the note I get the following in the Logs

2021-12-22 11:16:05: "ResourceService::indexNoteResources: A change was recorded for a note that has been deleted: 27f5d949778f4df88fa9f11797082092"

When Joplin is running there's no issue with importing, just everything that was in the hotfolder before Joplin is running somehow gets wiped out.

deleting files

Hi thanks for the plugin. It brings Joplin closer to being interoperable with other programs that use markdown.

I did not realize at that this would result in the deletion of the files! ๐Ÿ™€ Though on closer attention, this is mentioned in the readme. Luckily none of the target files had been updated since last backup. :)

So I'd suggest at minimum: make the deletion feature more obvious. Like display a confirmation dialogue on first use maybe? If not, at least an "โ—" is in order.

It would also be cool to be able to not delete the file (duplicate of #14?) tho I guess that could bring in some complexities wrt duplication especially if an existing file is modified. (Really what I want is to be able to run Joplin out of a folder of markdown files lol.)

Maybe another option would be to move the file to a temporary waiting area for a little while in case they require rescuing from a careless person like me or incorrect import. Of course the OS generally includes this kind of feature in the form of Trash or Recycle Bin. Unfortunately on Mac OS there is no "move to trash" command included out of the box. Here is a thread with a bunch of tools and workarounds, I have no idea if any of them would be of service here unfortunately.

Hotfolder is importing and feleting files before file content is written (zero KB)

Great plugin, appreciate the work you've put in and sharing it with the community.

Issue

When other applications create the initial file to write text into, Hotfolder imports the file into a note before the before the file contents is complete.
The note in Joplin appears immediately on file creation, even with File Ready & Polling options set.

This results in an empty note, and the file being deleted before the content is imported.

Expected Result

File Ready setting ensures file is not 0KB, if it is, it waits for the next poll.
If after (insert # cycles), the file is still not ready, exit/error.

Environment

Windows 11

Plugin Settings

File Ready set to 120
Polling is Checked
Polling Interval is set to 120

Could be related to a difference in how Windows 11 reports files in Explorer as opposed to how Python sees it?

Appreciate your time & consideration of the issue.

Issues with tags

Found a bug:
If tag to be added to note contains ! or _ (maybe other special characters too) & is separated by the "," from other tags - note files won't be deleted from the monitored folder after import.
If such tag is left without "," after it - notes will be deleted, but this tag won't be added.

This results in repeated import of the same notes over and over again (with every change of settings and every newly added file to the directory).

experiments_hotfolder.log

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.