imdb-terminal 0.1 → 0.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/README.md +17 -19
- data/bin/imdb +31 -41
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f8347c47ad3e34bb786894d6a997d63b4476c618fbe5384dbcddb9fb528f742b
|
4
|
+
data.tar.gz: 91459db3845e5335bcc4736cc9c517b7261ae209a315a23f975b5c036c70062e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4144094e4f95160f6c61f3add759f5bcbdbcd3df023c82d65a9337a9b299e225b3d69ff68db345cb4fbe8493d080d73f1771efcd68ad83eef6e407c2d415d983
|
7
|
+
data.tar.gz: 4ab879585b58294d0b6ec12dda210de5de81f9a5f3290603d8e4389dcf0a171d6729a125793dda67369a0951354ac220e4e425a4b51f5eaf0de031af8b8ce881
|
data/README.md
CHANGED
@@ -2,7 +2,6 @@
|
|
2
2
|
 [](https://badge.fury.io/rb/imdb-terminal)  
|
3
3
|
|
4
4
|
# IMDB for the terminal
|
5
|
-
|
6
5
|
Finding the right moviie to watch or series to binge can be time consuming. My
|
7
6
|
girlfriend asked if I could create an application that would cut down the time
|
8
7
|
spent on searching in favor of time spent watching and cuddling. Meet
|
@@ -34,24 +33,23 @@ The screenshot gives you an overview of the layout of the panes:
|
|
34
33
|

|
35
34
|
|
36
35
|
# Keymap
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
q or Q | Quit w/saving config or w/o saving config
|
36
|
+
Keys | Function
|
37
|
+
-------------|--------------------
|
38
|
+
TAB or S-TAB | Cycle panes (active is gray) or backwards
|
39
|
+
Arrow keys | UP, DOWN, PgUP, PgDOWN, HOME, END in lists
|
40
|
+
\+ or - | Depends on pane (intuitive)
|
41
|
+
I | Load fresh IMDB data (be patient)
|
42
|
+
m or s | Show MOVIES or SERIES
|
43
|
+
r | Select MINimum IMDB rating (in bottom line)
|
44
|
+
y or Y | Select MINimum or MAXimum production year
|
45
|
+
/ or \\ | Enter or clear search for movie/series title
|
46
|
+
G | Set genres to match every movie/series
|
47
|
+
d | Get details on selected movie/series
|
48
|
+
D | Show where you can stream the movie/series
|
49
|
+
R | Refresh all panes
|
50
|
+
v | Show version (and latest RybyGems version)
|
51
|
+
w or W | Write changes to config or save IMDB data
|
52
|
+
q or Q | Quit w/saving config or w/o saving config
|
55
53
|
|
56
54
|
# Suggestions and improvements
|
57
55
|
If you have any suggestions for improvement or cool features, create an issue
|
data/bin/imdb
CHANGED
@@ -14,28 +14,29 @@
|
|
14
14
|
# for any damages resulting from its use. Further, I am under no
|
15
15
|
# obligation to maintain or extend this software. It is provided
|
16
16
|
# on an 'as is' basis without any expressed or implied warranty.
|
17
|
+
@version = "0.2"
|
17
18
|
|
18
19
|
# PRELIMINARIES
|
19
20
|
@help = <<HELPTEXT
|
20
21
|
IMDB-term (https://github.com/isene/IMDB) Help text:
|
21
22
|
|
22
|
-
Keys
|
23
|
-
|
24
|
-
TAB
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
w or W
|
38
|
-
q or Q
|
23
|
+
Keys | Function
|
24
|
+
-------------+--------------------
|
25
|
+
TAB or S-TAB | Cycle panes (active is gray) or backwards
|
26
|
+
Arrow keys | UP, DOWN, PgUP, PgDOWN, HOME, END in lists
|
27
|
+
+ or - | Depends on pane (intuitive)
|
28
|
+
I | Load fresh IMDB data (be patient)
|
29
|
+
m or s | Show MOVIES or SERIES
|
30
|
+
r | Select MINimum IMDB rating (in bottom line)
|
31
|
+
y or Y | Select MINimum or MAXimum production year
|
32
|
+
/ or \\ | Enter or clear search for movie/series title
|
33
|
+
G | Set genres to match every movie/series
|
34
|
+
d | Get details on selected movie/series
|
35
|
+
D | Show where you can stream the movie/series
|
36
|
+
R | Refresh all panes
|
37
|
+
v | Show version (and latest RybyGems version)
|
38
|
+
w or W | Write changes to config or save IMDB data
|
39
|
+
q or Q | Quit w/saving config or w/o saving config
|
39
40
|
HELPTEXT
|
40
41
|
begin # BASIC SETUP
|
41
42
|
require 'net/http'
|
@@ -331,6 +332,8 @@ def getkey # GET KEY FROM USER
|
|
331
332
|
w_b("Error: #{e.inspect}")
|
332
333
|
end
|
333
334
|
@w_b.update = false
|
335
|
+
when 'v'
|
336
|
+
w_b("Version = #{@version} (latest RubyGems version is #{Gem.latest_version_for("imdb-terminal").version} - https://github.com/isene/IMDB)")
|
334
337
|
when 'w'
|
335
338
|
saveconf
|
336
339
|
when 'W'
|
@@ -594,7 +597,13 @@ def w_d(ext = 0) # SHOW INFO IN @w_d and @w_p
|
|
594
597
|
# Display the poster
|
595
598
|
poster = det["Poster"]
|
596
599
|
`curl -s "#{poster}" > /tmp/imdb.jpg`
|
597
|
-
|
600
|
+
imageshow("/tmp/imdb.jpg")
|
601
|
+
return unless ext > 1 # Skip if no outlets are to be displayed
|
602
|
+
otl.each{|o| outlets += "#{o} "}
|
603
|
+
@w_d.text += "Outlets: " + outlets
|
604
|
+
@w_d.write
|
605
|
+
end
|
606
|
+
def imageshow(image)
|
598
607
|
begin
|
599
608
|
terminfo = `xwininfo -id $(xdotool getactivewindow)`
|
600
609
|
term_w = terminfo.match(/Width: (\d+)/)[1].to_i
|
@@ -603,10 +612,11 @@ def w_d(ext = 0) # SHOW INFO IN @w_d and @w_p
|
|
603
612
|
char_h = term_h / Curses.lines
|
604
613
|
img_x = char_w * 105
|
605
614
|
img_y = char_h * (Curses.lines / 2 + 2)
|
606
|
-
img_max_w = char_w * (Curses.cols -
|
615
|
+
img_max_w = char_w * (Curses.cols - (Curses.cols - 104) - 2)
|
607
616
|
img_max_h = char_h * (@w_d.maxy - 2)
|
608
617
|
# Clear previous images
|
609
618
|
`echo "6;#{img_x};#{img_y};#{img_max_w+2};#{img_max_h+2};\n4;\n3;" | #{@w3mimgdisplay} 2>/dev/null`
|
619
|
+
return if image == ""
|
610
620
|
img_w,img_h = `identify -format "%[fx:w]x%[fx:h]" #{image} 2>/dev/null`.split('x')
|
611
621
|
img_w = img_w.to_i
|
612
622
|
img_h = img_h.to_i
|
@@ -622,26 +632,6 @@ def w_d(ext = 0) # SHOW INFO IN @w_d and @w_p
|
|
622
632
|
rescue
|
623
633
|
w_b("Error showing image")
|
624
634
|
end
|
625
|
-
return unless ext > 1 # Skip if no outlets are to be displayed
|
626
|
-
otl.each{|o| outlets += "#{o} "}
|
627
|
-
@w_d.text += "Outlets: " + outlets
|
628
|
-
@w_d.write
|
629
|
-
end
|
630
|
-
def imageclear
|
631
|
-
begin
|
632
|
-
terminfo = `xwininfo -id $(xdotool getactivewindow)`
|
633
|
-
term_w = terminfo.match(/Width: (\d+)/)[1].to_i
|
634
|
-
term_h = terminfo.match(/Height: (\d+)/)[1].to_i
|
635
|
-
char_w = term_w / Curses.cols
|
636
|
-
char_h = term_h / Curses.lines
|
637
|
-
img_x = char_w * 105
|
638
|
-
img_y = char_h * (Curses.lines / 2 + 2)
|
639
|
-
img_max_w = char_w * (Curses.cols - (Curses.cols - 104) - 2)
|
640
|
-
img_max_h = char_h * (@w_d.maxy - 2)
|
641
|
-
`echo "6;#{img_x};#{img_y};#{img_max_w+2};#{img_max_h+2};\n4;\n3;" | #{@w3mimgdisplay} 2>/dev/null`
|
642
|
-
rescue
|
643
|
-
w_b("Error clearing image")
|
644
|
-
end
|
645
635
|
end
|
646
636
|
|
647
637
|
# BOTTOM WINDOW FUNCTIONS
|
@@ -770,7 +760,7 @@ loop do # OUTER LOOP - (catching refreshes via 'r')
|
|
770
760
|
@w_d.fill
|
771
761
|
w_d
|
772
762
|
end
|
773
|
-
|
763
|
+
imageshow("") if @w_d.update
|
774
764
|
@w_d.update = true
|
775
765
|
w_b(nil) if @w_b.update
|
776
766
|
@w_b.update = true
|
@@ -779,7 +769,7 @@ loop do # OUTER LOOP - (catching refreshes via 'r')
|
|
779
769
|
break if Curses.cols != maxx or Curses.lines != maxy # break on terminal resize
|
780
770
|
end
|
781
771
|
ensure # On exit: clear image, close curses
|
782
|
-
|
772
|
+
imageshow("")
|
783
773
|
close_screen
|
784
774
|
end
|
785
775
|
end
|
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: '0.
|
4
|
+
version: '0.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: 2023-07-
|
11
|
+
date: 2023-07-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: curses
|
@@ -30,10 +30,11 @@ dependencies:
|
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 1.3.2
|
33
|
-
description: Narrow down your preferences from a 1000 movies and almost 500 series.
|
33
|
+
description: 'Narrow down your preferences from a 1000 movies and almost 500 series.
|
34
34
|
Select a minimum IMDB rating, range of production years, genres you like and dislike
|
35
35
|
to get your preferred list. Get detailed information on movies and series and where
|
36
|
-
you can stream them. Even the movie poster in the terminal.
|
36
|
+
you can stream them. Even the movie poster in the terminal. New in 0.2: Added ''v''
|
37
|
+
to show version and RubyGem version. Code cleanup.'
|
37
38
|
email: g@isene.com
|
38
39
|
executables:
|
39
40
|
- imdb
|