1 class Site < ActiveGroonga::Base
6 def locked_path_pattern
9 "upload\\.cgi\\?mode=dl&file=(\\d+)"
11 "\\?mode=pass&idd=(\\d+)"
17 locked_path_pattern ? Regexp.new(Regexp.escape(url) + locked_path_pattern) : nil
37 path_pattern ? Regexp.new(Regexp.escape(url) + path_pattern) : nil
40 def generate_locked_arc_code(name)
43 code = 'up%04d' % name.to_i
45 code = 'file%04d' % name.to_i
47 code = 'cu%04d' % name.to_i
52 def generate_arc_code_and_extname(name)
53 if md = /\.(.+)\z/.match(name)
55 code = File.basename(name, '.' + extname)
64 code = 'file%04d' % code.to_i
66 code = 'mini%04d' % code.to_i
70 code = 'cu%04d' % code[3..-1].to_i
72 code = 'bo%04d' % code[2..-1].to_i
77 def create_arc(name, summary, size, date, origname, locked = false)
78 code, extname = generate_arc_code_and_extname(name)
81 puts "found code: #{code}"
84 puts "arcs.create code: #{code}"
85 arc = Arc.create(:site => self.code, :key => code, :extname => extname, :summary => summary, :origname => origname, :locked => !!locked)
88 def update_arc(name, summary, size, date, origname, locked = false)
89 code, extname = generate_arc_code_and_extname(name)
90 arc = Arc.find(code) || Arc.new(:site => self.code, :key => code)
91 puts "arc code: #{code}"
92 arc.update_attributes(:extname => extname, :summary => summary, :origname => origname, :locked => locked)