GithubHelp home page GithubHelp logo

glidergeek / pocket2rm Goto Github PK

View Code? Open in Web Editor NEW
182.0 182.0 15.0 4.32 MB

get articles from read-later platform pocket to the remarkable paper tablet

License: MIT License

Go 93.26% Shell 6.74%
ereader-tools pocket remarkable remarkable-tablet

pocket2rm's People

Contributors

dantheman2865 avatar glidergeek avatar gwillmann 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

pocket2rm's Issues

Keep most recent Pocket articles at top

This is a great app, thanks for making it.

Do you have a way of showing most recent Pocket articles at the top?

I've been trying to change the sorting so that the most recent pocket bookmarks are at the top. By default the Remarkable sorts files alphabetically in ascending order, and has no option to reverse the sort to show in descending order.

I've tried something like the following. In utils.go, when converting to ePub or PDF, extract the date from the visible filename, convert that into a UNIX epoch timestamp, and then assign it to the lastModified attribute of the file. However, when using the remarkable UI to sort by "Last updated", it doesn't seem to work. Any ideas?

       s := strings.Split(visibleName, "_")
       date := s[0]
       layout := "20060102"
       t, err := time.Parse(layout, date)
       if err == nil {
               fmt.Printf("extracted %s and converted to %d\n", date, uint(t.Unix()))
               lastModified = uint(t.Unix())
       }
       lastModified = 1

No articles synced, RM2 rebooting

I did what appeared to be a successful install of pocket2rm. I received the expected success message from the installer, ~/.pocket2rm exists, and my RM2 has a "pocket" folder with the file that says "Remove to Sync"... however, if I remove that file, nothing syncs, and my RM2 reboots.

Thoughts on how to debug this?

Possibly useful notes:
Remarkable firmware version 2.6.2.75
Built on my NixOS laptop with Go version 1.16.3
SSH to the RM2 confirmed working with key-based auth.

High memory usage

Thanks for making this tool! It works well on my RM2 but I noticed that the memory usage seems excessive for a fairly simple program so I thought we could collect ideas on how to improve this.

I've attached a snapshot of top as an example I saw. My device finished syncing 10 articles and then I checked top so I wonder if the memory is not free'd up after the sync finishes. Thoughts?

Mem: 279832K used, 747832K free, 10780K shrd, 6092K buff, 101740K cached
CPU:   0% usr   0% sys   0% nic 100% idle   0% io   0% irq   0% sirq
Load average: 0.28 0.13 0.08 3/111 635
  PID  PPID USER     STAT   VSZ %VSZ %CPU COMMAND
  191     1 root     S     779m  78%   0% /home/root/pocket2rm-reload.arm
  254     1 root     S     396m  39%   0% /usr/bin/xochitl --system
  192     1 root     S     126m  13%   0% rm2fb-server
  241     1 root     S    65480   6%   0% /opt/bin/remux
  194     1 root     S    43288   4%   0% /usr/bin/sync --service
  133     1 root     S    29024   3%   0% /lib/systemd/systemd-journald
  184     1 systemd- S    19552   2%   0% /lib/systemd/systemd-timesyncd
  134     1 root     S    12200   1%   0% /lib/systemd/systemd-udevd
  187     1 root     S    12068   1%   0% /usr/bin/crashuploader --path /home/root/
  331     1 root     S    12032   1%   0% /usr/bin/qmdns-responder
    1     0 root     S    11684   1%   0% {systemd} /sbin/init
  140     1 systemd- S    10688   1%   0% /lib/systemd/systemd-networkd
  211     1 root     S    10004   1%   0% /lib/systemd/systemd-logind
  132     1 root     S     7596   1%   0% /usr/sbin/haveged -w 1024 -v 1 --Foreground
  273     1 root     S     7532   1%   0% /usr/sbin/wpa_supplicant -u
  188     1 messageb S     4084   0%   0% /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-act
  190     1 root     S     3924   0%   0% /sbin/agetty -o -p -- \u --noclear tty1 linux
  449   448 root     S     3180   0%   0% -sh
  621   620 root     S     3180   0%   0% -sh
  186     1 root     S     2740   0%   0% /usr/sbin/ifplugd -n -i usb0
  635   621 root     R     2740   0%   0% top
  204     1 root     S     2672   0%   0% /usr/sbin/dhcpcd -4 -b --master wlan0
  448     1 root     S     2592   0%   0% /usr/sbin/dropbear -i -r /etc/dropbear/dropbear_rsa_host_key -B
  620     1 root     S     2592   0%   0% /usr/sbin/dropbear -i -r /etc/dropbear/dropbear_rsa_host_key -B
  193     1 root     S     1876   0%   0% /sbin/agetty -8 -L ttymxc0 115200 xterm
   21     2 root     IW       0   0%   0% [kworker/0:1-eve]
  117     2 root     IW<      0   0%   0% [kworker/1:2H-kb]
   94     2 root     IW<      0   0%   0% [kworker/0:1H-mm]
   89     2 root     IW       0   0%   0% [kworker/1:3-eve]
  156     2 root     IW<      0   0%   0% [kworker/1:3H-kb]
   97     2 root     IW       0   0%   0% [kworker/1:5-eve]
  100     2 root     IW       0   0%   0% [kworker/0:2-eve]
  401     2 root     IW       0   0%   0% [kworker/u4:3-ev]
   83     2 root     SW       0   0%   0% [irq/74-2-0024]
  404     2 root     IW       0   0%   0% [kworker/u4:6-ev]
^C  9     2 root     SW       0   0%   0% [ksoftirqd/0]

«'go get' is no longer supported outside a module.»

Hi

Running go version go1.20.2 linux/amd64, I've this error message:

~/Téléchargements/pocket2rm$ ./install.sh 

Enter your Remarkable IP address [10.11.99.1]: 10.11.99.1

compiling pocket2rm...
go: go.mod file not found in current directory or any parent directory.
	'go get' is no longer supported outside a module.
	To build and install a command, use 'go install' with a version,
	like 'go install example.com/cmd@latest'
	For more information, see https://golang.org/doc/go-get-install-deprecation
	or run 'go help get' or 'go help install'.

Am I doing something wrong?

Error installing on rm2

I tried to install (ubuntu 20.04, go installed) for my rM2, and have a trouble at compiling:

''''
$ ./install.sh

Enter your Remarkable IP address [10.11.99.1]:

compiling pocket2rm...
go: cannot find main module, but found .git/config in /home/francois/sources/pocket2rm
to create a module there, run:
cd ../.. && go mod init
''''

Then it stopped.

Any idea ?

Remove removed pocket items from local

When an Item from the Pocket is removed/deleted the local copy to Remarkable tablet stays there ..
Is there a way to sync any removed files and accordingly remove them from local as well?

Use network-online.target to trigger synchronisation?

Hi @GliderGeek et al. I would have liked to discuss by mail or chat, but there are no contact data (:

I was wondering why there were two services, and a duplicate of the utils file, so I read some code.

The reload service seems to react to home.mount, and the normal service reacts to home.mount and the UI to come up xochitl.service.

Now I was wondering when and how often these events rise on a reMarkable. I don't know when reMarkable actually shuts down, as it probably mostly goes into standby?

Is the Pocket sync triggered often enough is my question.

Or might network-up.target actually be a better event, since it probably gets called after each wake-up, and seems to be used by the reMarkable itself to sync.

reload is not triggered

remarkable software has changed and now moves a file to the trash instead of really deleting it

this means that the deletion of the reload file is not really a deletion and thus doesnt trigger the reload

functionality should be changed to reload upon moving to trash

Images missing

Hi there!

Thanks so much for your app! It's what I was missing on my remarkable.
I just installed the services (despite your warning of random restarts). My device restarted once for now, I'll keep an eye on it.

I noticed that images are missing from my articles. The log contains lines like

[05:42.243] Warning: Unable to open file /wp-content/uploads/2020/06/GettyImages
-1247012970.jpeg (:0, )

Am I guessing right that it's the readability package that is causing this error? It seems like some prefix is missing to the path, it's actually quite dangerous that it's trying to store images on root level.

I'll be happy to report the issue over at https://github.com/go-shiori/go-readability/

Thanks!

run on remarkable itself

working example:
https://github.com/Evidlo/remarkable_news

steps:

  • find out where articles are saved. determine pocket folder
  • manually copy files to remarkable with scp
    • files (epub and pdf) are present after shut-down and restart
    • go-code to generate necessary files
    • try if are present after restarting service
    • get files present without restart
  • compile service which gets a single document (PDF) when connected to wifi
    • only gets if document is not already present (only gets it once)

Setup Error on Windows

Hello, i first got the same error as francoissabot, i used your solution and it compiled, but then it returned this error.

./install.sh: line 35: /c/Users/frede/Ablage/Coding/Git Reps/pocket2rm/cmd/pocket2rm-setup/main: cannot execute binary file: Exec format error

Im sorry if its me whos causing, i never used go before and im using windows were i use cmder.exe to run it

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.