logger.debug "Making each package directry"
packages.each do |package|
- logger.info "Making directory for package #{package.name}"
- pdir = target_dir + package.name
+ pname = fsname(package.name)
+ if pname != package.name
+ logger.warn "Package name '#{package.name}' is not suitable for filesystem, using '#{pname}'."
+ end
+ logger.info "Making directory for package #{pname}"
+ pdir = target_dir + pname
FileUtils.mkdir_p(pdir)
update_variables pdir, package_id: package.id
package.releases.each do |release|
- logger.info "Making directory for release #{release.name}"
- rdir = pdir + release.name
+ rname = fsname(release.name)
+ if rname != release.name
+ logger.warn "Release name '#{release.name}' is not suitable for filesystem, using '#{rname}'."
+ end
+ logger.info "Making directory for release #{rname}"
+ rdir = pdir + rname
FileUtils.mkdir_p(rdir)
update_variables rdir, release_id: release.id
end
def api
OSDNClient::ProjectApi.new
end
+
+ def fsname(name)
+ name = name.to_s.tr('/', '-')
+ if name.empty?
+ name = '(no-name)'
+ end
+ name
+ end
end
end; end; end