77 Commits

Author SHA1 Message Date
mungai-njoroge
1d71ba856b use all flag to check drives 2023-11-14 12:54:28 +03:00
mungai-njoroge
8b6d10c832 remove telemetry
+ add docstrings to lyrics functions
2023-11-10 16:18:52 +03:00
mungai-njoroge
a3281300d0 support lyrics from tags 2023-11-02 20:57:59 +03:00
mungai-njoroge
2321288be0 add methods to open lyric files
+ add api endpoints to check and get lyrics
2023-10-30 17:44:24 +03:00
mungai-njoroge
5fb465c921 add lyrics route and methods 2023-10-29 13:47:03 +03:00
mungai-njoroge
80a467098f revert to jpg artist images 2023-10-21 20:14:13 +03:00
mungai-njoroge
f3faea610e fix: ValueError: Decompressed Data Too Large 2023-10-21 19:32:35 +03:00
mungai-njoroge
574ccf9fea add print on taglib.py, line 60 2023-10-19 11:52:18 +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
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
f2addf4d0f rewrite api/artist.py to remove artist cache
+ remove processing taylor's version
2023-09-23 18:57:19 +03:00
mungai-njoroge
ad88ab4adb modify Dockerfile
+ add special instructions for @volcs0 for debugging
2023-09-20 03:06:01 +03:00
mungai-njoroge
bacf68248b rewrite populate.py to minimize db and hdd reads
+ change process name in manage.py
+ update db query to save show albums as single, as an integer
+ enable periodic scans
+ misc
2023-09-11 11:37:36 +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
da88bbd9cc write LASTFM_API_KEY to config file
+ remove alive bar
2023-08-31 21:36:34 +03:00
mungai-njoroge
4271a6f4a0 add route to trigger Populate
+ use instance keys to stop multiple instances of populate
+ move Populate error to a new file
+ misc
2023-08-30 15:58:32 +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
a1c2e9fb19 maintain thumbnail aspect ratio in taglib.extract_thumb 2023-08-28 12:43:20 +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
e3a61c109b implement pinning playlists
+ update migrations to add pinned attr to plalist
+ misc
2023-08-22 15:36:43 +03:00
mungai-njoroge
68c2cf1909 read limit from api request query for search 2023-08-20 23:06:16 +03:00
mungai-njoroge
27c4924327 add migration to remove the small thumbs path
+ misc
2023-08-12 18:23:28 +03:00
mungai-njoroge
0a703dcc0f A LOTTTT ...
+ fix help text
+ run populate once when -nps flag is used
+ update app version
+ sort tracks by track and disc no. when saving to playlist
+ serialize search results
+ update tags.artist -> tags.artists
+ update tags.albumartist -> tags.albumartists
+ remove artist images from serialized albums
+ add function to serialize artists for cards
+ misc
2023-08-10 10:30:42 +03:00
mungai-njoroge
5cf188dd38 save images in save items as playlist 2023-08-08 12:12:33 +03:00
mungai-njoroge
f28d3f00bd support in_quotes search query 2023-08-06 22:09:39 +03:00
mungai-njoroge
efb6aae927 misc 2023-08-02 14:26:19 +03:00
mungai-njoroge
9c9a187083 create a base class for all migration
+ save folder to playlist, sorting by last_mod
2023-07-31 16:44:37 +03:00
mungai-njoroge
d9688455fb default migrations value to -1
+ tiny fixes
2023-07-30 15:06:56 +03:00
mungai-njoroge
a0c51d5f82 add route to save folder as playlist
+ modify playlist table sql
2023-07-27 13:37:07 +03:00
mungai-njoroge
d4a1a6ee1a fix typeerror on colorlib.py 2023-07-26 11:50:01 +03:00
mungai-njoroge
728c6c2def add route to remove playlist banner 2023-07-26 10:56:23 +03:00
mungai-njoroge
8b895f5efb extract thumbnail with overwrite for modified files 2023-07-19 18:06:58 +03:00
mungai-njoroge
18f6593666 handle the FileNotFoundError for os.path.getsize on watchdogg 2023-07-18 16:53:06 +03:00
mungai-njoroge
e70d787580 misc 2023-07-17 11:30:05 +03:00
mungai-njoroge
861a854f91 add function to validate albums
+ extract colors in watchdogg
+ rename color db files
2023-07-12 08:56:30 +03:00
mungai-njoroge
4a7416853a fix album having date = 0 2023-07-09 17:57:14 +03:00
mungai-njoroge
65d21d07da extract original thumbnail image 2023-07-06 13:52:32 +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
1cf5d38a96 fix duplicate albums with date = 0 2023-06-26 13:17:24 +03:00
mungai-njoroge
88be80b25d fix db insert duplicate unique fields error
+ save album date as timestamp in db
+ Rewrite artist image downloader with multiprocessing.Pool
2023-06-21 13:20:09 +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
geoffrey45
45bf7570a3 fix arg handlers and album versions route 2023-05-07 14:02:46 +03:00
geoffrey45
be7fc26fce add new flags to disable cleaning track and album titles
+ update readme
+
2023-05-05 23:11:56 +03:00
geoffrey45
51a5502efc add parsers to clean track titles .ie. remove remaster info
+ use getters to read flags
+ use the largest limit to get recent favorites
+ misc
2023-05-05 17:49:59 +03:00
geoffrey45
11d1b6ca36 extract feat from album titles 2023-04-17 02:21:42 +03:00
geoffrey45
9bfc1ceed2 add --config flag to modify config path
+ use getters instead of constants in settings classes
+ refactor previous references
+ move get_xdg_config_dir() from settings.py to app.utils.xdg_utils.py
2023-04-17 02:21:42 +03:00
geoffrey45
e5f18f9301 use create_hash to compare album titles for is_single
+ add a few string checks for album.is_single
2023-04-17 02:21:42 +03:00