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

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