{"id":20286419,"url":"https://github.com/paganini2008/favorites","last_synced_at":"2025-10-06T06:48:00.977Z","repository":{"id":217110667,"uuid":"526015838","full_name":"paganini2008/favorites","owner":"paganini2008","description":"A small and exquisite bookmark management application.","archived":false,"fork":false,"pushed_at":"2022-08-18T10:37:49.000Z","size":11,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-14T08:14:15.631Z","etag":null,"topics":["beautifulsoup4","elasticsearch","flask","pymysql","python3","requests"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/paganini2008.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-08-18T01:45:24.000Z","updated_at":"2022-08-18T11:45:35.000Z","dependencies_parsed_at":"2024-01-14T17:06:36.144Z","dependency_job_id":null,"html_url":"https://github.com/paganini2008/favorites","commit_stats":null,"previous_names":["paganini2008/favorites"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paganini2008%2Ffavorites","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paganini2008%2Ffavorites/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paganini2008%2Ffavorites/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paganini2008%2Ffavorites/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paganini2008","download_url":"https://codeload.github.com/paganini2008/favorites/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241780500,"owners_count":20019061,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["beautifulsoup4","elasticsearch","flask","pymysql","python3","requests"],"created_at":"2024-11-14T14:34:05.304Z","updated_at":"2025-10-06T06:47:55.912Z","avatar_url":"https://github.com/paganini2008.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# favorites\n\nA small and exquisite bookmark management application. You can export your favorite web pages from bookmark management of any browser and put it in a directory monitored by the application. The file watchdog will load the file and output all links to \u003ccode\u003eMysql\u003c/code\u003e database, finally creating indexes by \u003ccode\u003eElasticsearch\u003c/code\u003e.\n\n\n\n\n## Tech Stack\n\n* Python3\n* Flask\n* Requests\n* BeautifulSoup\n* Pymysql\n* ElasticSearch\n\n\n\n\n## How to Work?\n\n``` mermaid\nflowchart TD\n   u(\"BookMark Management\")--\u003e|\"Export as a File\"|a(\"BookMark File\")\n   a(\"BookMark File\")--\u003e|\"Save\"|b(\"Directory\")\n   b(\"Directory\")--\u003ec(\"Watchdog\")\n   c(\"Watchdog\")--\u003e|\"Change Notify\"|d(\"FileChangeEventHandler\")\n   d(\"FileChangeEventHandler\")--\u003e|\"Analyse File and Save Link\"|e(\"Mysql\")\n   e(\"Mysql\")--\u003e|\"Create Index\"|f(\"ElasticSearch\")\n   \n```\n\n\n## Run\n\n``` log\nfavorites\n├── README.md\n├── test\n   ├── config\n   │   └── fav.ini\n   ├── templates\n   │   ├── hello.html\n   │   ├── layout.html\n   │   ├── result.html\n   │   └── search.html\n   ├── common.py\n   ├── es.py\n   ├── fav_exp.py\n   └── web.py\n```\n\n\n* **Start directory watchdog:** \n  \n  ``` \n  python fav_exp.py\n  ```\n  \n  \n  \n* **Start web appalication to search by keyword:**\n  \n  ```\n  python web.py \n  ```\n  \n  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaganini2008%2Ffavorites","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpaganini2008%2Ffavorites","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaganini2008%2Ffavorites/lists"}