marekkon5 / beatporttagger Goto Github PK
View Code? Open in Web Editor NEWSimple Python app to automatically update your audio tags & cover with data from Beatport using scrapping (no paid API).
Simple Python app to automatically update your audio tags & cover with data from Beatport using scrapping (no paid API).
Hi, is it possible to add the Overwrite tags function from Discogstagger to beatporttagger also?
Hi.
So, when mp3 has no tags allready like artist and title it will instantly fail.
Same mp3 when I've added those tags found and tag rest of tags just fine.
It's wird for a tagger to realy only on tags not a file name if tags aren't available.
Hey, could you update your performance test results spreadsheet? It indeed looks nice.
I've fixed a bug that caused false positives with my tagger. Also note, that cromize/beatport_tracktagger was originally intended to work only with beatport id included in filename. Fuzzy stuff was added later and it has better results now.
cromize/beatport_tracktagger could use some nice GUI, though. Next time consider creating pull requests instead!
first I wanted to thank you for the amazing app!
helpe me a lot in organizing all my mess with genre tags.
wanted to ask if possible add that tag: album artist
Hi @Marekkon5, i would like to ask you two questions.
Firstly, i wonder if there is a chance or if it's possible to add a feature like drag and dropping tracks to the tagger!
Secondly, i wonder if there is any way (code changing) to exclude specific words when beatport tagger is searching for the releases.
For example, most of the DJ pools are using the words (clean) or (dirty) to specify if the version of a track is explicit or not.
So let's say that the track is 'Never Gonna Forget (Clean)', is it possible to manipulate the code to consider the title as 'Never Gonna Forget'.*
*PS. I understand that i could do that through the percentage of Strictness but i want to be sure that the tags will be -most of the times- the correct ones.
Hi @Marekkon5 i saw that the new .exe is using the python-levenshtein, how can we build the app with python-levenshtein?
I'm asking this because i see this warning message when i start the app
C:\Users\rosGR\AppData\Local\Temp_MEI155882\fuzzywuzzy\fuzz.py:11: UserWarning: Using slow pure-python SequenceMatcher. Install python-Levenshtein to remove this warning
I don't know if that matters though!
Thank you!
Hi! I have error when install webview, how i can fix? And on windows vds (2016) button browser don't open directories
Hi! I happy will tester for you. In beatporttagger check search mode. Look for instance track : Alex Morelli - Crimson Idol. Make as file and check tagger. Version 1.1.7 not found , but version: beatporttagger.win10-vm-Levenshtein - it's ok! This is very important to improve the algorithm, you need to look at the reason
Hi.
after first tagging done list isn't cleared, so when next folder is selected tagging is done
list contain FAILED / NOT FOUND from first and second scan.
so to clear list app needs to be restarted
win 10
Would love to see AIFF support for the tagger. FLAC is good, however certain dj software support for FLAC tags is worse than AIFF.
Hi, I'm getting this error when running on Python 3.6, any help to fix the problem would be much appreciated!
Unhandled Exception: Python.Runtime.PythonException: Exception : The callee (server [not server application]) is not available and disappeared; all connections are invalid. The call may have executed. (Exception from HRESULT: 0x80010007 (RPC_E_SERVER_DIED))
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Toolkit.Win32.UI.Controls.Interop.WinRT.WebViewControlProcess.d__16.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Toolkit.Forms.UI.Controls.WebViewControlProcessExtensions.CreateWebViewControlHost(WebViewControlProcess process, IntPtr hostWindowHandle, Rectangle bounds)
at Microsoft.Toolkit.Forms.UI.Controls.WebView.Initialize()
at Microsoft.Toolkit.Forms.UI.Controls.WebView.System.ComponentModel.ISupportInitialize.EndInit()
at Python.Runtime.Dispatcher.Dispatch(ArrayList args)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
Hi @Marekkon5
I tried to compile the beatport tagger following your instructions but am facing an error.
PS C:\Users\rosGR\Desktop\beatporttagger-1.1.4> pip install --user -r requirements.txt
Requirement already satisfied: requests==2.22.0 in c:\users\rosgr\appdata\roaming\python\python38\site-packages (from -r requirements.txt (line 1)) (2.22.0)
Requirement already satisfied: fuzzywuzzy==0.17.0 in c:\users\rosgr\appdata\roaming\python\python38\site-packages (from -r requirements.txt (line 2)) (0.17.0)
Requirement already satisfied: mutagen==1.42.0 in c:\users\rosgr\appdata\roaming\python\python38\site-packages (from -r requirements.txt (line 3)) (1.42.0)
Requirement already satisfied: pywebview==3.3.3 in c:\users\rosgr\appdata\roaming\python\python38\site-packages (from -r requirements.txt (line 4)) (3.3.3)
Requirement already satisfied: beautifulsoup4==4.9.3 in c:\users\rosgr\appdata\roaming\python\python38\site-packages (from -r requirements.txt (line 5)) (4.9.3)
Requirement already satisfied: PyQt5==5.15.1 in c:\users\rosgr\appdata\roaming\python\python38\site-packages (from -r requirements.txt (line 6)) (5.15.1)
Requirement already satisfied: lxml==4.6.1 in c:\users\rosgr\appdata\roaming\python\python38\site-packages (from -r requirements.txt (line 7)) (4.6.1)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in c:\users\rosgr\appdata\roaming\python\python38\site-packages (from requests==2.22.0->-r requirements.txt (line 1)) (1.25.11)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\rosgr\appdata\roaming\python\python38\site-packages (from requests==2.22.0->-r requirements.txt (line 1)) (2020.11.8)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in c:\users\rosgr\appdata\roaming\python\python38\site-packages (from requests==2.22.0->-r requirements.txt (line 1)) (3.0.4)
Requirement already satisfied: idna<2.9,>=2.5 in c:\users\rosgr\appdata\roaming\python\python38\site-packages (from requests==2.22.0->-r requirements.txt (line 1)) (2.8)
Requirement already satisfied: pythonnet; sys_platform == "win32" in c:\users\rosgr\appdata\roaming\python\python38\site-packages (from pywebview==3.3.3->-r requirements.txt (line 4)) (2.5.1)
Requirement already satisfied: soupsieve>1.2; python_version >= "3.0" in c:\users\rosgr\appdata\roaming\python\python38\site-packages (from beautifulsoup4==4.9.3->-r requirements.txt (line 5)) (2.0.1)
Requirement already satisfied: PyQt5-sip<13,>=12.8 in c:\users\rosgr\appdata\roaming\python\python38\site-packages (from PyQt5==5.15.1->-r requirements.txt (line 6)) (12.8.1)
Requirement already satisfied: pycparser in c:\users\rosgr\appdata\roaming\python\python38\site-packages (from pythonnet; sys_platform == "win32"->pywebview==3.3.3->-r requirements.txt (line 4)) (2.20)
PS C:\Users\rosGR\Desktop\beatporttagger-1.1.4> pip install pyinstaller
Requirement already satisfied: pyinstaller in c:\users\rosgr\appdata\local\programs\python\python38\lib\site-packages (4.0)
Requirement already satisfied: pyinstaller-hooks-contrib>=2020.6 in c:\users\rosgr\appdata\local\programs\python\python38\lib\site-packages (from pyinstaller) (2020.10)
Requirement already satisfied: pywin32-ctypes>=0.2.0; sys_platform == "win32" in c:\users\rosgr\appdata\local\programs\python\python38\lib\site-packages (from pyinstaller) (0.2.0)
Requirement already satisfied: pefile>=2017.8.1; sys_platform == "win32" in c:\users\rosgr\appdata\local\programs\python\python38\lib\site-packages (from pyinstaller) (2019.4.18)
Requirement already satisfied: altgraph in c:\users\rosgr\appdata\local\programs\python\python38\lib\site-packages (from pyinstaller) (0.17)
Requirement already satisfied: setuptools in c:\users\rosgr\appdata\local\programs\python\python38\lib\site-packages (from pyinstaller) (49.2.1)
Requirement already satisfied: future in c:\users\rosgr\appdata\local\programs\python\python38\lib\site-packages (from pefile>=2017.8.1; sys_platform == "win32"->pyinstaller) (0.18.2)
PS C:\Users\rosGR\Desktop\beatporttagger-1.1.4> pyinstaller --onefile beatporttagger.spec
69 INFO: PyInstaller: 4.0
69 INFO: Python: 3.8.6
69 INFO: Platform: Windows-10-10.0.19041-SP0
69 INFO: UPX is not available.
69 INFO: Extending PYTHONPATH with paths
['C:\Users\rosGR\Desktop\beatporttagger-1.1.4',
'C:\home\marekkon5\Projects\beatportgenre']
84 INFO: checking Analysis
84 INFO: Building Analysis because Analysis-00.toc is non existent
84 INFO: Initializing module dependency graph...
84 INFO: Caching module graph hooks...
100 INFO: Analyzing base_library.zip ...
2238 INFO: Processing pre-find module path hook distutils from 'c:\users\rosgr\appdata\local\programs\python\python38\lib\site-packages\PyInstaller\hooks\pre_find_module_path\hook-distutils.py'.
2238 INFO: distutils: retargeting to non-venv dir 'c:\users\rosgr\appdata\local\programs\python\python38\lib'
4258 INFO: Caching module dependency graph...
4361 INFO: running Analysis Analysis-00.toc
4361 INFO: Adding Microsoft.Windows.Common-Controls to dependent assemblies of final executable
required by c:\users\rosgr\appdata\local\programs\python\python38\python.exe
4494 INFO: Analyzing beatporttagger.py
C:\Users\rosGR\AppData\Roaming\Python\Python38\site-packages\webview\platforms\winforms.py:160: SyntaxWarning: "is" with a literal. Did you mean "=="?
self.js_result = None if result is None or result is 'null' else json.loads(result)
4922 INFO: Processing pre-safe import module hook urllib3.packages.six.moves from 'c:\users\rosgr\appdata\local\programs\python\python38\lib\site-packages\PyInstaller\hooks\pre_safe_import_module\hook-urllib3.packages.six.moves.py'.
6655 INFO: Processing module hooks...
6655 INFO: Loading module hook 'hook-certifi.py' from 'c:\users\rosgr\appdata\local\programs\python\python38\lib\site-packages\_pyinstaller_hooks_contrib\hooks\stdhooks'...
6657 INFO: Loading module hook 'hook-clr.py' from 'c:\users\rosgr\appdata\local\programs\python\python38\lib\site-packages\_pyinstaller_hooks_contrib\hooks\stdhooks'...
Traceback (most recent call last):
File "c:\users\rosgr\appdata\local\programs\python\python38\lib\runpy.py", line 194, in run_module_as_main
return run_code(code, main_globals, None,
File "c:\users\rosgr\appdata\local\programs\python\python38\lib\runpy.py", line 87, in run_code
exec(code, run_globals)
File "C:\Users\rosGR\AppData\Local\Programs\Python\Python38\Scripts\pyinstaller.exe_main.py", line 7, in
File "c:\users\rosgr\appdata\local\programs\python\python38\lib\site-packages\PyInstaller_main.py", line 114, in run
run_build(pyi_config, spec_file, **vars(args))
File "c:\users\rosgr\appdata\local\programs\python\python38\lib\site-packages\PyInstaller_main.py", line 65, in run_build
PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
File "c:\users\rosgr\appdata\local\programs\python\python38\lib\site-packages\PyInstaller\building\build_main.py", line 720, in main
build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
File "c:\users\rosgr\appdata\local\programs\python\python38\lib\site-packages\PyInstaller\building\build_main.py", line 667, in build
exec(code, spec_namespace)
File "beatporttagger.spec", line 6, in
a = Analysis(['beatporttagger.py'],
File "c:\users\rosgr\appdata\local\programs\python\python38\lib\site-packages\PyInstaller\building\build_main.py", line 242, in init
self.postinit()
File "c:\users\rosgr\appdata\local\programs\python\python38\lib\site-packages\PyInstaller\building\datastruct.py", line 160, in postinit
self.assemble()
File "c:\users\rosgr\appdata\local\programs\python\python38\lib\site-packages\PyInstaller\building\build_main.py", line 419, in assemble
self.graph.process_post_graph_hooks()
File "c:\users\rosgr\appdata\local\programs\python\python38\lib\site-packages\PyInstaller\depend\analysis.py", line 365, in process_post_graph_hooks
module_hook.post_graph()
File "c:\users\rosgr\appdata\local\programs\python\python38\lib\site-packages\PyInstaller\depend\imphook.py", line 440, in post_graph
self._load_hook_module()
File "c:\users\rosgr\appdata\local\programs\python\python38\lib\site-packages\PyInstaller\depend\imphook.py", line 406, in _load_hook_module
self._hook_module = importlib_load_source(
File "c:\users\rosgr\appdata\local\programs\python\python38\lib\site-packages\PyInstaller\compat.py", line 588, in importlib_load_source
return mod_loader.load_module()
File "", line 462, in _check_name_wrapper
File "", line 962, in load_module
File "", line 787, in load_module
File "", line 265, in _load_module_shim
File "", line 702, in _load
File "", line 671, in _load_unlocked
File "", line 783, in exec_module
File "", line 219, in _call_with_frames_removed
File "c:\users\rosgr\appdata\local\programs\python\python38\lib\site-packages_pyinstaller_hooks_contrib\hooks\stdhooks\hook-clr.py", line 40, in
raise Exception(pyruntime + ' not found')
Exception: Python.Runtime not found
Unistall Pythonnet and then install it again to fix this issue!
Awesome app! Very useful for correctly getting the genres of your collection....
Here I post a couple of suggestions, one way more complicated than the other....
Would it be possible to get the REMIXER and MIX tags from Beatport? (I'm a Traktor user)
Could it be possible to read iTunes/Apple Music collection.xml and select certain playlists, instead of having to select the whole iTunes Music folder?
1.1.8 - cover art 1400 size only, i set 500 but get 1400 always.
And
I noticed that tracks with the sticker on the covers of "Exclusive" "Hype" are not found. It may be a match but check if it affects the search. For instance tracks from these releases not found an have "exclusive" mark
I send several links of tracks "exclusive" and "hype" for check.
Here links not found tracks (in releases):
https://www.beatport.com/release/from-outer-space/3254592
https://www.beatport.com/release/the-rituals/3232540
https://www.beatport.com/release/zion-ep/3257297
https://www.beatport.com/release/crisis/3234220
https://www.beatport.com/release/the-sound-of-2021-sampler-1/3271131
https://www.beatport.com/release/i-dont-blame-you/3206091
here several tracks with mark "exclusive" and "hype"
https://www26.zippyshare.com/v/ENdiOKxD/file.html
I know that beatport broke the api, just check
Hi.
As in title, no logs whatsoever in debug log. Files is always 0kb.
Win 10
Hi @Marekkon5 would you please help me?
If it's easy, would you please guide me on what should i change to save the tags as ID3v2.4?
Thank you for the new additions by the way!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.