appydave-tools 0.51.0 → 0.53.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dffbf2178705074953fbf681847a590f97b3919fe9e09cbec61cf41dcf241c60
4
- data.tar.gz: 17717033109f3968c2300257dd8859aa392f68c855796728f80ea4849313707e
3
+ metadata.gz: d6ee9f93f96b463691306934cb326aaa0f5852a68814ca292dea7ef6043d1aa9
4
+ data.tar.gz: 2f7be8b118a201275b87d049d0f5131ccf1c59043b95a7e1170a155dc8603660
5
5
  SHA512:
6
- metadata.gz: 212b3075740e64986ecb5fff26807adff660497b9628d53acd6c5b9b85e2b70c3b28d2b15e8ad748e3d572172c04e4438e2d9887a8efd8e66135986f67fa3db0
7
- data.tar.gz: 9df9ee31ffe287405d81d7b6a77b7f81fd31009957880b9fe1dbf53fc2e9bd095f36d2fed6f98535e4e212064a4c806da8c2ddd714670b22ace2d828a2f35cbf
6
+ metadata.gz: 77f7a873ddc79add9dbbb84b1b6203a0daa6cb4af296a3154676fe0900cc39adc5fdf3b9cd3d614d0580f1768cc7f09bf55db4a7465e57159d3a255d0736362d
7
+ data.tar.gz: a4813162d14a93d66205df3a03b3abcf6759657ae7cf0de83f778200959fe106c32b32b96ee4e81a747f0dc6d7e983cec0a1db61d572e25d11bad822eb2092dc
data/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ # [0.52.0](https://github.com/appydave/appydave-tools/compare/v0.51.0...v0.52.0) (2025-11-21)
2
+
3
+
4
+ ### Features
5
+
6
+ * add --verbose flag to manifest command to show detailed validation warnings ([00ed288](https://github.com/appydave/appydave-tools/commit/00ed288ae36462d87c16568c4f9ee73ad8b6fd2c))
7
+
8
+ # [0.51.0](https://github.com/appydave/appydave-tools/compare/v0.50.0...v0.51.0) (2025-11-21)
9
+
10
+
11
+ ### Features
12
+
13
+ * add total summary footer to brand list showing total brands, projects, and disk usage ([83e4189](https://github.com/appydave/appydave-tools/commit/83e418992146029d55c2d8cdcbd1daa6cb6fb34f))
14
+
1
15
  # [0.50.0](https://github.com/appydave/appydave-tools/compare/v0.49.0...v0.50.0) (2025-11-21)
2
16
 
3
17
 
data/bin/dam CHANGED
@@ -236,13 +236,14 @@ class VatCLI
236
236
  # Generate manifest
237
237
  def manifest_command(args)
238
238
  all_brands = args.include?('--all')
239
+ verbose = args.include?('--verbose')
239
240
  args = args.reject { |arg| arg.start_with?('--') }
240
241
  brand_arg = args[0]
241
242
 
242
243
  if all_brands
243
- generate_all_manifests
244
+ generate_all_manifests(verbose: verbose)
244
245
  elsif brand_arg
245
- generate_single_manifest(brand_arg)
246
+ generate_single_manifest(brand_arg, verbose: verbose)
246
247
  else
247
248
  show_manifest_usage
248
249
  end
@@ -251,7 +252,7 @@ class VatCLI
251
252
  exit 1
252
253
  end
253
254
 
254
- def generate_all_manifests
255
+ def generate_all_manifests(verbose: false)
255
256
  Appydave::Tools::Configuration::Config.configure
256
257
  brands_config = Appydave::Tools::Configuration::Config.brands
257
258
 
@@ -262,26 +263,27 @@ class VatCLI
262
263
  puts '=' * 60
263
264
 
264
265
  generator = Appydave::Tools::Dam::ManifestGenerator.new(brand_key)
265
- result = generator.generate
266
+ result = generator.generate(verbose: verbose)
266
267
  results << result if result
267
268
  end
268
269
 
269
270
  display_manifest_summary(results)
270
271
  end
271
272
 
272
- def generate_single_manifest(brand_arg)
273
+ def generate_single_manifest(brand_arg, verbose: false)
273
274
  Appydave::Tools::Dam::Config.expand_brand(brand_arg)
274
275
  ENV['BRAND_PATH'] = Appydave::Tools::Dam::Config.brand_path(brand_arg)
275
276
 
276
277
  generator = Appydave::Tools::Dam::ManifestGenerator.new(brand_arg)
277
- generator.generate
278
+ generator.generate(verbose: verbose)
278
279
  end
279
280
 
280
281
  def show_manifest_usage
281
- puts 'Usage: dam manifest <brand> [--all]'
282
+ puts 'Usage: dam manifest <brand> [--all] [--verbose]'
282
283
  puts ''
283
284
  puts 'Examples:'
284
285
  puts ' dam manifest appydave # Generate manifest for AppyDave brand'
286
+ puts ' dam manifest appydave --verbose # Show detailed validation warnings'
285
287
  puts ' dam manifest --all # Generate manifests for all brands'
286
288
  exit 1
287
289
  end
@@ -18,7 +18,7 @@ module Appydave
18
18
 
19
19
  # Generate manifest for this brand
20
20
  # @return [Hash] Result with :success, :path, and :brand keys
21
- def generate(output_file: nil)
21
+ def generate(output_file: nil, verbose: false)
22
22
  output_file ||= File.join(brand_path, 'projects.json')
23
23
  ssd_backup = brand_info.locations.ssd_backup
24
24
 
@@ -65,7 +65,7 @@ module Appydave
65
65
  show_summary(projects, disk_usage)
66
66
 
67
67
  # Validations
68
- run_validations(projects)
68
+ run_validations(projects, verbose: verbose)
69
69
 
70
70
  # Next steps
71
71
  puts ''
@@ -267,7 +267,7 @@ module Appydave
267
267
  puts ''
268
268
  end
269
269
 
270
- def run_validations(projects)
270
+ def run_validations(projects, verbose: false)
271
271
  puts '🔍 Running validations...'
272
272
  warnings = []
273
273
 
@@ -279,9 +279,12 @@ module Appydave
279
279
 
280
280
  if warnings.empty?
281
281
  puts '✅ All validations passed!'
282
- else
282
+ elsif verbose
283
283
  puts "#{warnings.size} warning(s) found:"
284
284
  warnings.each { |w| puts " #{w}" }
285
+ else
286
+ puts "âš ī¸ #{warnings.size} validation warning#{'s' if warnings.size != 1} found"
287
+ puts " Run 'dam manifest #{brand} --verbose' to see details"
285
288
  end
286
289
  end
287
290
 
@@ -260,6 +260,19 @@ module Appydave
260
260
  project_dir = project_directory_path
261
261
  staging_dir = File.join(project_dir, 's3-staging')
262
262
 
263
+ # Check if project directory exists
264
+ unless Dir.exist?(project_dir)
265
+ puts "❌ Project not found: #{brand}/#{project_id}"
266
+ puts ''
267
+ puts ' This project does not exist locally.'
268
+ puts ' Possible causes:'
269
+ puts ' - Project name might be misspelled'
270
+ puts ' - Project may not exist in this brand'
271
+ puts ''
272
+ puts " Try: dam list #{brand} # See all projects for this brand"
273
+ return
274
+ end
275
+
263
276
  s3_files = list_s3_files
264
277
  local_files = list_local_files(staging_dir)
265
278
 
@@ -270,9 +283,13 @@ module Appydave
270
283
  end
271
284
 
272
285
  if s3_files.empty? && local_files.empty?
273
- puts "❌ No files found in S3 or locally for #{brand}/#{project_id}"
274
- puts ' This project has no heavy files in s3-staging/ or S3.'
275
- puts " Tip: Add files to #{File.basename(staging_dir)}/ folder, then run: dam s3-up"
286
+ puts "â„šī¸ No files in S3 or s3-staging/ for #{brand}/#{project_id}"
287
+ puts ''
288
+ puts ' This project exists but has no heavy files ready for S3 sync.'
289
+ puts ''
290
+ puts ' Next steps:'
291
+ puts " 1. Add video files to: #{staging_dir}/"
292
+ puts " 2. Upload to S3: dam s3-up #{brand} #{project_id}"
276
293
  return
277
294
  end
278
295
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Appydave
4
4
  module Tools
5
- VERSION = '0.51.0'
5
+ VERSION = '0.53.0'
6
6
  end
7
7
  end
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appydave-tools",
3
- "version": "0.51.0",
3
+ "version": "0.53.0",
4
4
  "description": "AppyDave YouTube Automation Tools",
5
5
  "scripts": {
6
6
  "release": "semantic-release"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appydave-tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.51.0
4
+ version: 0.53.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Cruwys