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

TODO list #39

Closed
13 of 22 tasks
jarun opened this issue Jun 5, 2016 · 44 comments
Closed
13 of 22 tasks

TODO list #39

jarun opened this issue Jun 5, 2016 · 44 comments

Comments

@jarun
Copy link
Owner

jarun commented Jun 5, 2016

Continued from #14.

Notes

The list below is a growing one. While suggesting new features please consider contributing to Buku. The code is intentionally kept simple and easy to understand with comments. We'll be happy to help out any new contributor.

Some of the just-completed features may not have been released yet. Grab the master branch for those.

Currently identified ToDos

  • Implement self-upgrade (refer to googler source)
  • Move to REPL style (re-use the current Argparser, make sure DB is consistent after each run). Branch - repl
  • Load DB in memory, use encryption by default (unlock for a complete REPL session, lock before program exit)
  • Option to add folder names as tags while importing HTML (refer to Import folders as tags while importing bookmarks HTML. #80)
  • Search as you type at REPL prompt
  • Fuzzy search at REPL prompt
  • PyPI packaging (branch pypi-packaging)
  • Android app (using the same database)
  • Markdown import/export
  • Regex search
  • Ubuntu PPA
  • Export specific tags to HTML
  • Add more tests (incremental @wheresmyjetpack, @poikjhn)
  • Exact word match instead of substring match as it works currently. (Hint: REGEXP)
  • Delete all records based on a search result
  • Delete multiple items eg: 1,2,3,10-30,45 (to delete records 1,2,3, from 10 to 30.. etc)
  • Append tags
  • Travis CI integration
  • Ubuntu deb package generation on new tag
  • Merge bookmark database files (for users who work on multiple systems)
  • Export bookmarks in FF or Chrome html format.
  • Anything else which would add value (please discuss in this thread)
@wheresmyjetpack
Copy link
Contributor

Hi @jarun
I'm interested in writing some tests for BukuDb. I'm working filling out the commented-out tests at the moment. Any suggestions for something to work on in particular?

@jarun
Copy link
Owner Author

jarun commented Aug 22, 2016

Hi @wheresmyjetpack,

Please take a look at the current test cases to get an idea. If you ask me, Buku does very complex tag management and susceptible to break with even minor changes. I guess you can add stronger test cases there.

@jarun
Copy link
Owner Author

jarun commented Sep 5, 2016

Exact word match using regexp supported at 405b73a.

@wheresmyjetpack
Copy link
Contributor

For PR #65, is there a reason / necessity for the prompt staying up after a range of results has been opened? This is causing issues during testing. I'm able to patch input to simulate user input, returning a string of results to open ("1-3", for example), but I'm unable able to patch it again once the while loop in prompt has been entered. Because prompt requires you to hit enter twice to exit, the test hangs waiting on this action. Would it be acceptable to close the prompt (break out of the loop) after a range of results has been opened?

@jarun
Copy link
Owner Author

jarun commented Sep 6, 2016

In my case if I search for a reasonably frequent keyword like computer, the list is a long one. I would need to scroll up/down and keep opening results.

If it's of any help, the prompt exits with a Ctrl-d if that can be simulated. However, if all of this becomes too cumbersome, leave it. The code seems stable as far as I have tested manually and we'll live with it. If someone finds a bug, we'll fix. :)

@wheresmyjetpack
Copy link
Contributor

Found a way to handle this, should be opening a PR tonight!

@jarun
Copy link
Owner Author

jarun commented Sep 6, 2016

👍

@wheresmyjetpack
Copy link
Contributor

Not sure if I'm misunderstanding the prompt for opening bookmarks from search results, but supplying "a" for opening (a)ll bookmarks doesn't seem to produce any of the desired behavior. Presuming this is supposed to be either a range or "a" for all bookmarks.

@jarun
Copy link
Owner Author

jarun commented Sep 7, 2016

I'll check this and get back.

@jarun
Copy link
Owner Author

jarun commented Sep 7, 2016

Fixed this at commit d4ec9e8.

@ovv
Copy link
Contributor

ovv commented Sep 10, 2016

Hello @jarun

I can look into making a Pypi packages if you are interested.

@jarun
Copy link
Owner Author

jarun commented Sep 11, 2016

@Ovvovy thanks for the offer!

There are a few problems we'll face regarding Pypi:

  • I do not maintain any of the downstream packages on AUR, Debian Sid, Homebrew etc. In case of Pypi the package name gets tied to whoever submits it. I would gladly give you collaborator rights to this repo (though commits should come through PRs). Are you willing to maintain the Pypi packaging?
  • Travis automated builds will break when you change the name to buku.py. That would need some fixing. Or can it be done without changing the name to buku.py? I would love that because it wouldn't force a name change on mainline distros.

@ovv
Copy link
Contributor

ovv commented Sep 12, 2016

I think it's possible to change the packages owner on Pypi.

I'll look into the naming thing.

@jarun
Copy link
Owner Author

jarun commented Sep 12, 2016

I think it's possible to change the packages owner on Pypi.

Thanks! This is to keep prepared for a situation where a contributor moves on.

I'll look into the naming thing.

Thank you!

@ovv
Copy link
Contributor

ovv commented Sep 12, 2016

Here is the first step: https://pypi.python.org/pypi/buku/0.0.4

I had to move and create some files. I'm not sure it will be possible to do it without breaking Travis builds.
Next step will be to create a command line entry point.

If you give me your Pypi username I can add you to the package

@jarun
Copy link
Owner Author

jarun commented Sep 12, 2016

I'll create an account and share it with you.

@jarun
Copy link
Owner Author

jarun commented Sep 12, 2016

Please use the handle arunj.

@emilv
Copy link

emilv commented Sep 14, 2016

Would automatic tag suggestions be interesting? Me and some friends did such a project for bookmarks in a university course and it worked wonders. We trained our model on already categorized bookmarks, then when you insert a new page we calculated a score for each category. In all our tests the highest scoring category was always the correct one! We used an approach very similar to word2vec.

@jarun
Copy link
Owner Author

jarun commented Sep 14, 2016

Yes! I'm game if you would like to explore it in Buku.

@taziden
Copy link

taziden commented Sep 14, 2016

Hi,
I'd love to have an option to get rid of the color in the output (for instance, output of buku -p).
So that I don't need to use sed to remove color codes.

Thanks

@jarun
Copy link
Owner Author

jarun commented Sep 14, 2016

Does the --json or --format option help?

@jarun
Copy link
Owner Author

jarun commented Sep 14, 2016

If not, please feel free to contribute an unformatted output option. For example: --format 3. Should work with search results as well as -p.

@taziden
Copy link

taziden commented Sep 14, 2016

Well, --format 1 is actually perfect for me. Sorry for the noise and thanks for the good work !

@dgengtek
Copy link

What do you think about bookmark export filterted for toolbars?

Only entries with the tag toolbar get exported into specific html header with the toolbar flagged instead of currently all bookmarks being exported into the personal toolbar folder.

@jarun
Copy link
Owner Author

jarun commented Sep 15, 2016

You can make it generic instead of just --toolbar. Export specific tags (multiple) if --tag is used. If unused, export all. Feel free to raise a PR.

@jarun
Copy link
Owner Author

jarun commented Sep 15, 2016

@Ovvovy any update on the Pypi packaging? You can use the handle arunj.

@ovv
Copy link
Contributor

ovv commented Sep 15, 2016

@jarun didn't really had the time to improve it, but i'll do it this weekend.

I already added you as owner on Pypi. I thought they send an email but guess not.

@jarun
Copy link
Owner Author

jarun commented Sep 15, 2016

Nope, didn't get any noti But that's OK. Thanks for the update!

@ovv
Copy link
Contributor

ovv commented Sep 15, 2016

Could you check by connecting to Pypi ?

@jarun
Copy link
Owner Author

jarun commented Sep 15, 2016

Yep, I'm there with you. 👍

@jarun jarun mentioned this issue Sep 19, 2016
@heliocarbex
Copy link

heliocarbex commented Oct 9, 2016

  • Can I use in Windows easily? Are you thinking to produce some UI?
  • I have many accounts and browsers. One Firefox account for home, other for job (the same for Chrome) and I have Vivaldi too. You can think in a script to get information for all browsers and accounts and produce a big merge according the user preferences.

@jarun
Copy link
Owner Author

jarun commented Oct 10, 2016

@heliocarbex

  • I haven't tested on Windows. Give it a try. No plans to write a GUI myself. The current integration works fine for me. However, PRs are welcome!
  • That personalization would be user specific. You'll have to write your own script I'm afraid. If you can share the script I can link to it.

@jarun
Copy link
Owner Author

jarun commented Oct 10, 2016

Patch b16f08d fixes basic issues on Windows. You'll need to use a terminal that understands ANSI color codes (e.g. ConEmu).

@heliocarbex
Copy link

Other good ideas:

  • Create a daemon to watch changes in bookmarks folders of Firefox, Chrome, Vivaldi, IE, etc (the user can select the desired folder and/or file) and import automatically to the database of Buku.
  • Solve problems of duplicated entries in the database (there is solutions in each browser, but it can be interesting have one in this big aggregator).

@jarun
Copy link
Owner Author

jarun commented Oct 17, 2016

Hi @heliocarbex

  • One can add bookmarks directly to the Buku database any time with keyboard shortcuts. A daemon would be a stronger solution to a simpler problem and will make things more complex than required.
  • Buku doesn't allow duplicate entries by design.

Are you interested in picking up any of the currently identified tasks?

@palagit
Copy link

palagit commented Oct 20, 2016

Hi,

I'm a new user of buku. There is a feature´-request i found nice to have. A switch to check if all bookmark are still active and save this entry in the database (active, not available + last timestamp active). So inactive bookmark could be deletet.

Sorry for my english , i'm still learning.

@jarun
Copy link
Owner Author

jarun commented Oct 20, 2016

Thanks for the suggestion! If you run buku -u it will refresh the titles and log (prominent) info if it fails to fetch any. There is no easy way to determine whether a link is really live or not. Sometimes there are temporary glitches, sometimes servers are down or are moved... That's the main reason Buku doesn't bother about the actual existence of a link in it's internal logic.

@palagit
Copy link

palagit commented Oct 20, 2016

Ok, I understand your problem. My idea were to check with buku -u all bookmarks, then if not reachable, mark in the database with timestamp, not reachable and a counter. On the next check with buku -u and not reachable, the counter will increased. If the counter reaches a level of 5 the flag bookmark filled with "the site may be deleted".

I tried to write a script to solve my idea.

Thanks for the quick answer

@jarun
Copy link
Owner Author

jarun commented Oct 20, 2016

👍

@cpaulik
Copy link

cpaulik commented Oct 20, 2016

It would be great if there would be an option during import to use the existing folder names from Chrome as tags in buku.

@jarun
Copy link
Owner Author

jarun commented Oct 21, 2016

@cpaulik Nice one! Thank you! Added to the list. Would you be interested in contributing the feature?

@jarun jarun mentioned this issue Oct 22, 2016
30 tasks
@jarun jarun closed this as completed Oct 22, 2016
@amitkalani1
Copy link

Hi @jarun,
thanks for Buku.
What do you think about extending the database table with columns
'date_added', 'date_visited', 'times_visited', 'status' (e.g. unreachable)
and maybe 'rating'?

@jarun
Copy link
Owner Author

jarun commented Oct 22, 2016

I know there are bookmark utilities (including FF bookmark manager) which track these data and store stats. We don't want to track users, collect data and intrude into user privacy. It's one of the guiding principles of buku.

Regarding 'status' please check my earlier comment #39 (comment).

What's the use case for an additional 'rating' field? Please note that users can have tags like 1 start, 2 star etc.

@jarun
Copy link
Owner Author

jarun commented Oct 22, 2016

Rolled at #78.

Repository owner locked and limited conversation to collaborators Oct 22, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants