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.
- checksums.yaml +4 -4
- data/bin/imdb +35 -35
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5d7e9adcd3577ec8cd80a68eca327ed8ff103ab6b13b75a1389f4b362fd01000
|
|
4
|
+
data.tar.gz: 0fb6d1b7aa42bc97fb1f321a8f0446f72eac441859cc6695451edf72038904bd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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".
|
|
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".
|
|
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".
|
|
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".
|
|
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".
|
|
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".
|
|
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".
|
|
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".
|
|
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".
|
|
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".
|
|
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".
|
|
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".
|
|
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".
|
|
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".
|
|
1446
|
-
help_text << "Popularity: #{sprintf('%.1f', d[:popularity] || 0)}\n".
|
|
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".
|
|
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".
|
|
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".
|
|
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".
|
|
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".
|
|
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".
|
|
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".
|
|
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".
|
|
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".
|
|
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..].
|
|
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.
|
|
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.
|
|
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".
|
|
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".
|
|
1804
|
-
buf << "Where: #{where_text}\n".
|
|
1805
|
-
buf << format("Popularity: %.1f\n", pop).
|
|
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).
|
|
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".
|
|
1813
|
-
buf << "Set TMDb key with 'k' for streaming info\n".
|
|
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".
|
|
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.
|
|
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-
|
|
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: '
|
|
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: '
|
|
26
|
+
version: '7.0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: termpix
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|