62 lines
1.5 KiB
Ruby
62 lines
1.5 KiB
Ruby
|
|
#!/usr/bin/env ruby
|
||
|
|
|
||
|
|
require 'json'
|
||
|
|
require_relative './../../xrforge.rb'
|
||
|
|
|
||
|
|
# Check if a filename is provided
|
||
|
|
if ARGV.length != 1
|
||
|
|
puts "Usage: #{$0} <path/to/experience/datapackage.json>"
|
||
|
|
exit 1
|
||
|
|
end
|
||
|
|
|
||
|
|
filename = ARGV[0]
|
||
|
|
|
||
|
|
begin
|
||
|
|
|
||
|
|
# dont run for each file-update
|
||
|
|
if ! filename.end_with?("datapackage.json")
|
||
|
|
exit 0
|
||
|
|
end
|
||
|
|
|
||
|
|
# Change the directory
|
||
|
|
dir = File.dirname(filename)
|
||
|
|
dirPublic = dir.gsub("/mnt/","").gsub("#","%23")
|
||
|
|
Dir.chdir( File.dirname(filename) )
|
||
|
|
# Read and parse the JSON file
|
||
|
|
data = JSON.parse( File.read( "datapackage.json" ) )
|
||
|
|
logfile = File.join( File.dirname(filename), ".xrforge/log.txt" )
|
||
|
|
|
||
|
|
XRForge.log("✅ starting generating audiovisual experience", logfile)
|
||
|
|
|
||
|
|
# Check if a model file was found after the loop
|
||
|
|
#model_file = XRForge.getExperienceFile(data,dir,logfile)
|
||
|
|
#if ! model_file
|
||
|
|
# XRForge.log("❌ No suitable 3D file found for JanusXR-compatible experience", logfile)
|
||
|
|
# exit
|
||
|
|
#end
|
||
|
|
|
||
|
|
# Get the value of the environment variable FEDERATE_DRIVE_HOST
|
||
|
|
federate_drive_host = ENV['FEDERATE_DRIVE_HOST']
|
||
|
|
|
||
|
|
autogenerate = true
|
||
|
|
|
||
|
|
if ! data['description']
|
||
|
|
|
||
|
|
end
|
||
|
|
XRForge.log("✅ generated audiovisual experience", logfile)
|
||
|
|
XRForge.log(" ", logfile)
|
||
|
|
|
||
|
|
# tag it!
|
||
|
|
if ! data['keywords'].include?('audiovisual')
|
||
|
|
data['keywords'].push('audiovisual')
|
||
|
|
File.write("datapackage.json", JSON.pretty_generate(data) )
|
||
|
|
end
|
||
|
|
|
||
|
|
rescue Errno::ENOENT
|
||
|
|
puts "File #{filename} not found"
|
||
|
|
rescue JSON::ParserError
|
||
|
|
puts "Error parsing JSON from #{filename}"
|
||
|
|
rescue => e
|
||
|
|
puts "An error occurred: #{e.message}"
|
||
|
|
end
|