/cubox-to-notion

A slight but fast synchronization tool for Notions users to utilize Cubox.

Primary LanguagePythonMIT LicenseMIT

Notice: since the official product is introducing a similar feature, I decide to suspend this project untill its release.

Cubox to Notion [ Engligh | 中文 ]

version GitHub top language codebeat badge License
A slight tool for Notion users to integrate Cubox service.

Motivation: In most cases (including WeChat/web clipping), Cubox is a decent solution to collect something, however, Notion is more capable for managing and utilizing them.

Next Update: planned before Jan, 23.

What's New in Oct.✨

  • Full-text suport (experimental, dute to API limis, some article will be fallback to description)
  • Improved speed by locah chache control
  • Issue fixed: No.5
  • Action needed after updating: pip install -r requirements.txt to update requirements

Features

  • TOTALLY FREE

  • Cubox contents -> Notion, currently supporting

    • Basic information, including title, descriptionc, link, tags
    • Cubox properties, including link, full-text, created time (planned)
  • Consecutive, incremental synchronization

  • Duplication detection & control

  • Automatic deletion & control

  • Improved speed

  • Multiple folders (implemented, not tested though)

  • Select folder by name (planned)

At a glance

How to start

1. Prepare a Notion database and a bot

(1) Prepare a Notion database with following necessary columns:

  • Name, title
  • URL, link
  • Cubox, link
  • Tags, multiple selection
  • Type, selection, a default item 'Cubox' required

(2) copy your Notion database id, to config.ini(template found at config.template.ini)
(3) create a Notion Bot, get a key, and copy to config.ini
(4) invite your bot to your database, make sure it has write permission

2. Get your Cubox token and locate your group to sync

(1) log in, for sure, and copy your token stored in your cookies to config.ini
(remember to qute them with " since Cubox token has a = in its string)
(2) copy your collection id to config.ini

3. Start to run

  • If you would like to keep your Notion database updated consecutively, use loop sync:
    python main.py
  • If you would like to excute an one-time sync, use:
    scrapy crawl cubox_to_notion -L ERROR # where log-level can be customized by replacing ERROR to INFO, CRITICAL, etc.
    MORE EXPLANATION INCOMING

Required & not required

Required

  • An Notion API token, make sure your extension is invited to your datdabase
  • A server or a local computer with Python 3.6+ installed

Not Required

  • Notion Pro Plan ( = free 🤩)
  • Cubox Pro Plan ( = free 🤩)

Technical Details

In a word, we utilized the potential of Scrapy.

Support the Author

  • Click 🌟
  • Donation through afdian

LICENSE

Permission is hereby granted in MIT LICENSE