You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
955 B
37 lines
955 B
def sanitize_filename(filename)
|
|
filename = filename.strip
|
|
sanitized = filename.gsub(/[^a-zA-Z0-9_]/, "_")
|
|
sanitized.gsub!(/_+/, "_")
|
|
sanitized.gsub!(/^_+|_+$/, "")
|
|
sanitized
|
|
end
|
|
|
|
def sanitize_rcptname(filename)
|
|
filename = filename.strip
|
|
sanitized = filename.gsub(/[^a-zA-Z0-9_\.]/, "_")
|
|
sanitized.gsub!(/_+/, "_")
|
|
sanitized.gsub!(/^_+|_+$/, "")
|
|
sanitized
|
|
end
|
|
|
|
def check_partname_in_array(filename, search_array)
|
|
fnd = false
|
|
search_array.each do |item|
|
|
if filename.include?(item)
|
|
fnd = true
|
|
break
|
|
end
|
|
end
|
|
fnd
|
|
end
|
|
|
|
def check_safe_path(filename)
|
|
current_dir = Dir.pwd
|
|
home_dir = Dir.home
|
|
filename.start_with?("/etc/mock") || filename.start_with?(current_dir) || filename.start_with?(home_dir)
|
|
end
|
|
|
|
def get_spec_files_in_dir(directory)
|
|
Dir.glob(File.join(directory, "**", "*")).reject { |f| File.directory?(f) }.select { |f| File.extname(f) == ".spec" }.map { |f| f.delete_prefix(directory + "/") }
|
|
end
|