Git Product home page Git Product logo

rmsync's Introduction

rMsync

Synchronization script for the reMarkable e-reader. The idea is to have a "Library" folder on your PC which is synchronized with the reMarkable. When new files appear in this local directory this script will push them over to the rM. When files are edited, created or annotated on the rM they get converted to .pdf (from .rm) and copied back to the Library folder (with the suffix "_annot"). Notes are also converted to PDF and saved to a Notes directory (and not reuploaded).

The file structure might look like this:

|--Literature
    |--Papers
    |--Books
    |--Notes

Adjust the paths at the top of the script!

Requirements

Usage

usage: sync.py [-b] [-c] [-u] [-d] [-l]

optional arguments:
  -b, --backup                        download files from the connected rM
  -c, --convert                       convert the backed up lines files to annotated pdfs and notes
  -u, --upload                        upload new files from the library directory to the rM
  -d, --dry_upload                    runs upload function but without actually pushing anything (just for debugging)
  -p --purge                          delete old backup before making new backup

Example

python3 sync.py -bcu #backup, convert and upload: full sync

Notes

  • 8.4.2020 updated to work with rM version 2.0.2
  • 10.6.2019 some more explanation of this code on my blog

rmsync's People

Contributors

geier avatar lschwetlick avatar

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  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  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

rmsync's Issues

missing tests

For the resizing of pdfs we should have some test cases.

There should be an annotated document for

  • landscape correct size
  • landscape x wrong
  • landscape y wrong
  • portrait correct
  • portrait x wrong
  • portrait y wrong

empty.rm?

Hi, I'm hoping to use this script but I'm running into a problem with empty.rm. sync.py has the path to an empty.rm file somewhere on your computer hardcoded. I replaced this with a reference to the empty.rm file included at the top level of this repository. This file, however, is too short and will cause the rm2svg() function to abort. I can pad the contents of empty.rm with 8 spaces to better match the expected_header_v3 string in this latter function, but the file will nevertheless be too short by 4 bytes and I'm not sure what the remaining contents should be. Is there a more up-to-date version of empty.rm somewhere?

Thanks for your help!

Convert a single file

There should be an easy way to just convert and stamp a single file. This will be good for testing and when you dont want to run the whole thing for time reasons.

Missing files in the deposit?

Hi, I am trying your script, and I have the feeling that the .svg you use for each line and pencils in
"/Users/lisa/Documents/remarkableBackup/templates/*" are missing in the repository ( maybe because outside the repo, git forgot to complain about it).
Would it be possible to add these?
Or is there something I missed ?
Thanks anyway for your work.

Add License

There doesn't seem to be a license included with this. So it's not clear what users can and cannot do with the code.

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.