<commit_before>#ifndef MUSICDOWNLOADQQINTERFACE_H
#define MUSICDOWNLOADQQINTERFACE_H

/* =================================================
 * This file is part of the TTK Music Player project
 * Copyright (C) 2015 - 2018 Greedysky Studio

 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 3 of the License, or
 * (at your option) any later version.

 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.

 * You should have received a copy of the GNU General Public License along
 * with this program; If not, see <http://www.gnu.org/licenses/>.
 ================================================= */

#include "musicobject.h"
#include "musicglobaldefine.h"

///////////////////////////////////////////////////////////////////////////
const QString QQ_UA_URL_1           = "<KEY>;
///////////////////////////////////////////////////////////////////////////////
const QString QQ_ALBUM_URL          = "<KEY>;
///////////////////////////////////////////////////////////////////////////////
const QString QQ_SONG_SEARCH_URL    = "<KEY>;
const QString QQ_SONG_MINFO_URL     = "<KEY>";
const QString QQ_SONG_INFO_URL      = "SzhpeW5CUERDZTB3QzllNFJLMXFtUXU3YVdZYWJrQUFkN3ZiSmQvNWRselRJV2dITUJUVjRRTmlZdFV5aXpIaTBadDJFc1lkWnlnSDg1cUk5Nmh2b1Q2NjlzOVNLQVNnSTkxT0dRaXBsRE09";
const QString QQ_SONG_LRC_URL       = "<KEY>;
const QString QQ_SONG_PIC_URL       = "<KEY>;
const QString QQ_SONG_128_URL       = "<KEY>";
const QString QQ_SONG_192_URL       = "<KEY>;
const QString QQ_SONG_320_URL       = "<KEY>;
const QString QQ_SONG_APE_URL       = "<KEY>;
const QString QQ_SONG_FLAC_URL      = "<KEY>;
const QString QQ_SONG_KEY_URL       = "<KEY>";
///////////////////////////////////////////////////////////////////////////////
const QString QQ_ARTIST_URL         = "<KEY>;
const QString QQ_ARTIST_INFO_URL    = "<KEY>;
const QString QQ_AR_ALBUM_URL       = "<KEY>";
const QString QQ_AR_MV_URL          = "<KEY>";
const QString QQ_AR_SIM_URL         = "<KEY>;
const QString QQ_AR_LIST_URL        = "<KEY>;
///////////////////////////////////////////////////////////////////////////////
const QString QQ_SONG_TOPLIST_C_URL = "<KEY>;
const QString QQ_SONG_TOPLIST_A_URL = "<KEY>;
///////////////////////////////////////////////////////////////////////////////
const QString QQ_MV_INFO_URL        = "<KEY>;
const QString QQ_MV_KEY_URL         = "<KEY>;
///////////////////////////////////////////////////////////////////////////////
const QString QQ_COMMIT_URL         = "Zk9wcGVJRXMxaTg5enBsVEFGc0hGWVpkT0gvVHNCNDBHSXU0anR6bzdTQnpEN2dlZDg4TllZa256aUhZUys1UURDdFV3ZFZmZmRzSFlXVDhlcTM4TFQvNnpWU0VqR1k5WGZZaWpnPT0=";
const QString QQ_SG_COMMIT_DATA_URL = "<KEY>;
///////////////////////////////////////////////////////////////////////////////
const QString QQ_PL_COMMIT_DATA_URL = "c1BKYmVFa1FRc0trZ0NtVVVMOEMrNXNDWFRiYzJLYXBQaUdXZWZobjlrZy94cVdNNTlJSTQ1S0xjWlpBSEhPWVlzZXREb0ZLSkFoVWJteFpqRlNiRjNRSHRDNVFEbXRyRnFRVW9JTTc1MW11ZFp4cVh2QmxFQXplWHZEeWNRUERBYThYM0dqZFZqeVVTYW1GL2pkeHpkV2EvbnlNakdIc0UrY2MrNVRKWWxKQ3RmTEdSYmt6LzRTU2JFQm9iOG96VXZ6TVlveE5rSXpvQUlaL2JXN2RKWnJXT1BjcjF1MEsrelI0VS9kOVc0SndkQk5LNWhRekp2WTFnd1VBdzJpMytDeENJenN0S0VKUS9yTVk=";
const QString QQ_PLAYLIST_URL       = "<KEY>";
const QString QQ_PLAYLIST_ATTR_URL  = "<KEY>;
///////////////////////////////////////////////////////////////////////////
const QString QQ_RCM_URL            = "<KEY>"
                                      "<KEY>";
///////////////////////////////////////////////////////////////////////////
const QString QQ_SUGGEST_URL        = "<KEY>;
///////////////////////////////////////////////////////////////////////////


class QNetworkAccessManager;

/*! @brief The class to qq query download interface.
 * @author Greedysky <<EMAIL>>
 */
class MUSIC_NETWORK_EXPORT MusicDownLoadQQInterface
{
public:
    /*!
     * Read tags(size\bitrate\url) from query results.
     */
    void readFromMusicSongAttribute(MusicObject::MusicSongInformation *info, const QVariantMap &key,
                                    int bitrate);
    /*!
     * Read tags(size\bitrate\url) from query results.
     */
    void readFromMusicSongAttribute(MusicObject::MusicSongInformation *info, const QVariantMap &key,
                                    const QString &quality, bool all);
    /*!
     * Read tags(size\bitrate\url) from query results.
     */
    void readFromMusicSongAttributePlus(MusicObject::MusicSongInformation *info, const QVariantMap &key,
                                        int bitrate);
    /*!
     * Read tags(size\bitrate\url) from query results.
     */
    void readFromMusicSongAttributePlus(MusicObject::MusicSongInformation *info, const QVariantMap &key);
    /*!
     * Get music key.
     */
    QString getMusicKey(const QString &time);

};

#endif // MUSICDOWNLOADQQINTERFACE_H
<commit_msg>#79 Fixed qq text encode[52186]<commit_after>#ifndef MUSICDOWNLOADQQINTERFACE_H
#define MUSICDOWNLOADQQINTERFACE_H

/* =================================================
 * This file is part of the TTK Music Player project
 * Copyright (C) 2015 - 2018 Greedysky Studio

 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 3 of the License, or
 * (at your option) any later version.

 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.

 * You should have received a copy of the GNU General Public License along
 * with this program; If not, see <http://www.gnu.org/licenses/>.
 ================================================= */

#include "musicobject.h"
#include "musicglobaldefine.h"

///////////////////////////////////////////////////////////////////////////
const QString QQ_UA_URL_1           = "<KEY>;
///////////////////////////////////////////////////////////////////////////////
const QString QQ_ALBUM_URL          = "<KEY>;
///////////////////////////////////////////////////////////////////////////////
const QString QQ_SONG_SEARCH_URL    = "<KEY>";
const QString QQ_SONG_MINFO_URL     = "<KEY>";
const QString QQ_SONG_INFO_URL      = "<KEY>";
const QString QQ_SONG_LRC_URL       = "<KEY>;
const QString QQ_SONG_PIC_URL       = "<KEY>;
const QString QQ_SONG_128_URL       = "<KEY>";
const QString QQ_SONG_192_URL       = "<KEY>;
const QString QQ_SONG_320_URL       = "<KEY>;
const QString QQ_SONG_APE_URL       = "<KEY>;
const QString QQ_SONG_FLAC_URL      = "<KEY>;
const QString QQ_SONG_KEY_URL       = "<KEY>";
///////////////////////////////////////////////////////////////////////////////
const QString QQ_ARTIST_URL         = "WERjRFh4WVhsWTdFOStMNWZTSnJGQjlTZHk5RVBqaTUyclRFRjZWVng5bExXNC9GTGdrRFFGQmxTbHpuMmZlSmZacTNLd0VBY21kVDdva1Q0aXlmcU9OWVMwNWtmbFZEbDVRa0JvZCtTWFBLVUtxUjNadmJweVQ2TVF3L0I5WlQ2Z05WcmNPMGZoWjh6d0ZUWHBmTjNKSnhGanVIcEt1L25IS0ZncDU5SzBLZ0o1ZzEvTUludEp4Y2NDbzJWc3VPS21kenpadTVhWDRldkwwUkgxMldSYkpBdC9PUWUvcUVJemZvMzFSVDRKNVBUSzhReUZMYXZWK1BxOG9PYTdWa1JSamxlTnQzNzVtcVJsRUdkRE1ONVhMdGRJQT0=";
const QString QQ_ARTIST_INFO_URL    = "<KEY>;
const QString QQ_AR_ALBUM_URL       = "<KEY>";
const QString QQ_AR_MV_URL          = "<KEY>";
const QString QQ_AR_SIM_URL         = "<KEY>;
const QString QQ_AR_LIST_URL        = "<KEY>;
///////////////////////////////////////////////////////////////////////////////
const QString QQ_SONG_TOPLIST_C_URL = "<KEY>;
const QString QQ_SONG_TOPLIST_A_URL = "<KEY>;
///////////////////////////////////////////////////////////////////////////////
const QString QQ_MV_INFO_URL        = "<KEY>;
const QString QQ_MV_KEY_URL         = "<KEY>;
///////////////////////////////////////////////////////////////////////////////
const QString QQ_COMMIT_URL         = "<KEY>;
const QString QQ_SG_COMMIT_DATA_URL = "<KEY>;
///////////////////////////////////////////////////////////////////////////////
const QString QQ_PL_COMMIT_DATA_URL = "<KEY>;
const QString QQ_PLAYLIST_URL       = "<KEY>";
const QString QQ_PLAYLIST_ATTR_URL  = "<KEY>;
///////////////////////////////////////////////////////////////////////////
const QString QQ_RCM_URL            = "<KEY>"
                                      "<KEY>";
///////////////////////////////////////////////////////////////////////////
const QString QQ_SUGGEST_URL        = "<KEY>;
///////////////////////////////////////////////////////////////////////////


class QNetworkAccessManager;

/*! @brief The class to qq query download interface.
 * @author Greedysky <<EMAIL>>
 */
class MUSIC_NETWORK_EXPORT MusicDownLoadQQInterface
{
public:
    /*!
     * Read tags(size\bitrate\url) from query results.
     */
    void readFromMusicSongAttribute(MusicObject::MusicSongInformation *info, const QVariantMap &key,
                                    int bitrate);
    /*!
     * Read tags(size\bitrate\url) from query results.
     */
    void readFromMusicSongAttribute(MusicObject::MusicSongInformation *info, const QVariantMap &key,
                                    const QString &quality, bool all);
    /*!
     * Read tags(size\bitrate\url) from query results.
     */
    void readFromMusicSongAttributePlus(MusicObject::MusicSongInformation *info, const QVariantMap &key,
                                        int bitrate);
    /*!
     * Read tags(size\bitrate\url) from query results.
     */
    void readFromMusicSongAttributePlus(MusicObject::MusicSongInformation *info, const QVariantMap &key);
    /*!
     * Get music key.
     */
    QString getMusicKey(const QString &time);

};

#endif // MUSICDOWNLOADQQINTERFACE_H

{'fraction_non_alphanumeric': 0.25655393235941565, 'fraction_numerical': 0.01580948569141485, 'mean_word_length': 1.8795736099106886, 'pattern_counts': {'":': 0, '<': 67, '<?xml version=': 0, '>': 67, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 12, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1889468', 'n_tokens_mistral': 3103, 'n_tokens_neox': 2926, 'n_words': 650}