1 class Site < ActiveGroonga::Base
6 def locked_path_pattern
9 "upload\\.cgi\\?mode=dl&file=(\\d+)"
11 "\\?mode=pass&idd=(\\d+)"
30 def generate_locked_arc_code(name)
33 code = 'up%04d' % name.to_i
35 code = 'file%04d' % name.to_i
37 code = 'cu%04d' % name.to_i
42 def generate_arc_code_and_extname(name)
43 if md = /\.(.+)\z/.match(name)
45 code = File.basename(name, '.' + extname)
54 code = 'file%04d' % code.to_i
56 code = 'mini%04d' % code.to_i
60 code = 'cu%04d' % code[3..-1].to_i
62 code = 'bo%04d' % code[2..-1].to_i
67 def create_arc(name, summary, size, date, origname, locked = false)
68 code, extname = generate_arc_code_and_extname(name)
71 puts "found code: #{code}"
74 puts "arcs.create code: #{code}"
75 arc = Arc.create(:site => self.code, :key => code, :extname => extname, :summary => summary, :origname => origname, :locked => !!locked)
78 def update_arc(name, summary, size, date, origname, locked = false)
79 code, extname = generate_arc_code_and_extname(name)
80 arc = Arc.find(code) || Arc.new(:site => self.code, :key => code)
81 puts "arc code: #{code}"
82 arc.update_attributes(:extname => extname, :summary => summary, :origname => origname, :locked => locked)