Skip to main content

Wallabag API to add every pages you want to your Wallabag account

Project description

Python API for Wallabag v2.4.2

Requirements :

  • httpx

Installation:

to get the project, from your virtualenv, do :

git clone https://gitlab.com/foxmask/wallabagapi/

or

pip install wallabagapi

Creating a post :

  1. request the token, if you don’t have it yet

  2. create the post

#!/usr/bin/env python

import httpx

from wallabagapi.wallabag import Wallabag
# settings
my_host = 'http://localhost:8080'


async def main(loop):

    params = {'username': 'foxmask',
              'password': 'mypass',
              'client_id': 'myid',
              'client_secret': 'mysecret',
              'extension': 'pdf'}

    # get a new token
    token = await Wallabag.get_token(host=my_host, **params)

    wall = Wallabag(host=my_host,
                    client_secret=params.get('client_secret'),
                    client_id=params.get('client_id'),
                    token=token,
                    extension=params['extension'],
                    aio_sess=session)

    # initializing
    async with httpx.AsyncClient() as client:

        url = 'https://foxmask.trigger-happy.eu'
        title = 'foxmask\'s  blog'

        await client.post_entries(url, title, '', 0, 0)

        url = 'https://trigger-happy.eu'
        title = 'Project TrigerHappy'

        await wall.post_entries(url, title, '', 0, 0)

        # get all the articles
        my_wallabag = await wall.get_entries()

        all_article = my_wallabag['_embedded']['items']

        for article in all_article:
            print(article['id'], article['title'])

        # get the version of wallabag
        version = await wall.version
        print(f"version {version}")

        # export one article into PDF
        my_wallabag = await wall.get_entry_export(entry=1)
        with open("foobar.pdf", "wb") as f:
            f.write(my_wallabag)

if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    loop.run_until_complete(main(loop))

this will give you something like this :

https://gitlab.com/foxmask/wallabagapi/-/raw/master/wallabag.png

Testing :

Install Wallabag V2 on your own host like explain here http://doc.wallabag.org/en/v2/user/installation.html

Then run the development version (with make run)

Then create a client API like explain here http://doc.wallabag.org/en/v2/developer/api.html

this will give you something like this

https://gitlab.com/foxmask/wallabagapi/-/raw/master/wallabagapi_key.png

Then replace the client_id / client_secret / login / pass to wallabag_test.py and run

python wallabag_test.py

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

wallabagapi-1.3.2.tar.gz (8.5 kB view hashes)

Uploaded Source

Built Distribution

wallabagapi-1.3.2-py3-none-any.whl (8.3 kB view hashes)

Uploaded Python 3

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