Sha256: c18da4a69edabe6745b892aa1b855095f21e5de8105c12f9ed0fbfcf4210c8f1
Contents?: true
Size: 1.37 KB
Versions: 3
Compression:
Stored size: 1.37 KB
Contents
# -*- coding: utf-8 -*- # # Copyright 2013 whiteleaf. All rights reserved. # require "open-uri" require "time" require_relative "sitesetting" require_relative "html" class NovelInfo @@novel_info_parameters = {} def self.load(setting) info = new(setting) info.parse_novel_info end def initialize(setting) @setting = setting @ncode = @setting["ncode"] @@novel_info_parameters[@setting["name"]] ||= {} end def parse_novel_info info_url = @setting["novel_info_url"] or return nil result = @@novel_info_parameters[@setting["name"]][@ncode] ||= {} return result unless result.empty? of = "nt-s-gf-nu-gl-w" request_output_parameters = of.split("-") info_source = "" open(info_url) do |fp| info_source = Helper.pretreatment_source(fp.read, @setting["encoding"]) end @setting.multi_match(info_source, *request_output_parameters) result["novel_type"] = @setting["novel_type_string"][@setting["novel_type"]] || 1 result["story"] = @setting["story"] result["writer"] = @setting["writer"] %w(general_firstup novelupdated_at general_lastup).each do |elm| result[elm] = date_string_to_time(@setting[elm]) end result end def date_string_to_time(date) date ? Time.parse(date.sub(/[\((].+?[\))]/, "").tr("年月日時分秒", "///:::")) : nil end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
narou-1.5.0.2 | lib/novelinfo.rb |
narou-1.5.0.1 | lib/novelinfo.rb |
narou-1.5.0 | lib/novelinfo.rb |