Commit 17b5226131b6903ab870132db517253a12cab6ff

Authored by William Daniau
1 parent 19a12f72d8
Exists in master

Ajout d'un script d'application de config

Showing 1 changed file with 123 additions and 0 deletions Inline Diff

File was created 1 #!/usr/bin/env ruby
2
3 require 'optparse'
4
5 # Variables globales $version, $auteur et $date
6 $version = "0.1"
7 $auteur = "William Daniau"
8 $date = "2019 10 11"
9
10 # Parse arguments class
11 class ParseOptions
12 def self.parse(args)
13 options = Hash.new
14
15 opt_parser = OptionParser.new do |opts|
16 opts.banner = "\nUtilisation : wize.rb [options]"
17 opts.separator ""
18 whatIDo = <<-AFP
19
20 liste ou applique une configuartion de template wize pour zim
21
22 AFP
23
24 opts.separator whatIDo
25
26 opts.on("-l",
27 "--list",
28 "Liste les configurations disponibles") do |l|
29 options[:list] = l
30 end
31
32 opts.on("-a",
33 "--apply CONF",
34 "applique la config CONF") do |conf|
35 options[:conf] = conf
36 end
37
38 opts.separator ""
39 opts.separator " Options standard:"
40 opts.on_tail("-h", "--help", "Affiche ce message") do
41 puts opts
42 puts ""
43 exit
44 end
45 opts.on_tail("-v", "--version", "Affiche la version") do
46 puts "Version : " + $version
47 puts "Auteur : " + $auteur
48 puts "Date : " + $date
49 puts ""
50 exit
51 end
52 end
53
54 opt_parser.parse!(args)
55 options
56 end
57 end
58
59 def listConfigs
60 a = `ls`.split(/\n/)
61 names = []
62 r = /^common-(.+)$/
63 a.each { |f|
64 if f =~ r
65 names.push($1)
66 end
67 }
68 names
69 end
70
71 def applyConfig(name)
72 list = ["Wize", "Wize_with_index", "Wize_with_index_sod"]
73 list.each { |l|
74 com = "rm -f #{l}/common-spec"
75 system(com)
76 com = "ln -s ../common-#{name} #{l}/common-spec"
77 system(com)
78 }
79 system("rm -f print-common")
80 system("ln -s common-#{name} print-common")
81 end
82
83 def configInList?(name, names)
84 names.include? name
85 end
86
87 # Parse arguments using the class and get results in a hash
88 options = ParseOptions.parse(ARGV)
89 if options.length == 0
90 puts "Utiliser -h pour l'aide"
91 exit
92 end
93
94 # Directory definitions
95 zimShareDir = "#{ENV['HOME']}/.local/share/zim"
96 zimHtmlTemplateDir = "#{zimShareDir}/templates/html"
97 zimConfigDir = "#{ENV['HOME']}/.config/zim"
98
99 # go into template dir
100 Dir.chdir(zimHtmlTemplateDir)
101
102 # get existing configs
103 configs = listConfigs