Mobileread
Koreader > Calibre Wireless Device Connection
#1  Amon_Re 09-11-2019, 03:36 PM
Hi,

I've installed Koreader on my Boyue Likebook Mimas and I'm trying to use koreader's wireless connection to Calibre.

I can successfully connect to Calibre from Koreader as long as I don't set a password and send eBooks to the device, but on reconnect Calibre can't see the eBooks I previously transmitted nor sync reading position.

Is this normal behaviour or am I messing something up?
Reply 

#2  NiLuJe 09-11-2019, 06:11 PM
IIRC, yes, that's normal behavior.

There's a couple of threads and/or issues about this, but your conclusions look sound, from what I can recall.
Reply 

#3  Isomorpheus 10-17-2019, 12:45 PM
Quote NiLuJe
IIRC, yes, that's normal behavior.

There's a couple of threads and/or issues about this, but your conclusions look sound, from what I can recall.
I can't find those related threads or issues. Can you link some?

Is there intention to fix this behavior?
Reply 

#4  sherman 10-18-2019, 06:41 AM
Quote Isomorpheus
I can't find those related threads or issues. Can you link some?

Is there intention to fix this behavior?
I am not a Koreader developer at all, but having implemented a Calibre wireless client myself (in fact, it's going through an update at the moment), I can say that the Koreader implements just enough of the protocol to keep Calibre from complaining, and no more. It is a very bare-bones implementation.

In other words, it would take some effort to "fix" it. I have no idea when or if anyone will do so (not a koreader dev, so can't speak for them). I don't know Lua, or the koreader architecture, but if anyone on the team wants to create a more complete implementation, I'm happy to share any of my own learning about the protocol.

As a side-note, I was very grateful for the bare-bones Koreader implementation. It helped me figure out where to start with my own.
Reply 

#5  NiLuJe 10-18-2019, 11:09 AM
Yeah, the developer that came up with it (@chrox) is currently inactive, so I wouldn't get my hopes up .

I don't think any of the currently active contributors actually even *use* it, so, if someone's up to it, PRs welcome .

In the meantime, I highly recommend @sherman's own implementation .
Reply 

#6  Isomorpheus 10-18-2019, 04:54 PM
Quote sherman
I am not a Koreader developer at all, but having implemented a Calibre wireless client myself (in fact, it's going through an update at the moment), I can say that the Koreader implements just enough of the protocol to keep Calibre from complaining, and no more. It is a very bare-bones implementation.

In other words, it would take some effort to "fix" it. I have no idea when or if anyone will do so (not a koreader dev, so can't speak for them). I don't know Lua, or the koreader architecture, but if anyone on the team wants to create a more complete implementation, I'm happy to share any of my own learning about the protocol.

As a side-note, I was very grateful for the bare-bones Koreader implementation. It helped me figure out where to start with my own.
Your solution sounds nice. I gave it a try but got an error. Opened an issue for it.
Reply 

#7  Frenzie 10-18-2019, 05:14 PM
Quote NiLuJe
I don't think any of the currently active contributors actually even *use* it, so, if someone's up to it, PRs welcome .
Depends on how you define use. I figure I might use it as an EPUB debugging aid once every few months, to see how fast or slow it renders something or to inspect its DOM and styles.
Reply 

#8  NiLuJe 10-18-2019, 05:24 PM
I, err, meant the plugin, not Calibre itself ^^.
Reply 

#9  sherman 10-18-2019, 06:00 PM
Quote Isomorpheus
Your solution sounds nice. I gave it a try but got an error. Opened an issue for it.
As noted on Github, I'm looking into this.

As a sidenote, I sometimes hate working with Calibre emitted JSON. It seems to assume one is processing it with a dynamically typed language, so data types aren't always very... strict. For example, date/timestamp fields. If there is no date/time, one would expect the field to be non-existent, or null. What one doesn't expect is the string "None"

It makes unmarshalling into a Go struct an exercise in frustration
Reply 

#10  Frenzie 10-18-2019, 06:39 PM
None is Python null. You'd think the JSON library would convert it to null though, not string "None" (which isn't what "None" is, anyway).

Edit: like so
Code
>>> bla = None
>>> if bla == None: print('wee')
...
wee
>>> bla = 'None'
>>> if bla == None: print('wee')
...
>>>
Reply 

  Next »  Last »  (1/2)
Today's Posts | Search this Thread | Login | Register