]> Some of my projects - AniAddCLI.git/commitdiff
Accept ed2k URIs as well.
authorAPTX <marek321@gmail.com>
Wed, 29 Jun 2011 22:13:34 +0000 (00:13 +0200)
committerAPTX <marek321@gmail.com>
Wed, 29 Jun 2011 22:13:34 +0000 (00:13 +0200)
aniaddcli.cpp

index d84166a902951dca5ce3b4cb5dcab6f09b1e3213..06c4ab592a4f648f32b06ac45c1a2e2368ef952c 100644 (file)
@@ -34,14 +34,26 @@ void AniAddCli::process(const QStringList &files, bool rename, bool add, bool se
 {
        foreach(const QString &fileName, files)
        {
-               QFileInfo fileInfo(fileName);
-               if (!fileInfo.exists())
+               AniDBUdpClient::File *file = 0;
+               if (fileName.startsWith("ed2k://"))
                {
-                       std::cout << "[FAIL] File " << fileInfo.absoluteFilePath().toUtf8().data() << " does not exist" << std::endl;
-                       continue;
+                       file = AniDBUdpClient::File::fromEd2k(fileName);
+                       if (file == 0)
+                       {
+                               std::cout << "[FAIL] " << fileName.toUtf8().data() << " is not a valid ed2k uri" << std::endl;
+                               continue;
+                       }
+               }
+               else
+               {
+                       QFileInfo fileInfo(fileName);
+                       if (!fileInfo.exists())
+                       {
+                               std::cout << "[FAIL] File " << fileInfo.absoluteFilePath().toUtf8().data() << " does not exist" << std::endl;
+                               continue;
+                       }
+                       file = new AniDBUdpClient::File(fileInfo);
                }
-
-               AniDBUdpClient::File *file = new AniDBUdpClient::File(fileInfo);
                connect(file, SIGNAL(statusUpdate(AniDBUdpClient::File::Action,AniDBUdpClient::File::ActionState,int)), this, SLOT(handleStatusUpdate(AniDBUdpClient::File::Action,AniDBUdpClient::File::ActionState,int)));
 
                file->setState(m_state);