Script to read IMDB-Details from Ember-NFO

Discuss and announce Total Commander plugins, addons and other useful tools here, both their usage and their development.

Moderators: Hacker, petermad, Stefan2, white

Post Reply
rkrause
Junior Member
Junior Member
Posts: 20
Joined: 2007-05-04, 08:21 UTC

Script to read IMDB-Details from Ember-NFO

Post by *rkrause »

--> possible Solution with script content look in post #4

Hi,

i want to write a wdx plugins, to read infos from a file and i think it should be an "easy" projekt for a profi:)

Ok, what i want is following:

i got some movies (avi) with some nfos - both files (avi and info) has the same name! the nfo has the following struktur (xml with tags)

...
<genre>Thriller</genre>
<rating>6.1</rating>
...

my idea: show the imdb-rating from the avi.file (read from samecalled nfo file)

similar like shelldetails etc i want to select different tabs like "genre" and "rating" and want to select and show them in the customview-list (like shellexplorer).

i think, its very easy to realise (just search same name.nfo and read the tags) what i got no idea to write a wdx-plugin and the examples are quite difficult for me - just look some example and no idea how to compile or what things must be changed:(
Last edited by rkrause on 2011-04-27, 18:21 UTC, edited 2 times in total.
User avatar
nsp
Power Member
Power Member
Posts: 1917
Joined: 2005-12-04, 08:39 UTC
Location: Lyon (FRANCE)
Contact:

Re: [rec] WDX Plugin to read IMDB-Details

Post by *nsp »

rkrause wrote: i think, its very easy to realise (just search same name.nfo and read the tags) what i got no idea to write a wdx-plugin and the examples are quite difficult for me - just look some example and no idea how to compile or what things must be changed:(
Are you a programmer ?
If yes : read the content plugin guide!
If not, learn how to program a little, choose a programming language that allow creating dll ....

In medium stage, you can use script content plugin that give you a framework around content plugin.
rkrause
Junior Member
Junior Member
Posts: 20
Joined: 2007-05-04, 08:21 UTC

Post by *rkrause »

normaly i should be able to programming - finally i learned pascal, vb, c++ and java in scool and study - but just copy the code mostly and manipulate a little bit.

My intend was, wanted to know if there is some sourcecode that i can "easily" use and manipulate a little
rkrause
Junior Member
Junior Member
Posts: 20
Joined: 2007-05-04, 08:21 UTC

Post by *rkrause »

ok did it with Script Content plugin 0.2

added this code in ext.vbs and got an result back, works ok for me now, thx for tipp:) ... mayby it would helpfull for others

Code: Select all

'Script for Script Content Plugin 0.2 
'(c)Lev Freidin, 2005 
'
' modded by rk to show IMDB-Rating, Genre and Year for Avi, MKV and NFO
' just replace ext.vbs or copy in new.vbs and edit script.ini 
' configure Custom Columns: + script -> Result=IMDB, Result1=Genre, Result2=Year

Dim fso, ts, s, re
Set fso = CreateObject("Scripting.FileSystemObject")
sExt = lcase(fso.GetExtensionName(filename))
sBase = lcase(fso.GetBaseName(filename))
Const ForReading = 1

Set re = New RegExp
re.Global = True
re.IgnoreCase = True
re.MultiLine = True

Select Case sExt

case "avi"
Set f = fso.GetFile(sBase+".nfo")
Set ts = fso.OpenTextFile(sBase+".nfo", ForReading)
s = ts.read(1000)
ts.Close

re.Pattern = "<rating>(.*)</rating>"
if re.Test(s) then
Set tt = re.Execute(s)
content= re.replace (tt(0),"$1")
End if

re.Pattern = "<genre>(.*)</genre>"
if re.Test(s) then
Set tt = re.Execute(s)
content1= re.replace (tt(0),"$1")
End if

re.Pattern = "<year>(.*)</year>"
if re.Test(s) then
Set tt = re.Execute(s)
content2= re.replace (tt(0),"$1")
End if

'----
case "mkv"
Set f = fso.GetFile(sBase+".nfo")
Set ts = fso.OpenTextFile(sBase+".nfo", ForReading)
s = ts.read(1000)
ts.Close

re.Pattern = "<rating>(.*)</rating>"
if re.Test(s) then
Set tt = re.Execute(s)
content= re.replace (tt(0),"$1")
End if

re.Pattern = "<genre>(.*)</genre>"
if re.Test(s) then
Set tt = re.Execute(s)
content1= re.replace (tt(0),"$1")
End if

re.Pattern = "<year>(.*)</year>"
if re.Test(s) then
Set tt = re.Execute(s)
content2= re.replace (tt(0),"$1")
End if

'-----
case "nfo"
Set f = fso.GetFile(filename)
Set ts = fso.OpenTextFile(filename, ForReading)
s = ts.read(1000)
ts.Close

re.Pattern = "<rating>(.*)</rating>"
if re.Test(s) then
Set tt = re.Execute(s)
content= re.replace (tt(0),"$1")
End if

re.Pattern = "<genre>(.*)</genre>"
if re.Test(s) then
Set tt = re.Execute(s)
content1= re.replace (tt(0),"$1")
End if

re.Pattern = "<year>(.*)</year>"
if re.Test(s) then
Set tt = re.Execute(s)
content2= re.replace (tt(0),"$1")
End if

Case Else
'content = sExt + " file type"
End Select

set f=nothing
set fso=nothing
set re=nothing

'MsgBox content


is it possible to filter in custom-columns-view, like show only avi etc, because normaly in ALL tabs are filtered and i want just a filter in one of them?
Post Reply