tlapse 0.4.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/exe/tlapse +2 -88
- data/lib/tlapse/cli/alpha.rb +52 -0
- data/lib/tlapse/cli/cli.rb +37 -0
- data/lib/tlapse/version.rb +1 -1
- data/tlapse.gemspec +1 -1
- metadata +17 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 58a891c9f90caa86f4b404d405452349e0e87d0dd75d5a8fc886d5550aedda78
|
4
|
+
data.tar.gz: aebf38a3ea2df2077e05021c17a6adc6bf932f56aca19e9c62ec2712e00d8e56
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 170575a9b7dc5e242b808d49495295457ad7838532f81ea561a9dfb6c94cc9659c1f3b1b9552e69feaf2957b5295fc0b50b987a600a7f0f8cd1d71cfe021bacb
|
7
|
+
data.tar.gz: 9c23386e90c8f3ac2e9ebc87415faa36a74d6448c78e56d301cd1e261fb33613ccf26a3f1d67b11c82cf539e51e148c2d5e8fe1969571d150d1f2e71a70aec18
|
data/exe/tlapse
CHANGED
@@ -1,91 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
require "
|
4
|
-
require "fileutils"
|
5
|
-
|
6
|
-
require_relative "../lib/tlapse"
|
7
|
-
|
8
|
-
include GLI::App
|
9
|
-
include Tlapse
|
10
|
-
|
11
|
-
program_desc "Automated time lapse photography via gphoto2"
|
12
|
-
version Tlapse::VERSION
|
13
|
-
|
14
|
-
desc "Determine whether you are ready to start capturing"
|
15
|
-
command :doctor do |c|
|
16
|
-
c.action do |global_options, options, args|
|
17
|
-
doctor
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
desc "Capture a single photo, saving it to the current directory"
|
22
|
-
command :capture do |c|
|
23
|
-
c.action do |global_options, options, args|
|
24
|
-
Tlapse::Capture.capture_single
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
desc "Start a drb server via which photo capturing may be performed remotely"
|
29
|
-
command :serve do |c|
|
30
|
-
c.flag :h, :host,
|
31
|
-
desc: "The hostname on which the server is run",
|
32
|
-
default_value: `hostname`.strip,
|
33
|
-
arg_name: "host"
|
34
|
-
|
35
|
-
c.flag :p, :port,
|
36
|
-
desc: "The port on which the server is run",
|
37
|
-
default_value: 9000,
|
38
|
-
arg_name: "port"
|
39
|
-
|
40
|
-
c.action do |global_options, options, args|
|
41
|
-
server = Tlapse::Server.new(
|
42
|
-
host: options[:host],
|
43
|
-
port: options[:port]
|
44
|
-
)
|
45
|
-
puts "Serving on #{server.full_host}"
|
46
|
-
server.serve
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
|
51
|
-
desc "Use ffmpeg to combine all .jpg files in the current directory"
|
52
|
-
command :compile do |c|
|
53
|
-
c.switch :f, :force,
|
54
|
-
desc: "Force overwrite existing output files",
|
55
|
-
negatable: false
|
56
|
-
|
57
|
-
c.flag :o, :out,
|
58
|
-
desc: "The desired output filename",
|
59
|
-
default_value: "out.mkv",
|
60
|
-
arg_name: "outfile"
|
61
|
-
|
62
|
-
c.action do |global_options, options, args|
|
63
|
-
video = Video.new options
|
64
|
-
|
65
|
-
if video.outfile_exists?
|
66
|
-
if options[:force]
|
67
|
-
FileUtils.rm video.outfile
|
68
|
-
puts "Removed file #{video.outfile}"
|
69
|
-
else
|
70
|
-
raise "#{video.outfile} exists. Use -f to overwrite or " \
|
71
|
-
"-o to specify a different output file."
|
72
|
-
end
|
73
|
-
end
|
74
|
-
video.create!
|
75
|
-
end
|
76
|
-
end
|
77
|
-
|
78
|
-
desc "Generate a gphoto2 command which captures photos from now until the sun sets (useful for cronjobs)"
|
79
|
-
command :until_sunset do |c|
|
80
|
-
c.flag :i, :interval,
|
81
|
-
desc: "The interval (in minutes) at which pictures will be taken",
|
82
|
-
default_value: "5"
|
83
|
-
|
84
|
-
c.action do |global_options, options, args|
|
85
|
-
interval = options[:interval].to_i.minutes
|
86
|
-
puts Tlapse::Capture.timelapse_command_while_sun_is_up(interval: interval)
|
87
|
-
end
|
88
|
-
end
|
89
|
-
|
90
|
-
exit run(ARGV)
|
3
|
+
require "tlapse/cli/cli"
|
91
4
|
|
5
|
+
Tlapse::CLI::CLI.start(ARGV)
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require "thor"
|
2
|
+
|
3
|
+
module Tlapse::CLI
|
4
|
+
class Alpha < Thor
|
5
|
+
desc "serve", "Start a drb server via which photo capturing may be performed remotely"
|
6
|
+
option :host,
|
7
|
+
desc: "The hostname on which the server is run",
|
8
|
+
type: :string,
|
9
|
+
default: "localhost",
|
10
|
+
aliases: %i(H)
|
11
|
+
option :port,
|
12
|
+
desc: "The port on which the server is run",
|
13
|
+
type: :numeric,
|
14
|
+
default: 9000,
|
15
|
+
aliases: %i(p)
|
16
|
+
def serve
|
17
|
+
server = Tlapse::Server.new(
|
18
|
+
host: options[:host],
|
19
|
+
port: options[:port]
|
20
|
+
)
|
21
|
+
puts "Serving on #{server.full_host}"
|
22
|
+
server.serve
|
23
|
+
end
|
24
|
+
|
25
|
+
desc "compile", "Use ffmpeg to combine all .jpg files in the current directory"
|
26
|
+
option :force,
|
27
|
+
desc: "Force overwrite any existing output files",
|
28
|
+
type: :boolean,
|
29
|
+
default: false,
|
30
|
+
aliases: %i(f)
|
31
|
+
option :out,
|
32
|
+
desc: "The desired output filename",
|
33
|
+
type: :string,
|
34
|
+
default: "out.mkv",
|
35
|
+
aliases: %i(o)
|
36
|
+
def compile
|
37
|
+
video = Video.new out: options[:out]
|
38
|
+
|
39
|
+
if video.outfile_exists?
|
40
|
+
if options[:force]
|
41
|
+
FileUtils.rm video.outfile
|
42
|
+
puts "Removed file #{video.outfile}"
|
43
|
+
else
|
44
|
+
raise "#{video.outfile} exists. Use -f to overwrite or " \
|
45
|
+
"-o to specify a different output file."
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
video.create!
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require "thor"
|
2
|
+
require "active_support/core_ext/numeric/time.rb"
|
3
|
+
require "tlapse"
|
4
|
+
require "tlapse/cli/alpha"
|
5
|
+
|
6
|
+
module Tlapse::CLI
|
7
|
+
class CLI < Thor
|
8
|
+
desc "doctor", "Perform checks to see if you're ready to tlapse"
|
9
|
+
def doctor
|
10
|
+
Tlapse::Doctor.doctor
|
11
|
+
end
|
12
|
+
|
13
|
+
desc "version", "Print the version number and exit"
|
14
|
+
def version
|
15
|
+
puts Tlapse::VERSION
|
16
|
+
end
|
17
|
+
|
18
|
+
desc "capture", "Capture a single photo, saving it to the current directory"
|
19
|
+
def capture
|
20
|
+
Tlapse::Capture.capture_single
|
21
|
+
end
|
22
|
+
|
23
|
+
desc "until_sunset", "Generate a gphoto2 command to capture photos from now until the sun sets (useful for cronjobs)"
|
24
|
+
option :interval,
|
25
|
+
desc: "The interval (in minutes) at which picturs will be taken",
|
26
|
+
type: :numeric,
|
27
|
+
default: 5,
|
28
|
+
aliases: %i(i)
|
29
|
+
def until_sunset
|
30
|
+
interval = options[:interval].minutes
|
31
|
+
puts Tlapse::Capture.timelapse_command_while_sun_is_up(interval: interval)
|
32
|
+
end
|
33
|
+
|
34
|
+
desc "alpha", "Get early access to in-development (and likely unstable) commands"
|
35
|
+
subcommand "alpha", Tlapse::CLI::Alpha
|
36
|
+
end
|
37
|
+
end
|
data/lib/tlapse/version.rb
CHANGED
data/tlapse.gemspec
CHANGED
@@ -24,7 +24,7 @@ Gem::Specification.new do |spec|
|
|
24
24
|
spec.add_development_dependency "byebug", "~> 8.2"
|
25
25
|
spec.add_development_dependency "timecop", "~> 0.8"
|
26
26
|
|
27
|
-
spec.add_dependency "gli", "~> 2.13"
|
28
27
|
spec.add_dependency "activesupport", ">= 5.0.0.beta3", "< 5.1"
|
29
28
|
spec.add_dependency "RubySunrise", "~> 0.3"
|
29
|
+
spec.add_dependency "thor", "~> 0.20"
|
30
30
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tlapse
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin Toniazzo
|
@@ -80,20 +80,6 @@ dependencies:
|
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0.8'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: gli
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '2.13'
|
90
|
-
type: :runtime
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - "~>"
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '2.13'
|
97
83
|
- !ruby/object:Gem::Dependency
|
98
84
|
name: activesupport
|
99
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,6 +114,20 @@ dependencies:
|
|
128
114
|
- - "~>"
|
129
115
|
- !ruby/object:Gem::Version
|
130
116
|
version: '0.3'
|
117
|
+
- !ruby/object:Gem::Dependency
|
118
|
+
name: thor
|
119
|
+
requirement: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - "~>"
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '0.20'
|
124
|
+
type: :runtime
|
125
|
+
prerelease: false
|
126
|
+
version_requirements: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - "~>"
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '0.20'
|
131
131
|
description:
|
132
132
|
email:
|
133
133
|
- jutonz42@gmail.com
|
@@ -150,6 +150,8 @@ files:
|
|
150
150
|
- exe/tlapse
|
151
151
|
- lib/tlapse.rb
|
152
152
|
- lib/tlapse/capture.rb
|
153
|
+
- lib/tlapse/cli/alpha.rb
|
154
|
+
- lib/tlapse/cli/cli.rb
|
153
155
|
- lib/tlapse/doctor.rb
|
154
156
|
- lib/tlapse/server.rb
|
155
157
|
- lib/tlapse/solar_event.rb
|