29 Commits

Author SHA1 Message Date
mungai-njoroge
7f87cde96c add favs count to fetch endpoint + remove filetype from track 2023-12-06 11:12:27 +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
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
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
a1c2e9fb19 maintain thumbnail aspect ratio in taglib.extract_thumb 2023-08-28 12:43:20 +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
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
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
8b895f5efb extract thumbnail with overwrite for modified files 2023-07-19 18:06:58 +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
65d21d07da extract original thumbnail image 2023-07-06 13:52:32 +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
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
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
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
geoffrey45
fe6c12d856 use setters to manipulate artist and playlist objects 2023-03-26 18:57:25 +03:00
geoffrey45
357afeb700 break settings.py into classes 2023-03-26 08:25:00 +03:00
geoffrey45
e3ec9db989 add method and route to search across tracks, albums and artists.
+ break models into separate files
+ same for the utils and setup
2023-03-09 13:08:50 +03:00
geoffrey45
b1ac3e9a07 check todo at api/folder.py line:60
~ everything seems to work fine in Windows too
+ move ProcessArtistColors to Populate
2023-02-03 23:13:40 +03:00
geoffrey45
7640f2cc1a add TODO: Move parsing title, album and artist to startup. 2023-02-01 14:48:23 +03:00
geoffrey45
838e19cf0f fix: errors raised by Pycharm 2023-02-01 14:00:21 +03:00
geoffrey45
7e15680f26 update supported audio files in settings.py
+ add win_replace_slash function to format win path strings
+ misc
2023-01-30 15:59:28 +03:00
Mungai Njoroge
198957bcae
Move server code to this repo (#95)
move server code to this repo
2023-01-13 20:01:52 +03:00