Giter Site home page Giter Site logo

burg3r5 / firefox-bookmarks Goto Github PK

View Code? Open in Web Editor NEW
6.0 6.0 1.0 142 KB

Manage your Firefox bookmarks with ease

Home Page: https://pypi.org/project/firefox-bookmarks/

License: GNU Affero General Public License v3.0

Python 100.00%
firefox firefox-bookmarks peewee python python-library

firefox-bookmarks's Introduction

firefox-bookmarks's People

Contributors

burg3r5 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

gerritgeeraerts

firefox-bookmarks's Issues

Error `peewee.OperationalError: database is locked` on Flatpak profile

Hi! I get peewee.OperationalError: database is locked error if I try to access the database when my Firefox Flatpak is running. I use the following to connect to the database fb.connect(look_under_path='/home/johndoe/.var/app/org.mozilla.firefox/.mozilla/firefox/johndoe.default-release'). I don't think it's related to Flatpak, perhaps I'm missing something?

Bug `sqlite3.IntegrityError: UNIQUE constraint failed: bookmark.id`

Hello, seems the minimal example don't work on Windows 11 with Python 3.10.8 and Firefox 130.0.

C:/Users/user/AppData/Local/Programs/Python/Python310/python.exe c:/Work/Current/BookmarkRuler/BookMarkRulerFirefox.py
Traceback (most recent call last):
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\peewee.py", line 3322, in execute_sql
    cursor.execute(sql, params or ())
sqlite3.IntegrityError: UNIQUE constraint failed: bookmark.id

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\Work\Current\BookmarkRuler\BookMarkRulerFirefox.py", line 6, in <module>
    fb.connect(criterion=ProfileCriterion.LARGEST)
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\firefox_bookmarks\__init__.py", line 394, in connect
    self._load()
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\firefox_bookmarks\__init__.py", line 434, in _load
    ).execute()
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\peewee.py", line 2036, in inner
    return method(self, database, *args, **kwargs)
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\peewee.py", line 2107, in execute
    return self._execute(database)
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\peewee.py", line 2912, in _execute
    return super(Insert, self)._execute(database)
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\peewee.py", line 2625, in _execute
    cursor = database.execute(self)
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\peewee.py", line 3330, in execute
    return self.execute_sql(sql, params)
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\peewee.py", line 3320, in execute_sql
    with __exception_wrapper__:
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\peewee.py", line 3088, in __exit__
    reraise(new_type, new_type(exc_value, *exc_args), traceback)
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\peewee.py", line 196, in reraise
    raise value.with_traceback(tb)
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\peewee.py", line 3322, in execute_sql
    cursor.execute(sql, params or ())
peewee.IntegrityError: UNIQUE constraint failed: bookmark.id

Run integration tests on Windows image during CI

We're running the integration tests on ubuntu-latest and macos-latest. I'd like to also run them on windows-latest too.

The steps will be mostly the same, except some changes in the run-firefox step.

Add support for Keywords

  • FirefoxKeyword model in models.py
  • Bookmark contains keyword data alongside keyword_id in bookmark.py

Combine the integration tests workflow into one job

Most of the steps in he current integration_tests.yml workflows are exactly the same, except for the run-firefox step. They should be combined into one job, with an if condition on the differing step and a strategy.matrix containing the different OSes.

Add more `ProfileCriterion`

for example,

  • OLDEST
  • SMALLEST

for bonus points, we can also have a MATCHES(q) criterion, but that'd require upgrading the Enum

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.