Method: Yast::EncodingClass#Restore

Defined in:
library/general/src/modules/Encoding.rb

#RestoreObject

Restore data to system

Returns:

  • console encoding



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
# File 'library/general/src/modules/Encoding.rb', line 63

def Restore
  @console = Convert.to_string(
    SCR.Read(path(".sysconfig.console.CONSOLE_ENCODING"))
  )
  @console = "" if @console.nil?

  m = Convert.to_map(
    SCR.Execute(path(".target.bash_output"), "/usr/bin/locale -k charmap")
  )
  m = {} if m.nil?

  out = Builtins.splitstring(Ops.get_string(m, "stdout", ""), "\n")
  Builtins.y2milestone("list %1", out)

  out = Builtins.filter(out) { |e| Builtins.find(e, "charmap=") == 0 }
  Builtins.y2milestone("list %1", out)

  if Ops.greater_than(Builtins.size(Ops.get(out, 0, "")), 0)
    enc = Builtins.substring(Ops.get(out, 0, ""), 8)
    Builtins.y2milestone("enc %1", enc)
    enc = Builtins.deletechars(enc, "\" ")
    Builtins.y2milestone("enc %1", enc)
    @console = enc if Ops.greater_than(Builtins.size(enc), 0)
  end
  Builtins.y2milestone("encoding %1", @console)
  @console
end