imdb-terminal 2.1.1 → 2.1.2

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/bin/imdb +35 -35
  3. metadata +4 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8b26870720d0e55ae88bc797de5e902b24bca1deac0514c3c29058b90df31d08
4
- data.tar.gz: 39c9433b18a602fa2f7b16493ae94841896da14493b24256852c1bd70253a403
3
+ metadata.gz: 5d7e9adcd3577ec8cd80a68eca327ed8ff103ab6b13b75a1389f4b362fd01000
4
+ data.tar.gz: 0fb6d1b7aa42bc97fb1f321a8f0446f72eac441859cc6695451edf72038904bd
5
5
  SHA512:
6
- metadata.gz: 92396d67a67433e37f25fa135577f012f1259c88e7cc859f868eec153705a35cd138fb57aeb26132927d82b502d3ebf40dab9ae0ee6999a6fb0e951b71a2ed0c
7
- data.tar.gz: 556c17abd3c6e6b2b5aaebb6a5b1e179cb16374f82945ce2fa484185bebfb9eaf0a2329d892a9ed0cd3ee12987a22536e6dba767034a241feee07eda0d9af66f
6
+ metadata.gz: f561030faae9adcae4fd099f8197b8f5cc22334bbe860a1e436af2cb743fc2d86b0f04cefb992fc7a9f36bcc12fe9dafe3a4e1136c23d0a4db88e23fb233aa91
7
+ data.tar.gz: 722c944755fc5e1f14c5a63c4807dc26458457704f072a1aca106e83bede1593344af066bc92ca1fd81abb8df4d4075872e8a8c2a21e33f4c22cf99fbc383eeb
data/bin/imdb CHANGED
@@ -1297,32 +1297,32 @@ class IMDBApp
1297
1297
  end
1298
1298
 
1299
1299
  def build_general_help #{{{2
1300
- help_text = +"IMDb Top Movies & Series Browser - Help\n".b
1300
+ help_text = +"IMDb Top Movies & Series Browser - Help\n".bd
1301
1301
  help_text << "=" * (@help.w - 4) << "\n\n"
1302
1302
 
1303
- help_text << "NAVIGATION:\n".b
1303
+ help_text << "NAVIGATION:\n".bd
1304
1304
  help_text << " Tab Switch between panes (List/Genres/Wish/Dump)\n"
1305
1305
  help_text << " ↑/↓ Arrows Navigate within current pane\n"
1306
1306
  help_text << " PgUp/PgDn Page up/down in current pane\n"
1307
1307
  help_text << " Home/End Jump to first/last item\n\n"
1308
1308
 
1309
- help_text << "MAIN ACTIONS:\n".b
1309
+ help_text << "MAIN ACTIONS:\n".bd
1310
1310
  help_text << " + Add item to Wish List (or toggle + filter in Genres)\n"
1311
1311
  help_text << " - Add item to Dump List (or toggle - filter in Genres)\n"
1312
1312
  help_text << " ENTER Refresh screen\n"
1313
1313
  help_text << " q/Q Quit application\n\n"
1314
1314
 
1315
- help_text << "FILTERING:\n".b
1315
+ help_text << "FILTERING:\n".bd
1316
1316
  help_text << " r Set minimum rating threshold\n"
1317
1317
  help_text << " l Toggle between Movies and Series view\n"
1318
1318
  help_text << " o Toggle sort order (Rating/Alphabetical)\n"
1319
1319
  help_text << " y/Y Set year filters (min/max)\n\n"
1320
1320
 
1321
- help_text << "TMDB SETTINGS:\n".b
1321
+ help_text << "TMDB SETTINGS:\n".bd
1322
1322
  help_text << " k Set TMDb API key\n"
1323
1323
  help_text << " R Select region for streaming providers\n\n"
1324
1324
 
1325
- help_text << "DATA MANAGEMENT:\n".b
1325
+ help_text << "DATA MANAGEMENT:\n".bd
1326
1326
  help_text << " I Full fetch (scrape and download all)\n"
1327
1327
  help_text << " i Refresh cache (incremental update)\n"
1328
1328
  help_text << " f Re-fetch current item details\n"
@@ -1331,24 +1331,24 @@ class IMDBApp
1331
1331
  help_text << " D Remove duplicate entries\n"
1332
1332
  help_text << " / Search IMDb\n\n"
1333
1333
 
1334
- help_text << "HELP:\n".b
1334
+ help_text << "HELP:\n".bd
1335
1335
  help_text << " ? Show this help (press again to cycle modes)\n"
1336
1336
  help_text << " ESC/ENTER Close help window\n\n"
1337
1337
 
1338
- help_text << "GENRE FILTERING:\n".b
1338
+ help_text << "GENRE FILTERING:\n".bd
1339
1339
  help_text << " When in Genres pane:\n"
1340
1340
  help_text << " + Include genre (green +)\n"
1341
1341
  help_text << " - Exclude genre (red -)\n"
1342
1342
  help_text << " Space Clear genre filter\n\n"
1343
1343
 
1344
- help_text << "PANE DESCRIPTIONS:\n".b
1344
+ help_text << "PANE DESCRIPTIONS:\n".bd
1345
1345
  help_text << " List Main movie/series list (filtered results)\n"
1346
1346
  help_text << " Genres Available genres with +/- filters\n"
1347
1347
  help_text << " Wish List Items you want to watch\n"
1348
1348
  help_text << " Dump List Items you want to hide\n"
1349
1349
  help_text << " Detail Information about selected item\n\n"
1350
1350
 
1351
- help_text << "TIPS:\n".b.fg(230)
1351
+ help_text << "TIPS:\n".bd.fg(230)
1352
1352
  help_text << " • Use genre filters to find specific types of content\n".fg(230)
1353
1353
  help_text << " • Dump list removes items from main view permanently\n".fg(230)
1354
1354
  help_text << " • TMDb provides streaming provider information\n".fg(230)
@@ -1363,7 +1363,7 @@ class IMDBApp
1363
1363
 
1364
1364
  def build_search_help(results, query) #{{{2
1365
1365
  # Build fixed header (like @wish pane does)
1366
- header = +"IMDb Search Results for: #{query}\n".b
1366
+ header = +"IMDb Search Results for: #{query}\n".bd
1367
1367
  header << "TAB/S-TAB=Select ENTER=Preview ESC=Cancel /=New\n".fg(248)
1368
1368
  header << "─" * @help.w << "\n" # Full width
1369
1369
 
@@ -1417,14 +1417,14 @@ class IMDBApp
1417
1417
 
1418
1418
  def build_preview_help(item) #{{{2
1419
1419
  # Header with navigation
1420
- help_text = +"Preview: #{item[:title] || 'Loading...'}\n".b
1420
+ help_text = +"Preview: #{item[:title] || 'Loading...'}\n".bd
1421
1421
  help_text << "ENTER=Add to Library ESC=Back to Search\n".fg(248)
1422
1422
  help_text << "─" * @help.w << "\n" # Full width
1423
1423
 
1424
1424
  if @preview_details
1425
1425
  d = @preview_details
1426
1426
  help_text << "\n"
1427
- help_text << "Rating: #{d[:rating]} (#{d[:votes] || 0} votes)\n".b
1427
+ help_text << "Rating: #{d[:rating]} (#{d[:votes] || 0} votes)\n".bd
1428
1428
  help_text << "Type: #{d[:type] || item[:type]}\n"
1429
1429
  help_text << "Released: #{d[:release_date] || d[:start_date]}\n"
1430
1430
  help_text << "Runtime: #{d[:duration]}\n" unless d[:duration].to_s.empty?
@@ -1442,11 +1442,11 @@ class IMDBApp
1442
1442
  if @tmdb_key && !@tmdb_key.strip.empty?
1443
1443
  providers = Array(d[:providers])
1444
1444
  where_text = providers.empty? ? "(not available in #{@tmdb_region})" : providers.join(', ')
1445
- help_text << "\nStreaming: #{where_text}\n".i
1446
- help_text << "Popularity: #{sprintf('%.1f', d[:popularity] || 0)}\n".i
1445
+ help_text << "\nStreaming: #{where_text}\n".it
1446
+ help_text << "Popularity: #{sprintf('%.1f', d[:popularity] || 0)}\n".it
1447
1447
  end
1448
1448
 
1449
- help_text << "\nSummary:\n".b
1449
+ help_text << "\nSummary:\n".bd
1450
1450
  help_text << "#{d[:summary] || 'No summary available.'}\n".fg(230)
1451
1451
  else
1452
1452
  help_text << "\nFetching detailed information...\n".fg(248)
@@ -1457,10 +1457,10 @@ class IMDBApp
1457
1457
  end
1458
1458
 
1459
1459
  def build_regions_help #{{{2
1460
- help_text = +"TMDb Streaming Provider Regions\n".b
1460
+ help_text = +"TMDb Streaming Provider Regions\n".bd
1461
1461
  help_text << "=" * (@help.w - 4) << "\n\n"
1462
1462
 
1463
- help_text << "POPULAR REGIONS:\n".b
1463
+ help_text << "POPULAR REGIONS:\n".bd
1464
1464
  popular_regions = [
1465
1465
  ['US', 'United States'], ['GB', 'United Kingdom'], ['CA', 'Canada'],
1466
1466
  ['AU', 'Australia'], ['DE', 'Germany'], ['FR', 'France'],
@@ -1474,7 +1474,7 @@ class IMDBApp
1474
1474
  help_text << " #{code.ljust(3)} #{name}\n"
1475
1475
  end
1476
1476
 
1477
- help_text << "\nEUROPE:\n".b
1477
+ help_text << "\nEUROPE:\n".bd
1478
1478
  europe = [
1479
1479
  ['AT', 'Austria'], ['BE', 'Belgium'], ['CH', 'Switzerland'],
1480
1480
  ['CZ', 'Czech Republic'], ['FI', 'Finland'], ['GR', 'Greece'],
@@ -1486,7 +1486,7 @@ class IMDBApp
1486
1486
  help_text << " #{code.ljust(3)} #{name}\n"
1487
1487
  end
1488
1488
 
1489
- help_text << "\nASIA-PACIFIC:\n".b
1489
+ help_text << "\nASIA-PACIFIC:\n".bd
1490
1490
  asia_pacific = [
1491
1491
  ['SG', 'Singapore'], ['MY', 'Malaysia'], ['TH', 'Thailand'],
1492
1492
  ['ID', 'Indonesia'], ['PH', 'Philippines'], ['TW', 'Taiwan'],
@@ -1497,7 +1497,7 @@ class IMDBApp
1497
1497
  help_text << " #{code.ljust(3)} #{name}\n"
1498
1498
  end
1499
1499
 
1500
- help_text << "\nAMERICAS:\n".b
1500
+ help_text << "\nAMERICAS:\n".bd
1501
1501
  americas = [
1502
1502
  ['AR', 'Argentina'], ['CL', 'Chile'], ['CO', 'Colombia'],
1503
1503
  ['PE', 'Peru'], ['UY', 'Uruguay'], ['VE', 'Venezuela']
@@ -1507,13 +1507,13 @@ class IMDBApp
1507
1507
  help_text << " #{code.ljust(3)} #{name}\n"
1508
1508
  end
1509
1509
 
1510
- help_text << "\nUSAGE:\n".b
1510
+ help_text << "\nUSAGE:\n".bd
1511
1511
  help_text << " 1. Press 'R' to change region\n"
1512
1512
  help_text << " 2. Enter a 2-letter country code\n"
1513
1513
  help_text << " 3. Or press '?' to see this list\n"
1514
1514
  help_text << " 4. Press Enter to confirm\n\n"
1515
1515
 
1516
- help_text << "NOTE:\n".b.fg(230)
1516
+ help_text << "NOTE:\n".bd.fg(230)
1517
1517
  help_text << " Different regions have different streaming services.\n".fg(230)
1518
1518
  help_text << " Some content may not be available in all regions.\n".fg(230)
1519
1519
 
@@ -1547,7 +1547,7 @@ class IMDBApp
1547
1547
  return unless @help_mode == :search
1548
1548
 
1549
1549
  # Rebuild complete text with fixed header + scrolled content
1550
- header = +"IMDb Search Results for: #{@search_query}\n".b
1550
+ header = +"IMDb Search Results for: #{@search_query}\n".bd
1551
1551
  header << "TAB/S-TAB=Select ENTER=Preview ESC=Cancel /=New\n".fg(248)
1552
1552
  header << "─" * @help.w << "\n" # Full width
1553
1553
 
@@ -1680,7 +1680,7 @@ class IMDBApp
1680
1680
  fg = (mark == 1 ? 2 : mark == -1 ? 1 : @genres.fg)
1681
1681
  line = "#{prefix} #{genre}"[0, @genres.w]
1682
1682
  if i == @genres.index
1683
- line[2..] = line[2..].u
1683
+ line[2..] = line[2..].ul
1684
1684
  end
1685
1685
  @genres.text << line.fg(fg) << "\n"
1686
1686
  end
@@ -1705,7 +1705,7 @@ class IMDBApp
1705
1705
  end
1706
1706
 
1707
1707
  header = "#{type_name} Wish List"
1708
- @wish.text = header.b + "\n" + lines.join("\n")
1708
+ @wish.text = header.bd + "\n" + lines.join("\n")
1709
1709
 
1710
1710
  h = @wish.h - 1
1711
1711
  top = @wish.index - h/2
@@ -1728,7 +1728,7 @@ class IMDBApp
1728
1728
  end
1729
1729
 
1730
1730
  header = "#{type_name} Discard List"
1731
- @dump.text = header.b + "\n" + lines.join("\n")
1731
+ @dump.text = header.bd + "\n" + lines.join("\n")
1732
1732
 
1733
1733
  h = @dump.h - 1
1734
1734
  top = @dump.index - h/2
@@ -1788,7 +1788,7 @@ class IMDBApp
1788
1788
  end
1789
1789
 
1790
1790
  pop = (d[:popularity] || 0.0).to_f
1791
- buf = +"Title: #{entry[:title]} (#{id})\n".b
1791
+ buf = +"Title: #{entry[:title]} (#{id})\n".bd
1792
1792
  buf << "Rating: #{entry[:rating]} (#{d[:votes] || 0} votes)\n"
1793
1793
  buf << "Released: #{d[:release_date]} Country: #{d[:country] || ''}\n"
1794
1794
  buf << "Genres: #{(d[:genres]||[]).join(', ')}\n"
@@ -1800,21 +1800,21 @@ class IMDBApp
1800
1800
  buf << "\n#{d[:summary] || ''}\n\n".fg(230)
1801
1801
 
1802
1802
  if @tmdb_key && !@tmdb_key.strip.empty?
1803
- buf << "Streaming in #{@tmdb_region} (TMDb)\n".b.i
1804
- buf << "Where: #{where_text}\n".i
1805
- buf << format("Popularity: %.1f\n", pop).i
1803
+ buf << "Streaming in #{@tmdb_region} (TMDb)\n".bd.it
1804
+ buf << "Where: #{where_text}\n".it
1805
+ buf << format("Popularity: %.1f\n", pop).it
1806
1806
 
1807
1807
  # Show helpful hint for network issues
1808
1808
  if d[:error] == :timeout || d[:error] == :fetch_error
1809
- buf << "(Try 'i' to refresh cache)\n".fg(130).i
1809
+ buf << "(Try 'i' to refresh cache)\n".fg(130).it
1810
1810
  end
1811
1811
  else
1812
- buf << "TMDb Data (no API key)\n".b.i
1813
- buf << "Set TMDb key with 'k' for streaming info\n".i
1812
+ buf << "TMDb Data (no API key)\n".bd.it
1813
+ buf << "Set TMDb key with 'k' for streaming info\n".it
1814
1814
  end
1815
1815
 
1816
1816
  if d[:type] == 'TVSeries'
1817
- buf << "Seasons/Ep: #{d[:seasons] || 0}/#{d[:episodes] || 0}\n".i
1817
+ buf << "Seasons/Ep: #{d[:seasons] || 0}/#{d[:episodes] || 0}\n".it
1818
1818
  end
1819
1819
  @detail.text = buf
1820
1820
  else
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: imdb-terminal
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 2.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geir Isene
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-03-21 00:00:00.000000000 Z
11
+ date: 2026-04-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rcurses
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '6.0'
19
+ version: '7.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '6.0'
26
+ version: '7.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: termpix
29
29
  requirement: !ruby/object:Gem::Requirement