Skip to main content

Parse db/html/json bookmarks file from (Chrome - Firefox - Custom source) and convert it to db/html/json format.

Project description

Bookmarks Converter


image image image

Bookmarks Converter is a package that converts the webpage bookmarks from DataBase/HTML/JSON to DataBase/HTML/JSON. It can be used as a module or using the CLI.

  • The Database files supported are custom sqlite database files created by the SQLAlchemy ORM model found in the .models.py.

  • The HTML files supported are Netscape-Bookmark files from either Chrome or Firefox. The output HTML files adhere to the firefox format.

  • The JSON files supported are the Chrome .json bookmarks file, the Firefox .json bookmarks export file, and the custom json file created by this package.

To see example of the structure or layout of the DataBase, HTML or JSON versions supported by the packege, you can check the corresponding file in the data folder found in the github page data or the bookmarks_file_structure.md.


Table of Contents


Python and OS Support

The package has been tested on Github Actions with the following OSs and Python versions:

OS \ Python 3.12 3.11 3.10 3.9
macos-latest
ubuntu-latest
windows-latest

Dependencies

The package relies on the following libraries:


Install

Bookmarks Converter is available on PYPI

python -m pip install bookmarks-converter

Test

To test the package you will need to clone the git repository.

# Cloning with HTTPS
git clone https://github.com/radam9/bookmarks-converter.git

# Cloning with SSH
git clone git@github.com:radam9/bookmarks-converter.git

then you create and install the dependencies using Poetry.

# navigate to repo's folder
cd bookmarks-converter
# install the dependencies
poetry install
# run the tests
poetry run pytest

Usage as Module

from bookmarks_converter import BookmarksConverter

# initialize the class passing in the path to the bookmarks file to convert
bookmarks = BookmarksConverter("/path/to/bookmarks_file")

# parse the file passing the format of the source file; "db", "html" or "json"
bookmarks.parse("html")

# convert the bookmarks to the desired format by passing the fomrat as a string; "db", "html", or "json"
bookmarks.convert("json")

# at this point the converted bookmarks are stored in the 'bookmarks' attribute.
# which can be used directly or exported to a file.
bookmarks.save()

Usage as CLI

# Activate the virtual environment if the "bookmarks-converter" package was installed inside one.

# run bookmarks-converter with the desired settings

# bookmarks-converter input_format output_format filepath
bookmarks-converter db json /path/to/file.db

# use -h for to show the help message (shown in the code block below)
bookmarks-converter -h

The help message:

usage: bookmarks-converter [-h] [-V] input_format output_format filepath

Convert your browser bookmarks file from (db, html, json) to (db, html, json).

positional arguments:
  input_format   Format of the input bookmarks file. one of (db, html, json).
  output_format  Format of the output bookmarks file. one of (db, html, json).
  filepath       Path to bookmarks file to convert.

optional arguments:
  -h, --help     show this help message and exit
  -V, --version  show program's version number and exit

License

MIT License

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

bookmarks_converter-0.3.4.tar.gz (13.4 kB view hashes)

Uploaded Source

Built Distribution

bookmarks_converter-0.3.4-py3-none-any.whl (14.0 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