Bug fix #16
@@ -39,11 +39,13 @@
|
|||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
<PlatformToolset>v143</PlatformToolset>
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<CharacterSet>NotSet</CharacterSet>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
<PlatformToolset>v143</PlatformToolset>
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<CharacterSet>NotSet</CharacterSet>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
|||||||
@@ -0,0 +1,120 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="Source Files">
|
||||||
|
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||||
|
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Header Files">
|
||||||
|
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||||
|
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Resource Files">
|
||||||
|
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||||
|
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="src\Main.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="src\managers\ActionManager.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="src\managers\CommitManager.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="src\managers\FileManager.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="src\managers\TokenManager.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="src\managers\UserManager.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="src\models\Song.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="src\parsers\APIParser.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="src\syncers\Delete.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="src\syncers\Download.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="src\syncers\RetrieveRecords.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="src\syncers\Upload.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="src\utilities\Conversions.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="include\managers\ActionManager.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="include\managers\CommitManager.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="include\managers\FileManager.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="include\managers\TokenManager.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="include\managers\UserManager.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="include\models\API.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="include\models\Flags.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="include\models\IcarusAction.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="include\models\Song.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="include\models\Token.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="include\models\UploadForm.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="include\models\User.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="include\parsers\APIParser.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="include\syncers\Delete.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="include\syncers\Download.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="include\syncers\RetrieveRecords.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="include\syncers\SyncerBase.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="include\syncers\Upload.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="include\utilities\Checks.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="include\utilities\Conversions.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<LocalDebuggerCommandArguments>upload-meta -u kverse -p demolaugh -h http://localhost:5002 -smca "D:\OneDrive\media\music\mp3\bb_king\paying_the_cost_to_be_the_boss"</LocalDebuggerCommandArguments>
|
||||||
|
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<LocalDebuggerCommandArguments>upload-meta -u kverse -p demolaugh -h http://localhost:5002 -smca "D:\OneDrive\media\music\mp3\bb_king\paying_the_cost_to_be_the_boss"</LocalDebuggerCommandArguments>
|
||||||
|
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
||||||
@@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
#include<map>
|
#include<map>
|
||||||
#include<iostream>
|
#include<iostream>
|
||||||
|
#include<filesystem>
|
||||||
#include<string>
|
#include<string>
|
||||||
#include<string_view>
|
#include<string_view>
|
||||||
|
|
||||||
@@ -92,6 +93,8 @@ private:
|
|||||||
// If 1 go with first standard, if 2 go with the second, if 0 then will default to 1 for disc and track
|
// If 1 go with first standard, if 2 go with the second, if 0 then will default to 1 for disc and track
|
||||||
auto mode = 0;
|
auto mode = 0;
|
||||||
const Str &songPath = song.songPath;
|
const Str &songPath = song.songPath;
|
||||||
|
auto file = std::filesystem::path(songPath);
|
||||||
|
auto filename = file.filename().string();;
|
||||||
|
|
||||||
auto trd = song.songPath.find("trackd");
|
auto trd = song.songPath.find("trackd");
|
||||||
auto tr = song.songPath.find("track");
|
auto tr = song.songPath.find("track");
|
||||||
@@ -107,15 +110,16 @@ private:
|
|||||||
}
|
}
|
||||||
|
|
||||||
auto dl = [](char c, char t){ return c == t; };
|
auto dl = [](char c, char t){ return c == t; };
|
||||||
auto d = Utilities::Checks::itemIterInContainer<char, Str>(songPath, 'd', dl);
|
auto d = Utilities::Checks::itemIterInContainer<char, Str>(filename, 'd', dl);
|
||||||
auto k = Utilities::Checks::itemIterInContainer<char, Str>(songPath, 'k', dl);
|
auto k = Utilities::Checks::itemIterInContainer<char, Str>(filename, 'k', dl);
|
||||||
auto dot = Utilities::Checks::itemIterInContainer<char, Str>(songPath, '.', dl);
|
auto dot = Utilities::Checks::itemIterInContainer<char, Str>(filename, '.', dl);
|
||||||
|
|
||||||
switch(mode)
|
switch(mode)
|
||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
{
|
{
|
||||||
if (k != songPath.end() && dot != songPath.end())
|
// if (k != songPath.end() && dot != songPath.end())
|
||||||
|
if (k != filename.end() && dot != filename.end())
|
||||||
{
|
{
|
||||||
auto tStr = std::string(++k, dot);
|
auto tStr = std::string(++k, dot);
|
||||||
std::cout << "TStr: " << tStr<<"\n";
|
std::cout << "TStr: " << tStr<<"\n";
|
||||||
@@ -129,7 +133,8 @@ private:
|
|||||||
}
|
}
|
||||||
case 2:
|
case 2:
|
||||||
{
|
{
|
||||||
if (k != songPath.end() && dot != songPath.end() && d != songPath.end())
|
// if (k != songPath.end() && dot != songPath.end() && d != songPath.end())
|
||||||
|
if (k != filename.end() && dot != filename.end() && d != filename.end())
|
||||||
{
|
{
|
||||||
auto tStr = std::string(++k, d);
|
auto tStr = std::string(++k, d);
|
||||||
auto dStr = std::string(++d, dot);
|
auto dStr = std::string(++d, dot);
|
||||||
|
|||||||
@@ -44,16 +44,14 @@ namespace Utilities
|
|||||||
static auto itemIterInContainer(const Container &container, const Item &item, Func func)
|
static auto itemIterInContainer(const Container &container, const Item &item, Func func)
|
||||||
{
|
{
|
||||||
auto result = false;
|
auto result = false;
|
||||||
// std::cout<<container<<"\n";
|
|
||||||
auto ii = std::find_if(container.begin(), container.end(), [&](Item i)
|
auto ii = std::find_if(container.begin(), container.end(), [&](Item i)
|
||||||
{
|
{
|
||||||
// std::cout<<"iter "<<i<<" target "<<item<<"\n";
|
|
||||||
return func(i, item);
|
return func(i, item);
|
||||||
});
|
});
|
||||||
|
|
||||||
if (ii == container.end())
|
if (ii == container.end())
|
||||||
{
|
{
|
||||||
// std::cout<<item<<" not found in container\n";
|
|
||||||
ii = container.end();
|
ii = container.end();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -345,6 +345,17 @@ void CommitManager::multiTargetUpload(const std::string &sourcePath)
|
|||||||
|
|
||||||
cout<<"Stem "<<stem<<" Extension "<<extension<<"\n";
|
cout<<"Stem "<<stem<<" Extension "<<extension<<"\n";
|
||||||
|
|
||||||
|
auto validImg = [](const std::string& ext)
|
||||||
|
{
|
||||||
|
std::vector<string> extensions;
|
||||||
|
extensions.reserve(3);
|
||||||
|
extensions.push_back(".jpg");
|
||||||
|
extensions.push_back(".jpeg");
|
||||||
|
extensions.push_back(".");
|
||||||
|
|
||||||
|
return ext.compare(extensions[0]) == 0 || ext.compare(extensions[1]) == 0 || ext.compare(extensions[2]) == 0;
|
||||||
|
};
|
||||||
|
|
||||||
if (extension.compare(".mp3") == 0)
|
if (extension.compare(".mp3") == 0)
|
||||||
{
|
{
|
||||||
Song song;
|
Song song;
|
||||||
@@ -354,7 +365,8 @@ void CommitManager::multiTargetUpload(const std::string &sourcePath)
|
|||||||
|
|
||||||
songs.emplace_back(std::move(song));
|
songs.emplace_back(std::move(song));
|
||||||
}
|
}
|
||||||
else if (extension.compare(".jpg") == 0 || extension.compare(".png") == 0)
|
// else if (extension.compare(".jpg") == 0 || extension.compare(".png") == 0)
|
||||||
|
else if (validImg(extension.string()))
|
||||||
{
|
{
|
||||||
cover.path.assign(pp.string());
|
cover.path.assign(pp.string());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user