appydave-tools 0.34.1 → 0.35.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: 21d326bbe0f9c09a524773b3dbc83fb9e6e337642262e4168ce220f39fd2f4a5
4
- data.tar.gz: fee26064c4c28c05f63ae5143b98d19f875947f5bf08b5916d24346ab204ba92
3
+ metadata.gz: 3127d2d39627f11abec8d246a4c9e44db67eb2328d5eaca5ac2ee0322e3ea510
4
+ data.tar.gz: 051cc015da88ada5cb9c7806bda877a1f9a18eaed15731558f6616b17b214c2b
5
5
  SHA512:
6
- metadata.gz: 6705b5f5acf0f21078a8250b63b6fe6236ace4148beb3dd26f0af0f423e0f2d260f6f7cb3c0ba6715295ac5e6a53b408343241dd7ea0c3dc15fc85d4675a6e5a
7
- data.tar.gz: abb73404e467b4ead3c886ad7e43b2b4a3e0e9e029551d599cca2e13805f6565cffcc51eaecd440086f97846932e018e337d971bab74bac6122e83303d6f686a
6
+ metadata.gz: 1f93c82c13fedcb6d1c7dd53c128ba5d3cfa70394def7826df90bf4f4ebda03585d9bfed91b9dfa25b4548c173c3f8b9802f2d306018ef6892f6b69dfe7616e5
7
+ data.tar.gz: 2c7c30f3a3e9f4b4a6681c2c57911f6d571e804016a05c37d3d5873ec7b15879bb10c8cdbd5cd0b02eafb416e5cf620b738f3fa988212743bb569b6939dca97d
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [0.34.1](https://github.com/appydave/appydave-tools/compare/v0.34.0...v0.34.1) (2025-11-21)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * add nil project validation to prevent cryptic include? error when project argument is missing ([a205319](https://github.com/appydave/appydave-tools/commit/a2053192fb1533f96db4e990945836f71ceb7c9e))
7
+
1
8
  # [0.34.0](https://github.com/appydave/appydave-tools/compare/v0.33.0...v0.34.0) (2025-11-21)
2
9
 
3
10
 
data/bin/dam CHANGED
@@ -515,25 +515,68 @@ class VatCLI
515
515
  true
516
516
  end
517
517
 
518
+ # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
518
519
  def display_s3_files(files, brand_key, project_id, shareable)
520
+ brand_display = Appydave::Tools::Dam::Config.expand_brand(brand_key)
521
+
519
522
  puts ''
520
- puts "📁 Files in S3: #{brand_key}/#{project_id}"
523
+ puts "🔍 S3 Discovery: #{brand_display}/#{project_id}"
521
524
  puts ''
522
525
 
526
+ if shareable
527
+ # Legacy --shareable mode: just list share commands
528
+ files.each do |file_info|
529
+ s3_key = file_info['Key']
530
+ filename = File.basename(s3_key)
531
+ puts "dam s3-share #{brand_key} #{project_id} #{filename}"
532
+ end
533
+ puts ''
534
+ return
535
+ end
536
+
537
+ # Table format
538
+ puts 'FILES SIZE LAST MODIFIED'
539
+ puts '-' * 72
540
+
541
+ total_bytes = 0
523
542
  files.each do |file_info|
524
- # list_s3_files returns array of hashes with 'Key', 'Size', 'ETag'
525
543
  s3_key = file_info['Key']
526
544
  filename = File.basename(s3_key)
545
+ size = file_info['Size']
546
+ last_modified = file_info['LastModified']
527
547
 
528
- if shareable
529
- puts "dam s3-share #{brand_key} #{project_id} #{filename}"
530
- else
531
- puts filename
532
- end
548
+ total_bytes += size
549
+
550
+ # Format columns
551
+ file_col = filename.ljust(40)
552
+ size_col = format_bytes(size).rjust(10)
553
+ date_col = last_modified ? last_modified.strftime('%Y-%m-%d %H:%M') : 'N/A'.ljust(16)
554
+
555
+ puts "#{file_col} #{size_col} #{date_col}"
556
+ end
557
+
558
+ puts '-' * 72
559
+ puts "Total: #{files.size} #{files.size == 1 ? 'file' : 'files'}, #{format_bytes(total_bytes)}"
560
+
561
+ # Quick actions section
562
+ puts ''
563
+ puts '📋 Quick Actions:'
564
+
565
+ # Share first file (most likely the video)
566
+ if files.any?
567
+ first_file = File.basename(files.first['Key'])
568
+ puts " dam s3-share #{brand_key} #{project_id} #{first_file} # Share first file (7-day link)"
533
569
  end
534
570
 
571
+ # Download all files
572
+ puts " dam s3-down #{brand_key} #{project_id} # Download all files"
573
+
574
+ # Cleanup preview
575
+ puts " dam s3-cleanup-remote #{brand_key} #{project_id} --dry-run # Preview cleanup"
576
+
535
577
  puts ''
536
578
  end
579
+ # rubocop:enable Metrics/MethodLength, Metrics/AbcSize
537
580
 
538
581
  # Help text methods
539
582
  # rubocop:disable Metrics/MethodLength
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Appydave
4
4
  module Tools
5
- VERSION = '0.34.1'
5
+ VERSION = '0.35.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.34.1",
3
+ "version": "0.35.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.34.1
4
+ version: 0.35.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Cruwys