1246870.jpg

lily

GF  2023-02-02 22:13
(lily77889)

[全年龄正常向]关于LANraragi刮削的问题

本子全是用H@H下的,里面自带一个包含相关tag的galleryinfo.txt文件。
有啥脚本 或者 插件 或者 方法能直接导入这个galleryinfo.txt文件里的元数据吗?
现有的插件都是联网现查 频率一高就容易banIP。放着有元数据的文件不用去联网查太浪费了
此帖悬赏结束
最佳答案: 100 SP币
最佳答案获得者: 823d8567

1246870.jpg

lily

B1F  2023-02-03 14:30
(lily77889)

回 1楼(823d8567) 的帖子

这个galleryinfo.txt文件里的格式是这样的

Title:       [トリニティ教団 (よだれ)] 鷺沢文香の性欲事情 (アイドルマスター シンデレラガールズ) [中国翻訳] [DL版]
Upload Time: 2023-02-03 03:28
Uploaded By: negifish
Downloaded:  2023-02-03 05:49
Tags:        language:chinese, language:translated, parody:the idolmaster, character:fumika sagisawa, group:trinity kyoudan, artist:yodare, female:defloration, female:pantyhose, female:sole female, female:stockings

Uploader's Comments:

自购于よだれ老师的fantia:
https://fantia.jp/posts/1719135

卯月的也会有的,慢慢来
28块钱买两本本子是真值吧,龟龟

Downloaded from E-Hentai Galleries by the Hentai@Home Downloader <3

你能帮忙开一个你那边的json文件让我看看里面是啥格式吗?我好想办法改改看

1246870.jpg

lily

B2F  2023-02-03 15:52
(lily77889)
我翻了下github那边有讨论H@H这类的识别问题
https://github.com/Difegue/LANraragi/discussions/578

自己修改了下Hdoujin这个插件就能兼容到H@H了,总之非常感谢

1246870.jpg

lily

B3F  2023-02-04 16:39
(lily77889)

回 6楼(昵称已注册) 的帖子

package LANraragi::Plugin::Metadata::hentaiathome;

use strict;
use warnings;
use utf8;
#Plugins can freely use all Perl packages already installed on the system
#Try however to restrain yourself to the ones already installed for LRR (see tools/cpanfile) to avoid extra installations by the end-user.
use File::Basename;
use Time::Local qw(timegm_modern);


#You can also use the LRR Internal API when fitting.
use LANraragi::Model::Plugins;
use LANraragi::Utils::Database;
use LANraragi::Utils::Logging qw(get_plugin_logger);
use LANraragi::Utils::Archive qw(is_file_in_archive extract_file_from_archive);

#Meta-information about your plugin.
sub plugin_info {

    return (
        #Standard metadata
        name            => "HentaiAtHome plugin",
        type              => "metadata",
        namespace    => "hentaiathome",
        author          => "lily",
        version         => "0.1",
        description    => "利用H@H下载器中的galleryinfo.txt文件获取Tag",
        icon =>
          "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI\nWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4wYDFB0m9797jwAAAB1pVFh0Q29tbWVudAAAAAAAQ3Jl\nYXRlZCB3aXRoIEdJTVBkLmUHAAAEbklEQVQ4y1WUPW/TUBSGn3uvHdv5cBqSOrQJgQ4ghqhCAgQM\nIIRAjF2Y2JhA/Q0g8R9YmJAqNoZKTAwMSAwdQEQUypeQEBEkTdtUbdzYiW1sM1RY4m5Hunp1znmf\n94jnz5+nAGmakiQJu7u7KKWwbRspJWma0m63+fHjB9PpFM/z6Ha7FAoFDMNga2uLx48fkyQJ29vb\nyCRJSNMUz/PY2dnBtm0qlQpKKZIkIQgCer0eW1tbDIdDJpMJc3NzuK5Lt9tF13WWl5dJkoRyuYyU\nUrK3t0ccx9TrdQzD4F/HSilM08Q0TWzbplqtUqvVKBaLKKVoNpt8/vyZKIq4fv064/EY2ev1KBQK\n2LadCQkhEEJkteu6+L6P7/tMJhOm0ylKKarVKjdu3GA6nXL+/HmSJEHWajV0Xf9P7N8TQhDHMWEY\nIoRgOBzieR4At2/f5uTJk0RRRLFYZHZ2liNHjqBFUcRoNKJarSKlRAiRmfPr1y/SNMVxHI4dO8aF\nCxfI5/O4rotSirdv33L16lV+//7Nly9fUEqh5XI5dF0nTdPMaSEEtm3TaDSwLAvLstB1nd3dXUql\nEqZpYlkW6+vrdLtdHjx4wPb2NmEYHgpalkUQBBwcHLC2tsbx48cpFos4jkMQBIRhyGQyYTgcsrGx\nQavVot1uc+LECcbjMcPhkFKpRC6XQ0vTlDAMieOYQqGA4zhcu3YNwzDQdR3DMA4/ahpCCPL5fEbC\nvXv3WFlZ4c+fP7TbbZaWlpBRFGXjpmnK/Pw8QRAwnU6RUqJpGp7nMRqNcF0XwzCQUqKUolwus7y8\njO/7lMtlFhcX0YQQeJ6XMXfq1Cn29/epVCrouk4QBNi2TalUIoqizLg0TQEYjUbU63VmZmYOsdE0\nDd/3s5HH4zG6rtNsNrEsi0qlQqFQYH19nVevXjEej/8Tm0wmlMtlhBAMBgOkaZo0Gg329vbY2dkh\nCIJsZ0oplFK8efOGp0+fcvHiRfL5PAAHBweEYcj8/HxGydevX5FxHDMajajVanz69Ik4jkmSBF3X\n0TSNzc1N7t69S6vV4vXr10gp8X2f4XBIpVLJghDHMRsbG2jT6TRLxuLiIr1eDwBN09A0jYcPHyKE\n4OjRo8RxTBRF9Pt95ubmMud93+f79+80m03k/v4+UspDKDWNRqPBu3fvSNOUtbU16vU6ly5dwnEc\ncrkcrutimib5fD4zxzRNVldXWVpaQqysrKSdTofLly8zmUwoFAoIIfjXuW3bnD17NkuJlBLHcdA0\nDYAgCHj27BmO47C6uopM05RyucyLFy/QNA3XdRFCYBgGQRCwubnJhw8fGAwGANRqNTRNI0kSXr58\nyc2bN6nX64RhyP379xFPnjxJlVJIKTl37hydTocoiuh0OszOzmJZFv1+n8FgwJ07d7hy5Qrj8ZiP\nHz/S7/c5ffo0CwsL9Ho9ZmZmEI8ePUoNwyBJEs6cOcPCwgLfvn3j/fv35PN5bNtGKZUdjp8/f3Lr\n1q3svLVaLTzPI4oiLMviL7opJdyaltNwAAAAAElFTkSuQmCC",
        parameters => []
    );

}

#Mandatory function to be implemented by your plugin
sub get_tags {

    shift;
    my $lrr_info = shift;    # Global info hash

    my $logger = get_plugin_logger();
    my $file   = $lrr_info->{file_path};
    my $return = "";
    $path_in_archive = is_file_in_archive( $file, "galleryinfo.txt" );
    if ($path_in_archive) {

        # Extract galleryinfo.txt
        my $filepath = extract_file_from_archive( $file, $path_in_archive );

        # Open it
        open( my $fh, '<:encoding(UTF-8)', $filepath )
            or return ( error => "Could not open $filepath!" );

        while ( my $line = <$fh> ) {

            # Check if the line starts with Uploaded By:
            if ( $line =~ m/Uploaded By: (.*)/ ) {
                next ($return .= ", uploader:$1");
            }

            # Check if the line starts with Upload Time:
            if ( $line =~ m/Upload Time: (.*)/ ) {
                my $upload_date = $1;
                my $timestamp = timegm_modern($$upload_date[5],$$upload_date[4],$$upload_date[3],$$upload_date[2],$$upload_date[1]-1,$$upload_date[0]);
                next ($return .= ", timestamp:$timestamp");
            }

            # Check if the line starts with Tags:
            if ( $line =~ m/Tags: (.*)/ ) {
                last ( $return .= ", $1" );
            }

        }

        if ( $return eq "" ) {
            return ( error => "No tags were found in galleryinfo.txt!" );
        }
        return ( tags => $return );

    } else {
        return ( error => "No HentaiAtHome galleryinfo.txt file found in this archive!" );
    }

}


1;