appydave-tools 0.41.0 → 0.43.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/CHANGELOG.md +14 -0
- data/bin/dam +79 -5
- data/lib/appydave/tools/dam/project_listing.rb +15 -1
- data/lib/appydave/tools/dam/project_resolver.rb +4 -1
- data/lib/appydave/tools/dam/s3_operations.rb +2 -0
- data/lib/appydave/tools/dam/status.rb +5 -1
- data/lib/appydave/tools/version.rb +1 -1
- data/package.json +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: abc6dfb0d67bcfeae2ed2bd59c51e5926b35948c57957226975a19f02ab835b1
|
|
4
|
+
data.tar.gz: dfb7b9e5a59260a87a9741edee11d2eb91cde891bf724ab7e312d40cdce78d7d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 494ba66d882da3ed30f0ae7adb93a1459d45b550aca1f04d15d636b2fac16dc423f2a94125dbf0489cb42b662d859d7da915a110adb2a61248f9728d8f1e273f
|
|
7
|
+
data.tar.gz: b3d7dae675807d99fe02c612eb25fc6d0627e4eb34af4da153c4e7c56b242b23589b0711e0ba15120be4afb1eb7c797716fdfdbb4c92776e43680a70dff28478
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
# [0.42.0](https://github.com/appydave/appydave-tools/compare/v0.41.0...v0.42.0) (2025-11-21)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* enhance DAM CLI with version flag, improved help system, and better error messages ([086ee99](https://github.com/appydave/appydave-tools/commit/086ee99dca632c797a2783880b5eb038f7a2d6ed))
|
|
7
|
+
|
|
8
|
+
# [0.41.0](https://github.com/appydave/appydave-tools/compare/v0.40.0...v0.41.0) (2025-11-21)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* improve DAM UX - better error messages, timestamps, and status display ([cba0cc7](https://github.com/appydave/appydave-tools/commit/cba0cc70851005a57331956df6b648c173bc0846))
|
|
14
|
+
|
|
1
15
|
# [0.40.0](https://github.com/appydave/appydave-tools/compare/v0.39.0...v0.40.0) (2025-11-21)
|
|
2
16
|
|
|
3
17
|
|
data/bin/dam
CHANGED
|
@@ -34,12 +34,29 @@ class VatCLI
|
|
|
34
34
|
}
|
|
35
35
|
end
|
|
36
36
|
|
|
37
|
+
# rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
|
37
38
|
def run
|
|
38
39
|
command, *args = ARGV
|
|
39
40
|
|
|
41
|
+
# Handle --version and -v flags
|
|
42
|
+
if ['--version', '-v'].include?(command)
|
|
43
|
+
puts "DAM (Digital Asset Management) v#{Appydave::Tools::VERSION}"
|
|
44
|
+
puts 'Part of appydave-tools gem'
|
|
45
|
+
exit
|
|
46
|
+
end
|
|
47
|
+
|
|
40
48
|
if command.nil?
|
|
41
49
|
puts 'DAM - Video Asset Tools'
|
|
50
|
+
puts "Version: #{Appydave::Tools::VERSION}"
|
|
51
|
+
puts ''
|
|
42
52
|
puts 'Usage: dam [command] [options]'
|
|
53
|
+
puts ''
|
|
54
|
+
puts 'Common commands:'
|
|
55
|
+
puts ' dam list # List all brands'
|
|
56
|
+
puts ' dam list <brand> # List projects for a brand'
|
|
57
|
+
puts ' dam status <brand> # Show brand status'
|
|
58
|
+
puts ' dam s3-up <brand> <project> # Upload to S3'
|
|
59
|
+
puts ''
|
|
43
60
|
puts "Run 'dam help' for more information."
|
|
44
61
|
exit
|
|
45
62
|
end
|
|
@@ -47,20 +64,31 @@ class VatCLI
|
|
|
47
64
|
if @commands.key?(command)
|
|
48
65
|
@commands[command].call(args)
|
|
49
66
|
else
|
|
50
|
-
puts "Unknown command: #{command}"
|
|
51
|
-
puts
|
|
67
|
+
puts "❌ Unknown command: #{command}"
|
|
68
|
+
puts ''
|
|
69
|
+
puts 'Available commands:'
|
|
70
|
+
puts ' list, status, manifest'
|
|
71
|
+
puts ' s3-up, s3-down, s3-status, s3-cleanup-remote, s3-cleanup-local'
|
|
72
|
+
puts ' archive, sync-ssd'
|
|
73
|
+
puts ' repo-status, repo-sync, repo-push'
|
|
74
|
+
puts ' s3-share, s3-discover, s3-scan'
|
|
75
|
+
puts ''
|
|
76
|
+
puts "Run 'dam help' for detailed information."
|
|
52
77
|
exit 1
|
|
53
78
|
end
|
|
54
79
|
end
|
|
80
|
+
# rubocop:enable Metrics/AbcSize, Metrics/MethodLength
|
|
55
81
|
|
|
56
82
|
private
|
|
57
83
|
|
|
58
84
|
# Show help information
|
|
59
|
-
# rubocop:disable Metrics/CyclomaticComplexity
|
|
85
|
+
# rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength
|
|
60
86
|
def help_command(args)
|
|
61
87
|
topic = args[0]
|
|
62
88
|
|
|
63
89
|
case topic
|
|
90
|
+
when 'help'
|
|
91
|
+
show_help_about_help
|
|
64
92
|
when 'brands'
|
|
65
93
|
show_brands_help
|
|
66
94
|
when 'workflows'
|
|
@@ -80,11 +108,24 @@ class VatCLI
|
|
|
80
108
|
puts "⚠️ '#{topic}' is deprecated. Use the new command name instead:\n\n"
|
|
81
109
|
new_name = topic == 's3-cleanup' ? 's3-cleanup-remote' : 's3-cleanup-local'
|
|
82
110
|
show_s3_help(new_name)
|
|
83
|
-
|
|
111
|
+
when nil
|
|
84
112
|
show_main_help
|
|
113
|
+
else
|
|
114
|
+
puts "❌ Unknown help topic: #{topic}"
|
|
115
|
+
puts ''
|
|
116
|
+
puts 'Available help topics:'
|
|
117
|
+
puts ' dam help brands # Brand shortcuts and configuration'
|
|
118
|
+
puts ' dam help workflows # FliVideo and Storyline workflows'
|
|
119
|
+
puts ' dam help config # Configuration setup'
|
|
120
|
+
puts ' dam help list # List command usage'
|
|
121
|
+
puts ' dam help s3-up # S3 upload command'
|
|
122
|
+
puts ' dam help s3-down # S3 download command'
|
|
123
|
+
puts ' dam help s3-status # S3 status command'
|
|
124
|
+
puts ''
|
|
125
|
+
puts "Run 'dam help' for general help."
|
|
85
126
|
end
|
|
86
127
|
end
|
|
87
|
-
# rubocop:enable Metrics/CyclomaticComplexity
|
|
128
|
+
# rubocop:enable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength
|
|
88
129
|
|
|
89
130
|
# List brands and projects
|
|
90
131
|
def list_command(args)
|
|
@@ -729,6 +770,39 @@ class VatCLI
|
|
|
729
770
|
HELP
|
|
730
771
|
end
|
|
731
772
|
|
|
773
|
+
def show_help_about_help
|
|
774
|
+
puts <<~HELP
|
|
775
|
+
DAM Help System
|
|
776
|
+
|
|
777
|
+
The DAM CLI provides contextual help for all commands and concepts.
|
|
778
|
+
|
|
779
|
+
Usage:
|
|
780
|
+
dam help Show general help (all commands)
|
|
781
|
+
dam help <topic> Show help for specific topic
|
|
782
|
+
|
|
783
|
+
Available Help Topics:
|
|
784
|
+
brands Brand shortcuts and naming (appydave, voz, aitldr, etc.)
|
|
785
|
+
workflows FliVideo vs Storyline workflows explained
|
|
786
|
+
config Configuration file setup and paths
|
|
787
|
+
list List command usage and pattern matching
|
|
788
|
+
s3-up S3 upload command details
|
|
789
|
+
s3-down S3 download command details
|
|
790
|
+
s3-status S3 sync status command details
|
|
791
|
+
|
|
792
|
+
Tips:
|
|
793
|
+
- Most commands support --dry-run to preview actions
|
|
794
|
+
- Brand shortcuts are case-insensitive (ad, AD, Ad all work)
|
|
795
|
+
- Use patterns like 'b6*' to match multiple projects
|
|
796
|
+
- Run 'dam --version' to check your installed version
|
|
797
|
+
|
|
798
|
+
Examples:
|
|
799
|
+
dam help brands # Learn about brand configuration
|
|
800
|
+
dam help workflows # Understand video workflows
|
|
801
|
+
dam help config # Setup configuration files
|
|
802
|
+
dam help s3-up # S3 upload command help
|
|
803
|
+
HELP
|
|
804
|
+
end
|
|
805
|
+
|
|
732
806
|
def show_brands_help
|
|
733
807
|
puts <<~HELP
|
|
734
808
|
Available Brands
|
|
@@ -61,6 +61,12 @@ module Appydave
|
|
|
61
61
|
|
|
62
62
|
if projects.empty?
|
|
63
63
|
puts "⚠️ No projects found for brand: #{brand}"
|
|
64
|
+
puts ''
|
|
65
|
+
puts ' This could mean:'
|
|
66
|
+
puts ' - The brand exists but has no project directories'
|
|
67
|
+
puts ' - The manifest needs updating'
|
|
68
|
+
puts ''
|
|
69
|
+
puts " Try: dam manifest #{brand_arg}"
|
|
64
70
|
return
|
|
65
71
|
end
|
|
66
72
|
|
|
@@ -105,6 +111,13 @@ module Appydave
|
|
|
105
111
|
|
|
106
112
|
if matches.empty?
|
|
107
113
|
puts "⚠️ No projects found matching pattern: #{pattern}"
|
|
114
|
+
puts ''
|
|
115
|
+
puts ' Pattern tips:'
|
|
116
|
+
puts ' - Use * for wildcards: b6* matches b60-b69'
|
|
117
|
+
puts ' - Use ? for single character: b6? matches b60-b69'
|
|
118
|
+
puts ' - Patterns are case-insensitive'
|
|
119
|
+
puts ''
|
|
120
|
+
puts " Try: dam list #{brand_arg} # See all projects"
|
|
108
121
|
return
|
|
109
122
|
end
|
|
110
123
|
|
|
@@ -123,7 +136,8 @@ module Appydave
|
|
|
123
136
|
end
|
|
124
137
|
|
|
125
138
|
# Print table header
|
|
126
|
-
|
|
139
|
+
match_count = matches.size
|
|
140
|
+
puts "#{match_count} project#{'s' if match_count != 1} matching '#{pattern}' in #{brand}:"
|
|
127
141
|
puts 'PROJECT SIZE LAST MODIFIED PATH'
|
|
128
142
|
puts '-' * 120
|
|
129
143
|
|
|
@@ -67,7 +67,10 @@ module Appydave
|
|
|
67
67
|
.map { |path| File.basename(path) }
|
|
68
68
|
.sort
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
if matches.empty?
|
|
71
|
+
raise "❌ No projects found matching pattern '#{pattern}'\n " \
|
|
72
|
+
"Try: dam list #{brand} # See all available projects"
|
|
73
|
+
end
|
|
71
74
|
|
|
72
75
|
matches
|
|
73
76
|
end
|
|
@@ -48,7 +48,11 @@ module Appydave
|
|
|
48
48
|
|
|
49
49
|
unless project_entry
|
|
50
50
|
puts '❌ Project not found in manifest'
|
|
51
|
-
puts
|
|
51
|
+
puts ''
|
|
52
|
+
puts ' This project exists locally but is not in the manifest.'
|
|
53
|
+
puts ''
|
|
54
|
+
puts " Try: dam manifest #{brand} # Regenerate manifest"
|
|
55
|
+
puts " Or: dam list #{brand} # See tracked projects"
|
|
52
56
|
return
|
|
53
57
|
end
|
|
54
58
|
|
data/package.json
CHANGED