Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync with ownCloud #18

Closed
jancborchardt opened this issue Apr 8, 2014 · 10 comments
Closed

Sync with ownCloud #18

jancborchardt opened this issue Apr 8, 2014 · 10 comments

Comments

@jancborchardt
Copy link

Hey @lwindolf :)

It would be cool if Liferea would support sync with ownCloud next to The Old Reader and Tiny-Tiny-RSS.

ownCloud has a News app: http://apps.owncloud.com/content/show.php?content=158434
And that News app has an API: https://github.com/owncloud/news/wiki/API-1.2

There’s already great sync clients for Android and iOS, so now it would be cool to have one for Linux. :)

cc'ing the ownCloud News devs @Raydiation @cosenal

@stefan-niedermann
Copy link

This would really cool. As an owncloud user i'd like to sync to a desktop application and liferea seems to be the perfect solution :)
👍

@tareko
Copy link

tareko commented Apr 16, 2014

Similarly, I think this is a necessary next step for Liferea.

However, this was addressed and shut down previously:

http://sourceforge.net/p/liferea/bugs/1087/

tarek : )

@lwindolf
Copy link
Owner

Hi guys, my time doesn't allow to build OwnCloud support. Someone else has to do it. Sorry!

Please contribute!

If I find time I'll isolate the node source interface into an example plugin so it can be easily implemented in any scripting language without C knowledge.

@kodchi
Copy link
Contributor

kodchi commented Jan 12, 2015

I've started working on this. Contributors are welcome: https://github.com/6ahodir/liferea-owncloud-news

@jancborchardt
Copy link
Author

@6ahodir awesome! Feel free to spread the word on the ownCloud users/developers mailing lists. :)

@lwindolf
Copy link
Owner

@6ahodir Great to hear. If you need help with the liferea code base please drop a mail.

@kodchi
Copy link
Contributor

kodchi commented Jan 13, 2015

@jancborchardt, thanks for the heads up.
@lwindolf, thanks for offering help. I will definitely ping you soon. ;)

@cosenal
Copy link

cosenal commented Jan 13, 2015

@6ahodir is there already something that works and I can try?

@kodchi
Copy link
Contributor

kodchi commented Jan 13, 2015

@cosenal, unfortunately, no. But keep an eye on the repo, hopefully we'll have something working in a couple of weeks.

lwindolf added a commit that referenced this issue Jan 13, 2015
@lwindolf
Copy link
Owner

@6ahodir: With above change a new plugin interface is exposed allowing to register plugins providing new "Sources". The plugin boiler-plate would look like this:

from gi.repository import GObject, Peas, PeasGtk, GLib, Gtk, Liferea
class OwnCloudPlugin(GObject.Object, Liferea.NodeSourceActivatable):
  __gtype_name__ = 'OwnCloudPlugin'

  object = GObject.property(type=GObject.Object)

  def __init__(self):
    # Setup a feed subscription type (for updating single feeds)
    self.fst = Liferea.subscriptionType()
    self.fst.prepare_update_request = ...
    self.fst.process_update_request = ...

    # Setup source subscription type (for updating the list of feeds)
    self.sst = Liferea.subscriptionType()
    self.sst.prepare_update_request = ...
    self.sst.process_update_request = ...

    self.nst = Liferea.nodeSourceType()
    self.nst.id = 'fl_owncloud'
    self.nst.name = 'OwnCloud'
    self.nst.capabilities = Liferea.NODE_SOURCE_CAPABILITY_DYNAMIC_CREATION + 
                                      Liferea.NODE_SOURCE_CAPABILITY_ADD_FEED +
                                      ...
    self.nst.feedSubscriptionType = self.fst
    self.nst.sourceSubscriptionType = self.sst
    self.nst.method1 = ...
    self.nst.method2 = ...
    ...

  def do_activate (self):
    Liferea.node_source_type_register (self.nst)

(Note: entirely untested)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants