pptx2medias 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +7 -0
  2. data/bin/pptx2medias +4 -0
  3. data/lib/pptx2medias.rb +35 -0
  4. metadata +46 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: e3fddb47e4e67dd4714f47bcdbe2a8a01f0d647361e07aa2e6ab484b6475ee76
4
+ data.tar.gz: 16a191cd11e90a6f6d3cfd3c6fbc8b87475b068222a6d8e8700cbd05d3c988b2
5
+ SHA512:
6
+ metadata.gz: 2edc044dcf1cb4e1865608e40c97357469e351d2357aed7e974986f10476bb5d1b712f67d86214b125edb88ba3bd22dc4947a926c283810e722d5bb1d04d843e
7
+ data.tar.gz: 7d5074bedb416e9696555e6d2f1e9e4fef930f695d21287beab216bf0fca98e424739578ddb07221d305fe5e4a9908cd373888243650374e5a186ef957288d2d
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'pptx2medias'
4
+ Pptx2Medias::extract ARGV[0]
@@ -0,0 +1,35 @@
1
+ module Pptx2Medias
2
+ VERSION = '0.0.1'
3
+
4
+ def self.extract(file_path)
5
+ file_type = `file -b "#{file_path}"`
6
+ file_ext = File.extname(file_path)
7
+
8
+ puts "- Input file: #{file_path}"
9
+ puts "- File type: #{file_type}"
10
+
11
+ unless file_type.include?('PowerPoint') && file_ext == '.pptx'
12
+ puts 'Input file is not a valid PPTX. Exiting...'
13
+ return
14
+ end
15
+
16
+ puts 'Input file is a PowerPoint presentation. Processing...'
17
+
18
+ dir = File.dirname(file_path)
19
+ basename = File.basename(file_path, file_ext)
20
+
21
+ system("cp \"#{file_path}\" \"#{dir}/archive.zip\"")
22
+ system("unzip \"#{dir}/archive.zip\" ppt/media/* -d #{dir}")
23
+ system("mv \"#{dir}/ppt/media\" \"#{dir}/#{basename}_media\"")
24
+
25
+ medias_count = `ls -1 \"#{dir}/#{basename}_media\" | wc -l`.strip.to_i
26
+ videos_count = `ls -1 \"#{dir}/#{basename}_media\" | grep .mp4 | wc -l`.strip.to_i
27
+
28
+ puts "File has been processed. Found #{medias_count} medias (including #{videos_count} videos). Cleaning..."
29
+
30
+ system("rmdir \"#{dir}/ppt\"")
31
+ system("rm \"#{dir}/archive.zip\"")
32
+
33
+ puts "Done!"
34
+ end
35
+ end
metadata ADDED
@@ -0,0 +1,46 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pptx2medias
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Sébastien Gaya
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2020-07-30 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Extracts media files (images, videos, sounds) from a PPTX file.
14
+ email:
15
+ - sebastien.gaya@gmail.com
16
+ executables:
17
+ - pptx2medias
18
+ extensions: []
19
+ extra_rdoc_files: []
20
+ files:
21
+ - bin/pptx2medias
22
+ - lib/pptx2medias.rb
23
+ homepage: http://rubygems.org/gems/pptx2medias
24
+ licenses:
25
+ - MIT
26
+ metadata: {}
27
+ post_install_message:
28
+ rdoc_options: []
29
+ require_paths:
30
+ - lib
31
+ required_ruby_version: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
36
+ required_rubygems_version: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ requirements: []
42
+ rubygems_version: 3.1.2
43
+ signing_key:
44
+ specification_version: 4
45
+ summary: Get medias from your PowerPoint presentation!
46
+ test_files: []