Module: C3D::TransmissionRunner
- Extended by:
- TransmissionRunner
- Included in:
- TransmissionRunner
- Defined in:
- lib/c3d/util/processes.rb
Instance Method Summary collapse
- #is_trans_running?(cli) ⇒ Boolean
- #set_trans_config(config) ⇒ Object
- #start_transmission(cli) ⇒ Object
Instance Method Details
#is_trans_running?(cli) ⇒ Boolean
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/c3d/util/processes.rb', line 14 def is_trans_running? cli a = `ps aux`.split("\n").select{|e| e[/transmission-daemon/]} if ! a.empty? if cli print "Please stop your default Transmission Server with `sudo service transmission-daemon stop` and then restart.\n" print "Would you like to override this message and start c3d anyway? (Y/n)\n" override = STDIN.gets.chomp if override == 'Y' || override == 'y' return true else exit 0 end else return true end end return (! a.empty?) end |
#set_trans_config(config) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/c3d/util/processes.rb', line 33 def set_trans_config config trans_file = File.join(ENV['HOME'], '.epm', 'settings.json') trans_example = File.join(File.dirname(__FILE__), '..', '..', '..', 'settings', 'transmission.json') unless File.exists? trans_file FileUtils.cp trans_example, trans_file end trans_config = JSON.load(File.read(trans_file)) trans_config["incomplete-dir"] = config['download_dir'] trans_config["download-queue-size"] = config['download-queue-size'].to_i trans_config["queue-stalled-minutes"] = config['queue-stalled-minutes'].to_i trans_config["seed-queue-size"] = config['seed-queue-size'].to_i File.open(trans_file, 'w'){|f| f.write(JSON.pretty_generate(trans_config))} end |
#start_transmission(cli) ⇒ Object
6 7 8 9 10 11 12 |
# File 'lib/c3d/util/processes.rb', line 6 def start_transmission cli unless is_trans_running? cli pid = spawn "transmission-daemon -f --no-incomplete-dir -o -C -p #{ENV['TORRENT_RPC'].split(':').last[0..3]} -w #{ENV['BLOBS_DIR']} -g #{File.join(ENV['HOME'], '.epm')}" sleep 3 at_exit { Process.kill("INT", pid) } end end |