Skip to content

Commit

Permalink
Improved load and write file process for couples of classes
Browse files Browse the repository at this point in the history
  • Loading branch information
Fulgurance committed Jul 7, 2024
1 parent bc471b4 commit c8f46d8
Show file tree
Hide file tree
Showing 4 changed files with 101 additions and 175 deletions.
98 changes: 49 additions & 49 deletions ISM/CommandLineSettings.cr
Original file line number Diff line number Diff line change
Expand Up @@ -412,7 +412,7 @@ module ISM
@chrootVariantId)

if @rootPath != "/"
writeChrootSettingsFile
writeChrootConfiguration
end
end

Expand Down Expand Up @@ -611,42 +611,42 @@ module ISM

# Generic
def setSecureMode(@secureMode)
writeSettingsFile
writeConfiguration
end

def setInstallByChroot(@installByChroot)
writeSettingsFile
writeConfiguration
end

def setRootPath(@rootPath)
writeSettingsFile
writeConfiguration
end

def setDefaultMirror(@defaultMirror)
writeSettingsFile
writeConfiguration
end

# Host
def setSystemTargetName(@systemTargetName)
writeSettingsFile
writeConfiguration
setSystemTarget
end

def setSystemArchitecture(@systemArchitecture)
writeSettingsFile
writeConfiguration
setSystemTarget
end

def setSystemTarget
@systemTarget = @systemArchitecture + "-" + @systemTargetName + "-" + "linux-gnu"
writeSettingsFile
writeConfiguration
end

def setSystemMakeOptions(@systemMakeOptions)
match,invalidValue = Ism.inputMatchWithFilter(@systemMakeOptions,ISM::Default::CommandLineSettings::MakeOptionsFilter)

if match
writeSettingsFile
writeConfiguration
else
puts "#{ISM::Default::CommandLineSettings::ErrorInvalidValueText.colorize(:red)}#{invalidValue.colorize(:red)}"
puts "#{ISM::Default::CommandLineSettings::ErrorMakeOptionsInvalidValueAdviceText.colorize(:green)}"
Expand All @@ -655,97 +655,97 @@ module ISM
end

def setSystemBuildOptions(@systemBuildOptions)
writeSettingsFile
writeConfiguration
end

def setSystemName(@systemName)
writeSettingsFile
writeConfiguration
end

def setSystemFullName(@systemFullName)
writeSettingsFile
writeConfiguration
end

def setSystemId(@systemId)
writeSettingsFile
writeConfiguration
end

def setSystemRelease(@systemRelease)
writeSettingsFile
writeConfiguration
end

def setSystemCodeName(@systemCodeName)
writeSettingsFile
writeConfiguration
end

def setSystemDescription(@systemDescription)
writeSettingsFile
writeConfiguration
end

def setSystemVersion(@systemVersion)
writeSettingsFile
writeConfiguration
end

def setSystemVersionId(@systemVersionId)
writeSettingsFile
writeConfiguration
end

def setSystemAnsiColor(@systemAnsiColor)
writeSettingsFile
writeConfiguration
end

def setSystemCpeName(@systemCpeName)
writeSettingsFile
writeConfiguration
end

def setSystemHomeUrl(@systemHomeUrl)
writeSettingsFile
writeConfiguration
end

def setSystemSupportUrl(@systemSupportUrl)
writeSettingsFile
writeConfiguration
end

def setSystemBugReportUrl(@systemBugReportUrl)
writeSettingsFile
writeConfiguration
end

def setSystemPrivacyPolicyUrl(@systemPrivacyPolicyUrl)
writeSettingsFile
writeConfiguration
end

def setSystemBuildId(@systemBuildId)
writeSettingsFile
writeConfiguration
end

def setSystemVariant(@systemVariant)
writeSettingsFile
writeConfiguration
end

def setSystemVariantId(@systemVariantId)
writeSettingsFile
writeConfiguration
end

# Chroot
def setChrootTargetName(@chrootTargetName)
writeSettingsFile
writeConfiguration
setChrootTarget
end

def setChrootArchitecture(@chrootArchitecture)
writeSettingsFile
writeConfiguration
end

def setChrootTarget
@chrootTarget = @chrootArchitecture + "-" + @chrootTargetName + "-" + "linux-gnu"
writeSettingsFile
writeConfiguration
end

def setChrootMakeOptions(@chrootMakeOptions)
match,invalidValue = Ism.inputMatchWithFilter(@chrootMakeOptions,ISM::Default::CommandLineSettings::MakeOptionsFilter)

if match
writeSettingsFile
writeConfiguration
else
puts "#{ISM::Default::CommandLineSettings::ErrorInvalidValueText.colorize(:red)}#{invalidValue.colorize(:red)}"
puts "#{ISM::Default::CommandLineSettings::ErrorChrootMakeOptionsInvalidValueAdviceText.colorize(:green)}"
Expand All @@ -754,76 +754,76 @@ module ISM
end

def setChrootBuildOptions(@chrootBuildOptions)
writeSettingsFile
writeConfiguration
end

def setChrootName(@chrootName)
writeSettingsFile
writeConfiguration
end


def setChrootFullName(@chrootFullName)
writeSettingsFile
writeConfiguration
end

def setChrootId(@chrootId)
writeSettingsFile
writeConfiguration
end

def setChrootRelease(@chrootRelease)
writeSettingsFile
writeConfiguration
end

def setChrootCodeName(@chrootCodeName)
writeSettingsFile
writeConfiguration
end

def setChrootDescription(@chrootDescription)
writeSettingsFile
writeConfiguration
end

def setChrootVersion(@chrootVersion)
writeSettingsFile
writeConfiguration
end

def setChrootVersionId(@chrootVersionId)
writeSettingsFile
writeConfiguration
end

def setChrootAnsiColor(@chrootAnsiColor)
writeSettingsFile
writeConfiguration
end

def setChrootCpeName(@chrootCpeName)
writeSettingsFile
writeConfiguration
end

def setChrootHomeUrl(@chrootHomeUrl)
writeSettingsFile
writeConfiguration
end

def setChrootSupportUrl(@chrootSupportUrl)
writeSettingsFile
writeConfiguration
end

def setChrootBugReportUrl(@chrootBugReportUrl)
writeSettingsFile
writeConfiguration
end

def setChrootPrivacyPolicyUrl(@chrootPrivacyPolicyUrl)
writeSettingsFile
writeConfiguration
end

def setChrootBuildId(@chrootBuildId)
writeSettingsFile
writeConfiguration
end

def setChrootVariant(@chrootVariant)
writeSettingsFile
writeConfiguration
end

def setChrootVariantId(@chrootVariantId)
writeSettingsFile
writeConfiguration
end

end
Expand Down
30 changes: 11 additions & 19 deletions ISM/KernelOption.cr
Original file line number Diff line number Diff line change
Expand Up @@ -17,38 +17,30 @@ module ISM
@blockers = Array(String).new)
end

def loadInformationFile(loadInformationFilePath : String)
def self.loadConfiguration(path : String)
begin
information = KernelOption.from_json(File.read(loadInformationFilePath))
from_json(File.read(path))
rescue error : JSON::ParseException
puts "#{ISM::Default::KernelOption::FileLoadProcessSyntaxErrorText1 +
loadInformationFilePath +
path +
ISM::Default::KernelOption::FileLoadProcessSyntaxErrorText2 +
error.line_number.to_s}".colorize(:yellow)
return
end
end

@name = information.name
@tristate = information.tristate
@dependencies = information.dependencies
@singleChoiceDependencies = information.singleChoiceDependencies
@blockers = information.blockers
def loadConfiguration(path : String)
return self.loadConfiguration(path)
end

def writeInformationFile(writeInformationFilePath : String)
path = writeInformationFilePath.chomp(writeInformationFilePath[writeInformationFilePath.rindex("/")..-1])
def writeConfiguration(path : String)
finalPath = path.chomp(path[path.rindex("/")..-1])

if !Dir.exists?(path)
Dir.mkdir_p(path)
if !Dir.exists?(finalPath)
Dir.mkdir_p(finalPath)
end

information = KernelOption.new( @name,
@tristate,
@dependencies,
@singleChoiceDependencies,
@blockers)

file = File.open(writeInformationFilePath,"w")
file = File.open(path,"w")
information.to_json(file)
file.close
end
Expand Down
23 changes: 13 additions & 10 deletions ISM/Port.cr
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,14 @@ module ISM
FileUtils.rm_r(self.directoryPathPrefix+ARGV[2+Ism.debugLevel])
end

def self.filePath(name : String) : String
return filePathPrefix+name+".json"
end

def self.directoryPath(name : String) : String
return directoryPathPrefix+name
end

def filePath : String
return self.class.filePathPrefix+@name+".json"
end
Expand All @@ -35,18 +43,13 @@ module ISM
return self.class.directoryPathPrefix+@name
end

def loadPortFile
port = Port.from_json(File.read(filePath))

@name = port.name
@url = port.url
def loadConfiguration
self.class.from_json(File.read(filePath))
end

def writePortFile
port = Port.new(@name,@url)

def writeConfiguration
file = File.open(filePath,"w")
port.to_json(file)
to_json(file)
file.close
end

Expand All @@ -66,7 +69,7 @@ module ISM
result = process.wait

if result.success?
writePortFile
writeConfiguration
else
FileUtils.rm_r(directoryPath)
end
Expand Down
Loading

0 comments on commit c8f46d8

Please sign in to comment.