예제 #1
0
async def nyaa_search(client, message, *args):
    if len(args) == 0:
        await message.channel.send("Usage: {}nyaa <search term>".format(PREFIX))
        return
    search_term = " ".join(args)
    wait_msg = await message.channel.send("Fetching data, please wait...")
    search_results = Nyaa.search(keyword=search_term)
    if len(search_results) == 0:
        await message.channel.send("Nothing found.")
        await wait_msg.delete()
        return
    embed = discord.Embed(title="Nyaa.Si Results", colour=message.author.colour)
    fields = 1
    for result in search_results:
        if fields > 10:
            break
        short_url = await short(result["url"])
        download_url = await short(result["download_url"])
        field_txt = "{0}\n**Size:** {1} **Date:** {2}\n{3} :arrow_up: {4} :arrow_down:\n[Link]({5}) [Torrent File]({6})\n".format(  # noqa
            result["category"],
            result["size"],
            result["date"],
            result["seeders"],
            result["leechers"],
            short_url,
            download_url,
        )
        embed.add_field(name=result["name"], value=field_txt, inline=False)
        fields += 1
    await message.channel.send(embed=embed)
    await wait_msg.delete()
예제 #2
0
 async def searchNyaa(self, animeName, term):
     search = " ".join([animeName, term])
     searchOutput = Nyaa.search(keyword=search, category=1, subcategory=2)
     latest = searchOutput[0]
     torrentName = latest["name"]
     animelink = latest["download_url"]
     newAnimeLink = animelink.replace('http://',
                                      'https://')  # replace http with https
     return torrentName, newAnimeLink
예제 #3
0
파일: episode_page.py 프로젝트: heroas/WGTS
    def search(self, string):
        self.ids.anime_img.source = 'thumbnails/default-thumbnail.jpg'

        Global.ROMAJI_LIST = []
        Global.ENG_LIST = []
        fresh_list = self.get_fresh_list()
        self.ids.search_param.text = string
        anime_list = Nyaa.search(keyword=string , category=1, subcategory=2)
        Global.CUSTOM_LIST = anime_list
        self.add_to_list(anime_list,fresh_list)
예제 #4
0
파일: episode_page.py 프로젝트: heroas/WGTS
    def search_with_episode(self, anime, episode, filename):
        self.ids.anime_img.source = 'thumbnails/' + anime["romaji_name"] + '.jpg'

        Global.CUSTOM_LIST = []
        fresh_list = self.get_fresh_list()
        self.ids.search_param.text = anime["romaji_name"] + ' episode ' + str(episode)

        romaji_search = freshen_up_search(anime["romaji_name"], episode)
        eng_search = freshen_up_search(anime["eng_name"], episode)

        if anime["romaji_name"] != str(None):
            anime_list_romaji = Nyaa.search(keyword=romaji_search, category=1, subcategory=2)
            Global.ROMAJI_LIST = anime_list_romaji
            self.add_to_list(anime_list_romaji,fresh_list)

        if anime["eng_name"] != str(None):
            anime_list_eng = Nyaa.search(keyword=eng_search, category=1, subcategory=2)
            Global.ENG_LIST = anime_list_eng
            self.add_to_list(anime_list_eng,fresh_list)
예제 #5
0
async def root(q: str, category: int = 0, subcategory: int = 0, page: int = 1):
    if page not in range(1, 1000 + 1):
        raise HTTPException(
            400, "Page must be an integer number between 1 and 1000")

    return Nyaa.search(
        keyword=q,
        category=category,
        subcategory=subcategory,
        page=page,
    )
예제 #6
0
 def __search_for_matching_until_found(search_page: int,
                                       search_terms: List[str]):
     for search_term in search_terms:
         # noinspection PyTypeChecker,PyCallByClass
         search_results = Nyaa.search(keyword=search_term,
                                      category='1',
                                      page=search_page)
         if search_results:
             EventLogHelper.log_info(
                 f"Nyaa search results found for search term: `{search_term}` | on page: `{search_page}`"
                 f" | found `{len(search_results)}` results",
                 "NyaaController",
                 inspect.currentframe().f_code.co_name)
             return search_results
예제 #7
0
def request_anime(anime_query):
    try:
        r = requests.get(NYAA_URL)
        logger.info(r.status_code)
    except requests.exceptions.ConnectionError:
        logger.error("Nyaa is not responding.")
        return None
    if r.status_code == 200:
        torrents = Nyaa.search(keyword=anime_query, category=1, subcategory=2)
        logger.info(torrents[0])
        try:
            res = torrents[0:10]
            return res
        except (IndexError, KeyError):
            logger.exception("There was a problem with Nyaa response")
            return None
예제 #8
0
async def nyaasi(c: Korone, m: Message):
    search = m.matches[0]["text"]
    try:
        nyaa = Nyaa.search(keyword=search, category=0)[0]

        text = f"<b>Nome:</b> {html.escape(nyaa['name'])}\n"
        text += f"<b>ID:</b> <code>{nyaa['id']}</code>\n"
        text += f"<b>Data:</b> <code>{nyaa['date']}</code>\n"
        text += f"<b>Categoria:</b> <i>{nyaa['category']}</i>\n"
        text += f"<b>Tamanho:</b> <code>{nyaa['size']}</code>\n"
        text += f"<b>Leechers:</b> <code>{nyaa['leechers']}</code>\n"
        text += f"<b>Seeders:</b> <code>{nyaa['seeders']}</code>\n"
        text += (
            f"<b>Downloads concluídos:</b> <code>{nyaa['completed_downloads']}</code>"
        )

        filehash = nyaa["magnet"].split("xt=")[1].split("&")[0]

        keyboard = c.ikb(
            [
                [
                    ("Torrent", nyaa["download_url"], "url"),
                    (
                        "Magnet",
                        f"https://nyaasi.herokuapp.com/nyaamagnet/{filehash}",
                        "url",
                    ),
                ],
                [("Mais Informações", nyaa["url"], "url")],
            ]
        )

    except IndexError:
        text = "Sua pesquisa não encontrou nenhum torrent correspondente!"
        keyboard = None

    await m.reply_text(text, disable_web_page_preview=True, reply_markup=keyboard)
예제 #9
0
def api():
    if "q" in request.args:
        if "category" in request.args:
            try:
                category = int(request.args["category"])
            except ValueError:
                return "Category argument must be integer number."
        else:
            category = 0

        if "subcategory" in request.args:
            try:
                subcategory = int(request.args["subcategory"])
            except ValueError:
                return "Subategory argument must be integer number."
        else:
            subcategory = 0

        if "page" in request.args:
            try:
                page = int(request.args["page"])
                if page > 1000 or page < 0:
                    return "Page must be a integer number between 0 and 1000."
            except ValueError:
                return "Page argument must be integer number."
        else:
            page = 1

        return jsonify(
            Nyaa.search(
                keyword=request.args["q"],
                category=category,
                subcategory=subcategory,
                page=page,
            ))
    else:
        return "Please specify required query argument."
예제 #10
0
 def anime_embed(self, searchterm, i):
     output = []
     pants = Nyaa.search(keyword=searchterm, category=1, subcategory=2)
     global findcheck
     try:
         current = pants[i]
     except:
         embed = discord.Embed(description="There are no results for " +
                               searchterm)
         findcheck = False
         return embed
     name = current["name"]
     baddl = current["download_url"]
     dl = baddl.replace('http', 'https')
     output.append("**Search**: " + searchterm)
     output.append("**Title**: " + name)
     output.append("**DL**: " + " [link](" + dl + ")")
     foutput = '\n'.join(output)
     embed = discord.Embed()
     v = i + 1
     nameterm = "Searching Nyaa, result: " + str(v)
     embed.add_field(name=nameterm, value=foutput, inline=False)
     findcheck = True
     return embed
예제 #11
0
from NyaaPy import Pantsu, Nyaa

pantsu = Pantsu()
nyaa = Nyaa()

# print(pantsu.search(keyword='koe no katachi',
#                     lang=["es", "ja"], category=[1, 3]))
print(nyaa.search(keyword='yuru camp'))
예제 #12
0
 def testin_nyaapy(self):
     animeList = Nyaa.search(keyword="Shoukoku no Altair", category=1, subcategory=2)
     Global.Test = animeList[0]["magnet"]