Commit Graph

62 Commits

Author SHA1 Message Date
cwilvx a5634f267f move to xxh3 hashing algorithm
+ port: search
2024-07-03 11:12:06 +03:00
cwilvx 5759521de0 fix: recently added 2024-06-30 21:40:49 +03:00
cwilvx b9ad07441a store playcount and duration on the track table
+ allow sorting all items with those two
+ add methods to update scrobble info
2024-06-30 19:33:13 +03:00
cwilvx 4a9f804e70 combine userdata and swing db into one
+ port populate to new db interface
+ add genrehashes and hash info to tracks
+ properly structure new db table files
+ move helpers to dedicated utils file
+ move settings from db to config file
+ move artists, albums, auth and favorites endpoint to new db interface
+ use folder store to index filepaths
+ paginate favorite pages
+ 56 moretiny changes 😅
2024-06-30 15:06:33 +03:00
cwilvx 1a66194c6c fix: slow folder track count
+ etc
2024-06-27 00:02:08 +03:00
cwilvx c42ec4dcde start: rewrite the database layer using a freaking ORM
+ start ditching in-mem stores
+ move main db table to a new name
+ experiments!
2024-06-24 00:26:47 +03:00
cwilvx b40f05cc7c implement CLI password recovery (hacky :omg:)
+ rewrite migrations logic
+ rename encode_password to hash_password
+ update image sizes (add medium size)
+ rename image endpoints
2024-05-11 21:26:03 +03:00
cwilvx 999b802f7d guess audio mimetypes 2024-05-08 11:15:02 +03:00
mungai-njoroge fdf3186be6 salt passwords using userid 2024-05-03 23:22:09 +03:00
mungai-njoroge 04957dd5a9 set up auth 2024-04-25 18:18:52 +03:00
mungai-njoroge 2f6e705c75 fix: absolute config path not resolving
+ skip through empty directories in folder browser
+ handle timestamp table error in migration
2024-04-01 11:02:27 +03:00
mungai-njoroge b8fdadbe36 fix merge conflict 2024-03-27 08:39:30 +03:00
mungai-njoroge 0af1ae1d8e Finish documentation for all endpoints
+ fix #193 (settings https redirect)
+ fix open api docs on binary
+ fix git error on binary
+ remove flask-restful

hopefully, I didn't break something 😩
2024-03-24 16:14:47 +03:00
mungai-njoroge 766eb388b2 add timestamp to favorite entries
+ convert useBisection into a function
2024-03-24 16:14:47 +03:00
mungai-njoroge 10a60c9ca2 Update artist image download message and lyrics plugin URL 2024-02-24 21:15:18 +03:00
mungai-njoroge 67f28b8a9b steal some of @tcsenpai 's changes from the PR
+ ditch the LAST FM API KEY thing
+ expose the Musixmatch urls
+ use the kerve last fm api to download similar artist data
+ use google.it instead of the Google public dns to check internet connectivity (to make it work in all environments)
+ return og Dockerfile to fix ARM support
2024-02-16 23:57:23 +03:00
mungai-njoroge 4f48c33009 fix: recently added items sort order in the homepage
.ie. stop relying on folder last mod date, and use the latest file from the folder

+ bump watchdog to v4
+ add WIP docs (stashed in .github/code.docs for now)
2024-02-16 21:30:42 +03:00
mungai-njoroge b7e86ed79b add time ago on recent items
+ move to waitress wsgi server
+ refactor dates utils
+ create locustfile for stress test
2024-02-11 21:10:52 +03:00
thecookingsenpai f66bca67ac Testing with SHA1 gives positive results, also changed the truncation rule 2024-02-02 16:31:18 +01:00
thecookingsenpai f0a8aa02a9 opted for sha1 2024-02-01 20:32:31 +01:00
thecookingsenpai 077661b73c lighter md5 method to be nicer on older cpus 2024-02-01 20:24:42 +01:00
thecookingsenpai bc51150e47 failproof online check (fixes vpns and dns tunnels) 2024-01-31 18:25:20 +01:00
Mungai Njoroge cb47a4bc6e Update hashing.py 2024-01-22 22:38:01 +03:00
mungai-njoroge 8c44aeff3d update create_hash docstring 2024-01-22 22:35:27 +03:00
mungai-njoroge 258897b649 add silence removal using pydub and multithreading
+ fix favorites endpoint returning items less than limit
+ add endpoint to remove get silence padding
+ add 'the ulitimate' and 'compilation' to compilation album filters
+ misc
2024-01-05 01:08:07 +03:00
mungai-njoroge 336360d509 add routes to get all albums and artists with sort
+ rewrite load all albums + artist logic with itertools.groupby
+ add a function to convert seconds to string
2023-12-08 09:20:51 +03:00
mungai-njoroge 5a420214f2 fix playlist last update
+ create a recently added playlist on get api
2023-12-03 12:56:56 +03:00
mungai-njoroge b03e721ee5 add routes for getting recently added items 2023-12-02 01:59:03 +03:00
mungai-njoroge 38650a1a7e Refactor file: taglib.py and utils/parsers.py
Add dataclass and pathlib imports in taglib.py

Add clean_filename, ParseData, and extract_artist_title functions in
taglib.py

Modify get_tags function in taglib.py to use extract_artist_title
function

Modify LyricsProvider class in lyrics.py to add timeout parameter in
session.get

Remove parse_artist_from_filename and parse_title_from_filename
functions in utils/parsers.py

Add split_artists function in utils/parsers.py

Remove parse_artist_from_filename and parse_title_from_filename
functions in utils/parsers.py

Add remove_prod function in utils/parsers.py

Refactor code and improve code readability
2023-11-22 15:44:31 +03:00
mungai-njoroge 4f757e989f redesign progressbars
+ hide some progressbars
+ rewrite telemetry into a class
+ remove obsolete start info logs
+ update contributing.md to include contributing.md
+ send posthog event in a bg thread
+ related side effects
2023-09-27 17:18:52 +03:00
mungai-njoroge 54714a224b ignore unicode characters errors
+ add methods on settings.Keys to verify key !== empty string
2023-09-26 17:59:12 +03:00
mungai-njoroge ba88cf4a23 add telemetry using posthog
+ move build variables into a python file
+ rewrite logic to check if there's an internet connection
+ move IS_BUILD into settings
+ update pyintaller to 6.0.0
+ update other packages to latest
2023-09-25 20:27:20 +03:00
mungai-njoroge 50ebead026 fix issue with Ed Sheeran albums 2023-09-25 12:24:01 +03:00
mungai-njoroge f2addf4d0f rewrite api/artist.py to remove artist cache
+ remove processing taylor's version
2023-09-23 18:57:19 +03:00
mungai-njoroge 83bbe69550 show artist decade in genres
+ assign default artist separators if db is empty
+ add instrumental to album version
+ check if album is a single by checking og_title and current title
+ hard code juice wrld artist name in model
+ set album aritst to first artist if track has no album artist
+ rewrite get_base_album_title regex to use existing album versions
+ misc
2023-09-04 11:01:03 +03:00
mungai-njoroge 5ff3e5d28a add "&" character to genre separators
+ handle r&b genre and rock&roll
2023-09-04 00:49:45 +03:00
mungai-njoroge da88bbd9cc write LASTFM_API_KEY to config file
+ remove alive bar
2023-08-31 21:36:34 +03:00
mungai-njoroge 13475b0630 rewrite remove duplicates to support removing duplicates in albums tracks efficiently
+ remove flags added to client settings page
+ misc
2023-08-29 20:04:30 +03:00
mungai-njoroge 9972f64e8c configure to allow updating artist separators
+ remove ampersand from default
+ misc
2023-08-25 20:09:50 +03:00
mungai-njoroge 71cab5f5ea load settings from db, use api to change settings
+ add route to get all settings
+ add route to set any setting
+ add untested migration to add settings into settings db
+ compress json in api responses using FlaskCompress
+ serve gziped assets if browser accepts encoded files
+ misc
2023-08-24 15:52:09 +03:00
mungai-njoroge 68c2cf1909 read limit from api request query for search 2023-08-20 23:06:16 +03:00
mungai-njoroge 2471f51d86 extract album version into separate file 2023-08-14 11:01:53 +03:00
mungai-njoroge 93de3d2f0c rewrite migrations
+ delete older migrations ... oops
+ change migratrions from "migrations" to "dbmigrations"
+ restructure migrations, order them based on release version
+ add a utils/decorators.py file with a coroutine decorator
2023-07-29 06:46:28 +03:00
mungai-njoroge 6439b512e9 preset mimetypes
+ add db and api methods to remove tracks from playlists
2023-07-21 01:15:57 +03:00
mungai-njoroge f5de09bd09 add last fm similar artists to db table
+ add db methods for the above
+ try and discard last fm store
2023-07-01 01:39:39 +03:00
mungai-njoroge 4a9d6bc3e6 rewrite split_artists parser to remove regex
+ write placehold functions to manage custom separators
2023-06-26 14:21:11 +03:00
mungai-njoroge 4d310c39c3 add tests for sqlitemanager util class
+ implement pendulum in date_string_to_time_passed()
+ remove unused bisection_search_string
2023-06-21 12:18:19 +03:00
mungai-njoroge 9d4f7af581 rewrite populate.get_image() to extract a
track thumbnail from the first track in an album that has one.

+ rewrite Populate.remove_modified with sets
+ clean the SqliteManager utility class
+ Rewrite ProcessTrackThumbnails to use a process pool instead of a thread pool
+ rewrite track store's  remove_tracks_by_filepaths to utilize sets
2023-06-21 09:20:56 +03:00
mungai-njoroge 1eac009fde prevent running migrations if is_fresh_install
+ fix: sqlite3.ProgrammingError: Cannot operate on a closed cursor on ProcessAlbumColors()
+ move processing artist images from periodic_scans to Populate
+ bump hash string limit from 7 to 10
+ add last_mod property to database
+ fix: TypeError: '<' not supported between instances of 'int' and 'str' on album page
2023-06-20 16:34:56 +03:00
mungai-njoroge cc6552cb94 check if track exists in db before sending file 2023-06-19 21:49:13 +03:00