Skip to main content

Continuously monitor a file and mirror the content after modification

Project description

Mendeley Watchdog pipeline-checks

Mendeley Watchdog is a command line utility that continuously watches the last modification time of a given files and writes the content to a specified file.

WARNING The contents of the specified destination file are not checked checked before they are overwritten. Therefore the contents of the destination file will always be overwritten after the first "check". All manual changes to the destination file will always be overwritten when a change to the source file was detected.

WARNING The file contents are read and written in binary mode, as of right now this behavior can not be changed. This may be changed in future versions of this software.

The motivation for this software arose from the need to be able to save BibTeX files that are managed by Mendeley Desktop to LaTeX project directories. While Mendeley does support creating BibTeX files on a per-project basis it does not allow setting specific directories to which the individual files are saved. They are all written to the same directory. This software

The first (an so far only) entry point for the software fulfills that need by making it possible to mirror one of these files to any writable destination. Since I write LaTeX using Visual Studio Code I wanted to be able to run the monitoring process whenever the workspace folder for a project is open. Luckily VS Code makes it possible to configure arbitrary tasks for a given workspace. The mendeley-watchdog entry point was designed with this use-case in mind, an exemplary task could look like this:

{
    "label": "Mirror hhn-it-systems",
    "type": "shell",
    "command": "mendeley-watchdog",
    "runOptions": {"runOn": "folderOpen"},
    "problemMatcher": ["$eslint-compact"],
    "args": [
        "--mendeley-bibtex",
        "'R:\\Mendeley Library\\.bib'",
        "hhn-it-systems.bib",
        "resources/references.bib"
    ]
}

The above task launches mendeley-watchdog as soon as the containing workspace folder is opened. The task continuously mirrors the file R:\Mendeley Library.bib\hhn-it-systems.bib as references.bib to the workspace subdirectory resources. Refer to the documentation for a more detailed explanation of the entry point and task.

Installation

The above-mentioned VS Code task assumes the entry point is on PATH. An easy way to achieve this is installing via pipx which isolates the package in its own virtual environment exposes their entry points on PATH.

pipx install mendeley-watchdog

Alternatively install using

pip install mendeley-watchdog

Documentation

The detailed documentation for mendeley-watchdog can be found on GitHub. Be aware that the above link points to the master branch. If you're reading this on PyPI that means it might be outdated. In that case use the Documentation URL from the sidebar which should point towards the latest release docs.

Further Development

Depending on usefulness (and reception) additional functionality may be added. Ideas include:

  • enable mirroring any single file (not just bib files)
    • allow mirroring a single watched file to multiple destinations
  • enable mirroring a map of files and destinations

Feel free to open an issue if you encountered bugs or have other ideas that aren't yet listed in the backlog.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mendeley-watchdog-0.0.2.tar.gz (19.0 kB view details)

Uploaded Source

Built Distribution

mendeley_watchdog-0.0.2-py3-none-any.whl (14.6 kB view details)

Uploaded Python 3

File details

Details for the file mendeley-watchdog-0.0.2.tar.gz.

File metadata

  • Download URL: mendeley-watchdog-0.0.2.tar.gz
  • Upload date:
  • Size: 19.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.2

File hashes

Hashes for mendeley-watchdog-0.0.2.tar.gz
Algorithm Hash digest
SHA256 a5cc5fd76a0fb2b91dbed5a2324d7c446b6e5cf48fd62047ce8b85304f921a14
MD5 f7835a59d2f5e1b9c7758565d1f4fe29
BLAKE2b-256 92ca9ca9e04b94f60de0ebc1776756b92e83b61a99bb54159d1572eb8263d2cd

See more details on using hashes here.

File details

Details for the file mendeley_watchdog-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: mendeley_watchdog-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 14.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.2

File hashes

Hashes for mendeley_watchdog-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e81908bad9c8bc95d605f51df1328ffac90572648707b6ff439622898d43db4c
MD5 aac1146f99eaa785d3d37d2f9cc26a36
BLAKE2b-256 60ff63b1df99b4b829630c80a5f58620f52a45e00047ef36960dc3aa4f8c5f08

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page