Class: Deplate::Regions::Img

Inherits:
Deplate::Region show all
Defined in:
lib/deplate/regions.rb,
lib/deplate/mod/pstoedit.rb

Constant Summary collapse

@@ImgAutoN =
0
@@ImgSuffix =
{}

Instance Method Summary collapse

Methods inherited from Deplate::Region

check_file, clean_strings, #deprecated_regnote, deprecated_regnote, #finish_accum, #format_compound, regions, register_as, set_line_cont, #setup

Methods inherited from Element

#join_lines, #join_lines_re_zh_cn

Instance Method Details

#finishObject



472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
# File 'lib/deplate/regions.rb', line 472

def finish
    finish_accum
    nt = @regNote.split(/ /)
    @prg = nt[0]
    @cmdLineArgs = nt[1..-1]
    unless @prg
        log("No programm name given!", :error)
    else
        begin
            @args["sfx"] ||= @deplate.variables["imgSfx"]
            imgClass = Deplate::Regions.const_get("Img_" + @prg)
            self.extend(imgClass)
            i = img
            i.args.update(@args)
            i.update_args
            return i
        rescue StandardError => e
            log(["Program call failed", e, e.backtrace[0..10]], :error)
        end
    end
    return nil
end

#imgObject



495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
# File 'lib/deplate/regions.rb', line 495

def img
    id  = @args["id"]
    unless id
        @@ImgAutoN += 1
        id = @deplate.auxiliary_auto_filename('img', @@ImgAutoN, @accum)
    end
    sfx = @args["sfx"] || suffix
    src = "#{id}.#{@prg}"
    out = "#{id}.#{sfx}"
    pwd = Dir.pwd
    d   = @deplate.dest ? File.dirname(@deplate.dest) : "."
    i   = nil
    @deplate.in_working_dir do
        accum = prepare(@accum, out, sfx)
        if Deplate::Region.check_file(self, out, src, accum)
            log(["Files exist! Using", out], :anyway)
        else
            unless @deplate.options.force
                for f in [src]
                    if File.exist?(f)
                        raise "Please delete '#{f}' or change the id before proceeding"
                    end
                end
            end
            Deplate::External.write_file(self, src) {|io| io.puts(accum.join("\n"))}
            run(src, out, sfx)
        end
        if block_given?
            i = yield(id, out)
        else
            i = Deplate::Command::IMG.new(@deplate, @source, out, @match, @args, "IMG")
            i.finish
        end
    end
    return i
end

#img_re_pstoeditObject



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# File 'lib/deplate/mod/pstoedit.rb', line 60

def img
    id  = @args["id"]
    unless id
        @@ImgAutoN += 1
        id = @deplate.auxiliary_auto_filename('img', @@ImgAutoN, @accum)
    end
    sfx = @args["sfx"] || suffix
    src = "#{id}.#{@prg}"
    out = "#{id}.#{sfx}"
    pwd = Dir.pwd
    d   = @deplate.dest ? File.dirname(@deplate.dest) : "."
    i   = nil
    @deplate.in_working_dir do
        accum = prepare(@accum, out, sfx)
        if Deplate::Region.check_file(self, out, src, accum)
            log(["Files exist! Using", out], :anyway)
        else
            unless @deplate.options.force
                for f in [src]
                    if File.exist?(f)
                        raise "Please delete '#{f}' or change the id before proceeding"
                    end
                end
            end
            Deplate::External.write_file(self, src) {|io| io.puts(accum.join("\n"))}
            run(src, out, sfx)
        end
        if block_given?
            i = yield(id, out)
        else
            i = Deplate::Command::IMG.new(@deplate, @source, out, @match, @args, "IMG")
            i.finish
        end
    end
    return i
end

#suffixObject



532
533
534
535
536
537
538
539
# File 'lib/deplate/regions.rb', line 532

def suffix
    block = @@ImgSuffix[@deplate.formatter.class]
    if block
        return block.call(self)
    else
        return "png"
    end
end