[REL] [FR] DVDFR.com

If you made a script you can offer it to the others here, or ask help to improve it. You can also report here bugs & problems with existing scripts.
Post Reply
Dedej
Posts: 161
Joined: 2007-03-25 16:30:07
Location: Toulon

[REL] [FR] DVDFR.com

Post by Dedej »

Mise à jour script DVDFR.com:

- Ajout de la liste des épisodes si présent pour les séries.
- Correction dans la syntaxe des bonus.
- Intégration de la mise à jour automatique avec choix sur ma page perso au lieu du site de Antp pour ne pas surcharger son site. ;)

Il existe aussi une version pour Movie Cat 4.0.6b.

c'est ici.

Bon catalog :grinking:
antp
Site Admin
Posts: 9629
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Post by antp »

Le problème de la màj n'était pas la surcharge du site (je suis loin de la limite :D) mais plus les requètes inutiles qui ralentissent pas mal l'exécution, surtout si appliquée à un ensemble de films (parce que là si on l'exécute pour 100 films, il va 100 fois tenter la mise à jour...)

Ce qu'il faudrait étudier c'est de ne faire la mise à jour qu'une fois par semaine par exemple. Ça devrait pouvoir se faire avec les variables "statiques" des fonctions SetStatic/GetStatic, je viens d'y repenser...

PS: "Version=..." n'est pas synchro avec "VersionScript" un peu plus loin ;)
Dedej
Posts: 161
Joined: 2007-03-25 16:30:07
Location: Toulon

Mise à jour.

Post by Dedej »

Oui c'est sur mais si on fait de nombreuses mises à jour de films on peux désactiver la mise à jour du script. :hihi:

Bon catalog :grinking: et bonne année à tous :lol:
Dedej
Posts: 161
Joined: 2007-03-25 16:30:07
Location: Toulon

[FR] Mise à jour

Post by Dedej »

Quelques corrections dont:

- bug de l'option de conservation des données du champs commentaire
- correction de la syntaxe de l'option format vidéo
- ajout de l'option recherche sur le lien web au lieu du titre.

Modification faites pour Movie Cat 4.0.6 également.

C'est la

Bon catalog :grinking:
antp
Site Admin
Posts: 9629
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Post by antp »

merci
baffab
Posts: 339
Joined: 2005-12-22 09:33:25
Contact:

Post by baffab »

Salut,
je me suis permis de toucher au script :D pour rajouter un début de gestion des Blu-ray :

Code: Select all

(***************************************************

Ant Movie Catalog importation script
www.antp.be/software/moviecatalog/

[Infos]
Authors=Antoine Potten, Dedej
Title=DVDFR.com
Description=Importation des données et image de DVDFR.com (pour utilisation personnelle uniquement !)
Site=www.dvdfr.com
Language=FR
Version=1.40 du 22/07/2010
Requires=3.5.0
Comments=Merci à l'équipe de DVDFR de fournir un accès simplifié à leurs données.|Pour rappel, ces données sont accessibles uniquement pour une utilisation personnelle ; en aucun cas elles ne peuvent être utilisées commerciallement ou publiquement !|L'ancienne version du script avait été développée par Antoine Potten et Fabrice Fert.
License=Ce script permet de récupérer les données du site de DVDFR pour une utilisation personnelle uniquement.|Ces données ne peuvent pas être récupérées ni exploitées dans un but commercial ou même pour une utilisation publique.|En utilisant ce script vous déclarez accepter ces conditions et endosser toute responsabilité dans la manière dont vous utilisez ces données.
GetInfo=1

[Options]
Mise à jour du Script=0|0|0=Pas de mise à jour|1=Mise à jour du script
Typederecherche=0|0|0=Recherche sur le titre|1=Recherche sur lien Web
ListePays=1|1|0=Ne prend que le premier pays de la liste|1=Prend la liste de tous les pays, séparés par des virgules
ListeCategories=1|1|0=Ne prend que la première catégorie de la liste|1=Prend la liste de toutes les catégories, séparées par des virgules
Bonus=1|1|0=N'importe pas la liste des bonus|1=Importe la liste des bonus dans le champ Commentaires
FormatVideo=1|1|0=Spécifie "MPEG2" d'office|1=Description longue du format d'image mis dans le champ "Format Vidéo"
Reference=0|0|0=N'importe pas la référence|1=Importe la référence dans le champ "Label du média"
GarderCommentaires=0|0|0=Ne pas garder les commentaires|1=Garder les commentaires précédents
TypeMedia=2|0|0=DVD|1=BRD|2=Tous

***************************************************)

program DVDFR;
uses
  StringUtils7552;

const
  VersionScript = '1.40 du 22/07/2010';
  ScriptName = 'DVDFR.ifs';
  SiteUrl = 'http://joel.desseaux.free.fr/DVD.FR/';

var
  MovieName: string;
  Maj, PMaj: Integer;

// *** téléchargement et analyse des pages, contruction de la liste de choix de titres

procedure AnalyzePage(Address: string);
var
  xml: TJvSimpleXml;
  CurItem: TJvSimpleXmlElem;
  i: Integer;
  s1, s2: string;
begin
  if (GetOption('Typederecherche') = 0) or (copy(GetField(fieldURL),1,16)<>'http://www.dvdfr') then
  begin
    Address := StringReplace(Address, 'dvdfr.com/dvd/', 'dvdfr.com/api/');
    xml := TJvSimpleXml.Create(nil);
    xml.LoadFromString(GetPage(Address));
    //xml.LoadFromFile('T:\dvd.xml');
    if xml.Root.Name = 'dvds' then
    begin
      if xml.Root.Items.Count = 0 then
      begin
        ShowInformation('Aucun film trouvé pour "' + MovieName + '"');
        xml.Free;
        Exit;
      end;
      PickTreeClear;
      PickTreeAdd('Résultats de la recherche de "' + MovieName + '"', '');
      for i := 0 to xml.Root.Items.Count-1 do
      begin
        CurItem := xml.Root.Items.GetItem(i);
        s1 := CurItem.Items.GetItemNamed('titres').Items.GetItemNamed('fr').Value;
        s2 := CurItem.Items.GetItemNamed('titres').Items.GetItemNamed('vo').Value;
        if s2 <> '' then
          s1 := s1 + ' (' + s2 + ')';
        if CurItem.Items.GetItemNamed('stars').Items.Count > 0 then
        begin
          s2 := CurItem.Items.GetItemNamed('stars').Items.GetItem(0).Value;
          if s2 <> '' then
            s1 := s1 + ' / ' + s2;
        end;
        s2 := CurItem.Items.GetItemNamed('edition').Value;
        if s2 <> '' then
          s1 := s1 + ' / ' + s2;
        s2 := CurItem.Items.GetItemNamed('editeur').Value;
        if s2 <> '' then
          s1 := s1 + ' / ' + s2;
        s2 := CurItem.Items.GetItemNamed('media').Value;
        if (GetOption('TypeMedia') = 2) and (s2 <> '') then
          s1 := s1 + ' / ' + s2;
        HtmlDecode(s1);
        if ((GetOption('TypeMedia') = 2) or ((GetOption('TypeMedia') = 0) and (pos('DVD', s2)=1)) or ((GetOption('TypeMedia') = 1) and (pos('BRD', s2)=1))) then
           PickTreeAdd(s1, 'http://www.dvdfr.com/dvd/dvd.php?id=' + CurItem.Items.GetItemNamed('id').Value);
       end;
      if PickTreeExec(Address) then
        AnalyzePage(Address);
    end
    else if xml.Root.Name = 'dvd' then
    begin
      AnalyzeMoviePage(xml);
    end;
    if xml.Root.Name = 'errors' then
    begin
      ShowError(xml.Root.Items.GetItemNamed('error').Items.GetItemNamed('message').Value);
    end;
  end
  else
  begin
    xml := TJvSimpleXml.Create(nil);
    if pos('dvd/f',Address)= 0 then
      xml.LoadFromString(GetPage(UrlEncode('http://www.dvdfr.com/api/dvd.php?id=' + copy(Address,pos('?id=',Address)+4,Length(Address)- (pos('?id=',Address)+3)))))
    else if pos('-',Address)= 0 then
      xml.LoadFromString(GetPage(UrlEncode('http://www.dvdfr.com/api/dvd.php?id=' + copy(Address,pos('dvd/f',Address)+5,Length(Address)- (pos('dvd/f',Address)+5)))))
    else
      xml.LoadFromString(GetPage(UrlEncode('http://www.dvdfr.com/api/dvd.php?id=' + copy(Address,pos('dvd/f',Address)+5,pos('-',Address)- (pos('dvd/f',Address)+5)))));
    AnalyzeMoviePage(xml);
  end;
  xml.Free;
end;

// *** analyse d'une fiche de film

procedure AnalyzeMoviePage(xml: TJvSimpleXml);
var
  Items: TJvSimpleXmlElems;
  CurItem, SubItem: TJvSimpleXmlElem;
  Prop: TJvSimpleXmlProp;
  s1, s2: string;
  i: Integer;
begin
  Items := xml.Root.Items;
  SetField(fieldURL, Items.GetItemNamed('url').Value);
  s1 := '';
  s2 := '';
  CurItem := Items.GetItemNamed('titres');
  if CurItem <> nil then
  begin
    SubItem := CurItem.Items.GetItemNamed('fr');
    if SubItem <> nil then
      s1 := SubItem.Value;
    SubItem := CurItem.Items.GetItemNamed('vo');
    if SubItem <> nil then
      s2 := SubItem.Value;
  end
  else
  begin
    CurItem := Items.GetItemNamed('titres_fr');
    if CurItem <> nil then
      s1 := CurItem.Value;
    CurItem := Items.GetItemNamed('titres_vo');
    if CurItem <> nil then
      s2 := CurItem.Value;
  end;
  if s2 = '' then
    SetField(fieldOriginalTitle, s1)
  else
  begin
    SetField(fieldOriginalTitle, s2);
    SetField(fieldTranslatedTitle, s1);
  end;
  if CanSetField(fieldCountry) then
  begin
    s1 := '';
    CurItem := Items.GetItemNamed('listePays');
    for i := 0 to CurItem.Items.Count-1 do
    begin
      if s1 <> '' then
      begin
        if GetOption('ListePays') = 0 then
          Break
        else
          s1 := s1 + ', ';
      end;
      s1 := s1 + CurItem.Items.GetItem(i).Value;
    end;
    SetField(fieldCountry, s1);
//  end;
  end;
  SetField(fieldYear, Items.GetItemNamed('annee').Value);
  s1 := StringReplace(StringReplace(Items.GetItemNamed('synopsis').Value, #10, ' '), #13, '');
  s1 := StringReplace(s1, '&', '...');
  HtmlDecode(s1);
  SetField(fieldDescription, s1);
  SetField(fieldLength, Items.GetItemNamed('duree').Value);
  CurItem := Items.GetItemNamed('disques');
  if CurItem <> nil then
  begin
    SetField(fieldDisks, CurItem.Properties.GetItemNamed('nbdiscs').Value);
    if CurItem.Items.Count > 0 then
      SetField(fieldMediaType, CurItem.Items.GetItem(0).Value);
  end;
  if CanSetField(fieldVideoBitrate) then
  begin
    CurItem := Items.GetItemNamed('bitrate');
    if CurItem <> nil then
    begin
      s1 := CurItem.Value;
      if CurItem.Properties.GetItemNamed('unite').Value = 'mbits/s' then
        s1 := FloatToStr(StrToFloat(StringReplace(s1, ',', '.')) * 1000.0);
      if s1 > '0' then
        SetField(fieldVideoBitrate, s1);
    end;
  end;
  CurItem := Items.GetItemNamed('image');
  if CurItem.Items.Count > 0 then
  begin
  if CurItem.Items.GetItemNamed('aspect_ratio').Value <> '0.00' then
   SetField(fieldResolution, CurItem.Items.GetItemNamed('aspect_ratio').Value);
   if ((GetField(fieldMediaType) = '') or (GetField(fieldMediaType) = 'VHS') or (GetField(fieldMediaType) = 'VHS-LP') or (GetField(fieldMediaType) = 'SVHS') or (GetField(fieldMediaType) = 'SVHS-LP') or (GetField(fieldMediaType) = 'DVD') or (GetField(fieldMediaType) = 'DVD-5') or (GetField(fieldMediaType) = 'DVD-9') or (GetField(fieldMediaType) = 'DVD-18') or (GetField(fieldMediaType) = 'BD-25') or (GetField(fieldMediaType) = 'BD-50') or (GetField(fieldMediaType) = 'HD DVD-30')) then
    begin
      SubItem := CurItem.Items.GetItemNamed('Format');
      if (GetOption('FormatVideo') = 0) and (SubItem <> nil) and (GetField(fieldMediaType) <> 'VHS') and (GetField(fieldMediaType) <> 'VHS-LP') and (GetField(fieldMediaType) <> 'SVHS') and (GetField(fieldMediaType) <> 'SVHS-LP') then
        SetField(fieldVideoFormat, 'MPEG2, ' + SubItem.Value)
      else
        SetField(fieldVideoFormat, SubItem.Value);
      if CanSetField(fieldComments) then
      begin
      s1 := '';
      SubItem := CurItem.Items.GetItemNamed('standard');
      if SubItem <> nil then
        s1 := SubItem.Value;
      SubItem := CurItem.Items.GetItemNamed('mode');
      if SubItem <> nil then
        s1 := s1 + ', ' + SubItem.Value;
      if (GetOption('GarderCommentaires') = 1) then
      begin
        if s1 = '' then
          SetField(fieldComments, '' + GetField(fieldComments))
        else
          SetField(fieldComments, s1+ #13#10 + #13#10 + GetField(fieldComments));
      end
      else
      begin
        SetField(fieldComments, s1);
      end;
      end;
    end
    else
    if ((GetField(fieldMediaType) <> 'VHS') and (GetField(fieldMediaType) <> 'VHS-LP') and (GetField(fieldMediaType) <> 'SVHS') and (GetField(fieldMediaType) <> 'SVHS-LP')) and (GetField(fieldMediaType) <> 'CD-ROM') and (GetField(fieldMediaType) <> 'CD') then
      SetField(fieldVideoFormat, 'MPEG2');
  end;
  s1 := Items.GetItemNamed('rating').Value;
  if GetField(fieldComments) <> '' then
    s1 := Items.GetItemNamed('rating').Value + #13#10#13#10 + GetField(fieldComments);
  if s1 <> '' then
    SetField(fieldComments, s1);
  s1 := Items.GetItemNamed('media').Value;
  s1 := StringReplace(s1, 'BRD', 'Blu-ray');
  CurItem := Items.GetItemNamed('zones');
  if CurItem.Items.Count > 0 then
  begin
    if CurItem <> nil then
    begin
      s2 := '';
      for i := 0 to CurItem.Items.Count-1 do
      begin
        if i > 0 then
          s2 := s2 + ' - ' + CurItem.Items.GetItem(i).Value
        else
          s2 := CurItem.Items.GetItem(i).Value;
        end;
      end;
   end;
   if s2 <> '' then
     s1 := s1 + ' zone ' + s2;
   if GetField(fieldComments) <> '' then
     s1 := s1 + ', ' + GetField(fieldComments);
   SetField(fieldComments, s1);
   CurItem := Items.GetItemNamed('critiques');
   if CurItem.Items.Count > 0 then
     if (CurItem.Items.GetItemNamed('public').Value > '0.0')  then
       SetField(fieldrating, CurItem.Items.GetItemNamed('public').Value)
     else if (CurItem.Items.GetItemNamed('dvdfr').Value > '0.0')  then
       SetField(fieldrating, CurItem.Items.GetItemNamed('dvdfr').Value);
   if CanSetField(fieldActors) or CanSetField(fieldDirector) then
   begin
    GetStars(Items.GetItemNamed('stars').Items);
    if GetField(fieldDirector) = '' then
    begin
      CurItem := Items.GetItemNamed('realisateurs');
      if CurItem <> nil then
      begin
        s1 := '';
        for i := 0 to CurItem.Items.Count-1 do
        begin
          if i > 0 then
            s1 := s1 + ', ';
          s1 := s1 + CurItem.Items.GetItem(i).Value;
        end;
        SetField(fieldDirector, s1);
      end;
    end;
  end;
  if CanSetField(fieldCategory) then
  begin
    s1 := '';
    CurItem := Items.GetItemNamed('categories');
    for i := 0 to CurItem.Items.Count-1 do
    begin
      if s1 <> '' then
      begin
        if GetOption('ListeCategories') = 0 then
          Break
        else
          s1 := s1 + ', ';
      end;
      s1 := s1 + CurItem.Items.GetItem(i).Value;
    end;
    SetField(fieldCategory, s1);
  end;
  if CanSetField(fieldLanguages) or CanSetField(fieldAudioFormat) then
    GetAudioTracks(Items.GetItemNamed('audiotracks').Items);
  if CanSetField(fieldSubtitles) then
  begin
    CurItem := Items.GetItemNamed('soustitrage');
    s1 := '';
    for i := 0 to CurItem.Items.Count-1 do
    begin
      Prop := CurItem.Items.GetItem(i).Properties.GetItemNamed('type');
      if Prop = nil then
        s2 := ''
      else
        s2 := Prop.Value;
      if (s2 = '') or (s2 = 'normal') then
      begin
        if s1 <> '' then
          s1 := s1 + ', ';
        s1 := s1 + CurItem.Items.GetItem(i).Value;
      end;
      if s2 = 'malentendants' then
      begin
        if s1 <> '' then
          if pos('Malentendants', s1) = 0 then
          s1 := s1 + ', Malentendants: '
          else
          s1 := s1 + ', ';
        s1 := s1 + CurItem.Items.GetItem(i).Value;
      end;
    end;
    SetField(fieldSubtitles, s1);
  end;
  if ((GetField(fieldMediaType) = '') or (GetField(fieldMediaType) = 'DVD') or (GetField(fieldMediaType) = 'DVD-5') or (GetField(fieldMediaType) = 'DVD-9') or (GetField(fieldMediaType) = 'DVD-18') or (GetField(fieldMediaType) = 'BD-25') or (GetField(fieldMediaType) = 'BD-50') or (GetField(fieldMediaType) = 'HD DVD-30')) then
  begin
    if CanSetField(fieldComments) then
  begin
    CurItem := Items.GetItemNamed('listeBonus');
    s1 := '';
    for i := 0 to CurItem.Items.Count-1 do
    begin
      s2 := StringReplace(CurItem.Items.GetItem(i).Value, #10, #13#10);
      s2 := Trim(StringReplace(s2, #13#13, #13));
      s2 := StringReplace(s2, '’', '`');
      s2 := StringReplace(s2, '<strong>', '');
      s2 := StringReplace(s2, '</strong>', '');
      s2 := StringReplace(s2, '<b>', '');
      s2 := StringReplace(s2, '</b>', '');
      HTMLDecode(s2);
      if (s1 <> '') and (s2 <> '') then
        s1 := s1 + #13#10 + s2
        else
        s1 := s1 + s2;
    end;
    if GetField(fieldComments) <> '' then
    s1 := s1 + #13#10#13#10 + GetField(fieldComments);
    s1 := StringReplace(s1, #13#10#13#10#13#10, #13#10#13#10);
    SetField(fieldComments, s1);
    end;
   end;
  if ((GetField(fieldMediaType) = '') or (GetField(fieldMediaType) = 'DVD') or (GetField(fieldMediaType) = 'DVD-5') or (GetField(fieldMediaType) = 'DVD-9') or (GetField(fieldMediaType) = 'DVD-18') or (GetField(fieldMediaType) = 'BD-25') or (GetField(fieldMediaType) = 'BD-50') or (GetField(fieldMediaType) = 'HD DVD-30')) then
  begin
    if CanSetField(fieldComments) then
    begin
      CurItem := Items.GetItemNamed('contenu');
      s1 := '';
      for i := 0 to CurItem.Items.Count-1 do
      begin
        s2 := StringReplace(CurItem.Items.GetItem(i).Value, #10, #13#10);
        s2 := Trim(StringReplace(s2, #13#13, #13));
        s2 := StringReplace(s2, '’', '`');
        s2 := StringReplace(s2, '<strong>', '');
        s2 := StringReplace(s2, '</strong>', '');
        s2 := StringReplace(s2, '<b>', '');
        s2 := StringReplace(s2, '</b>', '');
        HTMLDecode(s2);
        if (s1 <> '') and (s2 <> '') then
          s1 := s1 + #13#10 + s2
        else
          s1 := s1 + s2;
      end;
      if (GetField(fieldComments) <> '') and (s1 <> '') then
        s1 := s1 + #13#10#13#10 + GetField(fieldComments)
      else
        s1 := GetField(fieldComments);
      s1 := StringReplace(s1, #13#10#13#10#13#10, #13#10#13#10);
      SetField(fieldComments, s1);
    end;
  end;
  if CanSetField(fieldProducer) then
  begin
    s1 := Items.GetItemNamed('studio').Value;
    s1 := StringReplace(s1, #13#10, ' ');
    SetField(fieldProducer, s1);
  end;
  if CanSetField(fieldMedia) and (GetOption('Reference') <> 0) then
  begin
    s1 := Items.GetItemNamed('reference').Value;
    SetField(fieldMedia, s1);
  end;
  CurItem := Items.GetItemNamed('cover');
  if CurItem <> nil then
  begin
    s1 := CurItem.Value;
    if Pos('nocover', s1) = 0 then
      GetPicture(s1);
  end;
end;

// *** récupère les acteurs et réalisateurs dans la liste des stars

procedure GetStars(Items: TJvSimpleXmlElems);
var
  sActors, sDirectors, val: string;
  i: Integer;
  CurItem: TJvSimpleXmlElem;
  Prop: TJvSimpleXmlProp;
begin
  sActors := '';
  sDirectors := '';
  for i := 0 to Items.Count-1 do
  begin
    CurItem := Items.GetItem(i);
    Prop := CurItem.Properties.GetItemNamed('type');
    if Prop = nil then
      val := ''
    else
      val := Prop.Value;
    if (val = '') or (val = 'Acteur') then
    begin
      if sActors <> '' then
        sActors := sActors + ', ';
      sActors := sActors + CurItem.Value;
    end
    else
    if val = 'Réalisateur' then
    begin
      if sDirectors <> '' then
        sDirectors := sDirectors + ', ';
      sDirectors := sDirectors + CurItem.Value;
    end
  end;
  SetField(fieldActors, sActors);
  SetField(fieldDirector, sDirectors);
end;

// *** récupère les langues et formats des pistes audio

procedure GetAudioTracks(Items: TJvSimpleXmlElems);
var
  i: Integer;
  sFormats, sLanguages: string;
  CurItem: TJvSimpleXmlElem;
begin
  sFormats := '';
  sLanguages := '';
  for i := 0 to Items.Count-1 do
  begin
    CurItem := Items.GetItem(i);
    if sFormats <> '' then
      sFormats := sFormats + ', ';
    if sLanguages <> '' then
      sLanguages := sLanguages + ', ';
    sFormats := sFormats + Trim(CurItem.Items.GetItemNamed('standard').Value + ' ' + CurItem.Items.GetItemNamed('encodage').Value);
    sLanguages := sLanguages + CurItem.Items.GetItemNamed('langue').Value
  end;
  SetField(fieldAudioFormat, sFormats);
  SetField(fieldLanguages, sLanguages);
end;

//------------------------------------------------------------------------------
// Vérifie s'il existe une nouvelle version du script
// et propose de la télécharger
//------------------------------------------------------------------------------
procedure CheckScriptVersion();
var
  Page, Script: TStringList;
  Line, ScriptsDirectory, FileName, ScriptText, Fich: string;
  LineNr, BeginPos, EndPos: Integer;
  CurrentVersion, NewVersion: real;

begin
  Page := TStringList.Create;
  FileName := UrlEncode(ScriptName);
	FileName := StringReplace(FileName, '%2E', '.');
	FileName := StringReplace(FileName, '+', '%20');
  Page.Text := GetPage(SiteUrl + FileName);
  ScriptsDirectory := GetStatic('path');
  //SetStatic('path', ScriptsDirectory);
  LineNr := FindLine('Version=', Page, 0);
  if LineNr > -1 then
  begin
    Line := Page.GetString(LineNr);
    BeginPos := pos('Version=', Line) + 8;
    EndPos := pos(' du', Line);
    CurrentVersion := StrToFloat(copy(VersionScript, 1, pos('du', VersionScript) - 2));
    NewVersion := StrToFloat(copy(Line, BeginPos, EndPos - BeginPos));
    if (NewVersion > CurrentVersion) then
    begin
      if ShowConfirmation('Une nouvelle version du script est disponible : ' + copy(Line, BeginPos, EndPos - BeginPos)+ #13#10#13#10 + '- Cliquez sur ''''Oui'''' pour effectuer la mise à jour.' + #13#10#13#10 + '- Cliquez sur ''''Non'''' dans le cas contraire.') = True then
        begin
          FileName := ScriptName;
          Sleep(500);
          ScriptText := Page.Text;
          Script := TStringList.Create;
          Script.Add(ScriptText);
          FileName := StringReplace(FileName, '%20', ' ');
          Script.SaveToFile(ScriptsDirectory + FileName);
          Maj := 1;
          ShowInformation('Vous avez mis à jour le script, quitter la fenêtre de scripts et relancez la.');
          Script.Free;
        end;
    end else
  end;
end;

// *** début du programme ***

begin
  PMaj := PMaj+ 1;
  if CheckVersion(3,5,0) then
  begin
    Maj := 0;
    if AcceptLicense(1) then // modifier ou retirer cette ligne revient à accepter la licence :p
    begin
      if (GetOption('Mise à jour du Script') = 1) and (PMaj = 1) then
      begin
        CheckScriptVersion();
        if Maj = 1 then exit;
      end;
      if (GetOption('Typederecherche') = 1) and (copy(GetField(fieldURL),1,16)='http://www.dvdfr') then
      begin
        AnalyzePage(GetField(fieldURL));
      end else
      begin
        MovieName := GetField(fieldTranslatedTitle);
        if MovieName = '' then
          MovieName := GetField(fieldOriginalTitle);
        if Input('Importation DVDFR', 'Entrez le titre du film :', MovieName) then
          AnalyzePage('http://www.dvdfr.com/api/search.php?title=' + UrlEncode(RemoveArticles(MovieName)));
      end;
    end;
  end else
    ShowError('Ce script requiert une version plus récente de Ant Movie Catalog (au moins la version 3.5)');
end.
A vérifier plus en détail...
antp
Site Admin
Posts: 9629
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Post by antp »

Merci, par contre je vois déjà un piège, le forum qui a converti "& #8217;" en ’ ce qui évidemment ne va pas :D
baffab
Posts: 339
Joined: 2005-12-22 09:33:25
Contact:

Post by baffab »

Bonne remarque.

Du coup : DVDFR.ifs
Dedej
Posts: 161
Joined: 2007-03-25 16:30:07
Location: Toulon

[REL][FR] mise à jour

Post by Dedej »

Ok bien vu et merci à Mr DVDFR.com d'avoir rajouté l'info du support dans les recherches, ce qui manquait cruellement en effet et nous obligeait à tâtonner dans les recherches.
Merci d'avoir remarqué la modif.

Je me suis donc permis de le mettre sur mon site pour le chargement automatique.

Toujours au même endroit ici

Bon catalog :grinking:
antp
Site Admin
Posts: 9629
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Post by antp »

Merci ;)
Nenesse45
Posts: 17
Joined: 2010-06-05 12:03:07
Contact:

Post by Nenesse45 »

Par contre du coup j'ai un souci, je ne trouve que les DVD maintenant dans la liste de résultats alors que je n'ai que des blu ray...

J'ai raté quelque chose?


EDIT: Je m'excuse pour ma bétise, je viens de découvrir qu'il existait des options de scripts et qu'on peut donc filtrer sur les BRD.

1000 pardons :shaking:
baffab
Posts: 339
Joined: 2005-12-22 09:33:25
Contact:

Post by baffab »

Il faudrait peut-être mettre l'option "TypeMedia" à 2 par défaut pour tout récupérer.
Dedej
Posts: 161
Joined: 2007-03-25 16:30:07
Location: Toulon

[FR] Mise à jour avec 4.0.0

Post by Dedej »

Mise à jour pour prise en compte des champs personnalisés.

Sélection pour les champs, Bande annonce et avis CSA, suivant les options.

A récupérer ici ou par "update script" dès que Antp l'aura pris en compte. :lol:

Bon catalog. :grinking:
antp
Site Admin
Posts: 9629
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Post by antp »

Merci, j'ai mis ça à jour ainsi que les autres ;)

Par contre pour le n° de version j'ai mis 1.50 au lieu de 1.5, vu que la précédente était 1.40
Dedej
Posts: 161
Joined: 2007-03-25 16:30:07
Location: Toulon

[REL] Mises à jour

Post by Dedej »

Mises à jour pour prise en compte des nouveaux champs de la version 4.2.0 Béta et récupération d'infos supplémentaire de la page. :p

Mise à jour automatique si activée de la version 1.60 ou à récupérer ICI ou par "update script" ou la page scripts du site dès que Antp l'aura pris en compte.

Bon catalog :grinking:
antp
Site Admin
Posts: 9629
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Post by antp »

merci ;)
Post Reply