|
From: <lop...@us...> - 2009-11-19 22:03:23
|
Revision: 3171
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=3171&view=rev
Author: lopeztuparles
Date: 2009-11-19 22:03:10 +0000 (Thu, 19 Nov 2009)
Log Message:
-----------
- Ready for MP 1.1
- Minor Improvement :
Download missing DTD.
Mapping isn't necessary with TV server
Modified Paths:
--------------
trunk/plugins/WebEPGfr/WebEPGfr.cs
trunk/plugins/WebEPGfr/WebEPGfr.csproj
trunk/plugins/WebEPGfr/WebEPGfrSetup.cs
trunk/plugins/WebEPGfr/WebEPGfr_planification/WebEPGfr_planification.csproj
trunk/plugins/WebEPGfr/XmlToolBox.cs
Modified: trunk/plugins/WebEPGfr/WebEPGfr.cs
===================================================================
--- trunk/plugins/WebEPGfr/WebEPGfr.cs 2009-11-19 20:26:07 UTC (rev 3170)
+++ trunk/plugins/WebEPGfr/WebEPGfr.cs 2009-11-19 22:03:10 UTC (rev 3171)
@@ -75,10 +75,13 @@
String _Chemin_guide_MP = "";
String _Chemin_guide_MP_bak = "";
String _Chemin_guide_WebEPGfr = "";
+ String _DTDUri = @"http://membled.com/work/apps/xmltv/cvs_working/xmltv.dtd";
+
bool _copie_tvguide = false;
bool _backup = false;
bool _backup_ok = false;
bool _bPostProcess = false;
+
// permet de savoir si le Serveur Tele est install\xE9
bool _TVServer = System.IO.File.Exists(Config.GetFolder(Config.Dir.Plugins) + @"\Windows\TvPlugin.dll");
@@ -392,32 +395,36 @@
Afficher_dialogbox_MP(Lib1, Lib2, Lib3, Lib4);
return;
}
+ if (!_TVServer)
+ {// Avec Tv Server le mapping n'est pas obligatoire
+ // Message d'erreur si le fichier .ini de mapping du site concerne n'existe pas
+ string FichierAverifier = oIntegration.Configuration.Repertoire_XMLTV_WebEPGfr
+ + _GrabberMethod.ToString() + "Integrator.ini";
+ ExisteFichier = File.Exists(FichierAverifier);
+
+ if (!ExisteFichier)
+ {
+ Lib1 = "Erreur de configuration";
+ Lib2 = "Allez dans l'onglet 'Correspondance de";
+ Lib3 = "cha\xEEnes' du site " + _GrabberMethod.ToString();
+ Lib4 = "et cliquez sur Sauver.";
+ Afficher_dialogbox_MP(Lib1, Lib2, Lib3, Lib4);
+ return;
+ }
- // Message d'erreur si le fichier .ini de mapping du site concerne n'existe pas
- string FichierAverifier = oIntegration.Configuration.Repertoire_XMLTV_WebEPGfr
- + _GrabberMethod.ToString() + "Integrator.ini";
- ExisteFichier = File.Exists(FichierAverifier);
- if (!ExisteFichier)
- {
- Lib1 = "Erreur de configuration";
- Lib2 = "Allez dans l'onglet 'Correspondance de";
- Lib3 = "cha\xEEnes' du site " + _GrabberMethod.ToString();
- Lib4 = "et cliquez sur Sauver.";
- Afficher_dialogbox_MP(Lib1, Lib2, Lib3, Lib4);
- return;
+ // Message d'erreur si le fichier .ini de mapping du site concerne est vide
+ FileInfo fileinfo = new FileInfo(FichierAverifier);
+ if (fileinfo.Length == 0)
+ {
+ Lib1 = "Erreur de configuration";
+ Lib2 = "Allez dans l'onglet 'Correspondance de";
+ Lib3 = "cha\xEEnes' du site " + _GrabberMethod.ToString();
+ Lib4 = "et d\xE9finissez les correspondances.";
+ Afficher_dialogbox_MP(Lib1, Lib2, Lib3, Lib4);
+ return;
+ }
}
-
- // Message d'erreur si le fichier .ini de mapping du site concerne est vide
- FileInfo fileinfo = new FileInfo(FichierAverifier);
- if (fileinfo.Length == 0)
- {
- Lib1 = "Erreur de configuration";
- Lib2 = "Allez dans l'onglet 'Correspondance de";
- Lib3 = "cha\xEEnes' du site " + _GrabberMethod.ToString();
- Lib4 = "et d\xE9finissez les correspondances.";
- Afficher_dialogbox_MP(Lib1, Lib2, Lib3, Lib4);
- return;
- }
+
}
// Afficher une boite de dialogue avec retour sur ecran precedent
@@ -600,7 +607,10 @@
}
oIntegration.Configuration.MappingFile = InfosSuivantSites.GetMappingFileName(_GrabberMethod);
oIntegration.GetMappings(oIntegration.Configuration.MappingFile); //etablit la liste des mappings
- if (oIntegration.DoMapping() == 0) // R\xE9alise le mapping
+
+ long lRes = oIntegration.DoMapping();
+
+ if (lRes == 0) // R\xE9alise le mapping
{
Initialise_date_WebEPGfr();
Initialise_date_MP();
@@ -610,6 +620,11 @@
}
+ else if (lRes == 1)
+ {//Pas de Mapping, il sera realis\xE9 par TVServer
+ _sInfoEtatEnCours = "T\xE9l\xE9chargement termin\xE9 sans mapping";
+ Log.Info(_sInfoEtatEnCours);
+ }
else
{
// si on est en backup sur le meme fichier guide ==> restore
Modified: trunk/plugins/WebEPGfr/WebEPGfr.csproj
===================================================================
--- trunk/plugins/WebEPGfr/WebEPGfr.csproj 2009-11-19 20:26:07 UTC (rev 3170)
+++ trunk/plugins/WebEPGfr/WebEPGfr.csproj 2009-11-19 22:03:10 UTC (rev 3171)
@@ -47,7 +47,7 @@
</Reference>
<Reference Include="Dialogs, Version=1.0.1.9977, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
- <HintPath>..\..\..\Program Files\Team MediaPortal\MediaPortal\Dialogs.dll</HintPath>
+ <HintPath>..\..\..\Program Files\Team MediaPortal\MediaPortal\plugins\Windows\Dialogs.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Gentle.Common, Version=1.5.0.29053, Culture=neutral, PublicKeyToken=80b5de62e27be49b, processorArchitecture=MSIL">
@@ -76,6 +76,7 @@
<HintPath>..\..\..\Program Files\Team MediaPortal\MediaPortal\TvBusinessLayer.dll</HintPath>
<Private>False</Private>
</Reference>
+ <Reference Include="TVCapture-Databases, Version=1.1.0.38758, Culture=neutral, processorArchitecture=x86" />
<Reference Include="TVDatabase, Version=1.0.1.10483, Culture=neutral, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\Program Files\Team MediaPortal\MediaPortal\TVDatabase.dll</HintPath>
@@ -195,6 +196,6 @@
</Target>
-->
<PropertyGroup>
- <PostBuildEvent>copy $(ProjectName).dll "D:\SVN\MediaPortal\xbmc\bin\Release\plugins\Windows"</PostBuildEvent>
+ <PostBuildEvent>copy $(ProjectName).dll "C:\Program Files\Team MediaPortal\MediaPortal\plugins\Windows"</PostBuildEvent>
</PropertyGroup>
</Project>
\ No newline at end of file
Modified: trunk/plugins/WebEPGfr/WebEPGfrSetup.cs
===================================================================
--- trunk/plugins/WebEPGfr/WebEPGfrSetup.cs 2009-11-19 20:26:07 UTC (rev 3170)
+++ trunk/plugins/WebEPGfr/WebEPGfrSetup.cs 2009-11-19 22:03:10 UTC (rev 3171)
@@ -50,7 +50,8 @@
ListViewItem MyItem;
String _Nom_Fichier_Guide_MP = "TVguide.xml";
- String _DTD = "";
+ String _DTD = string.Empty;
+ String _DTDUri = @"http://membled.com/work/apps/xmltv/cvs_working/xmltv.dtd";
bool _TVServer = System.IO.File.Exists(Config.GetFolder(Config.Dir.Plugins) + @"\Windows\TvPlugin.dll");
/// <summary>
@@ -80,7 +81,7 @@
// Contr\xF4le de saisie
private bool ControleSaisie()
{
-// Le nom d'utilisateur, le r\xE9pertoire XMLTV et le nom du fichier guide sont obligatoires
+ // Le nom d'utilisateur, le r\xE9pertoire XMLTV et le nom du fichier guide sont obligatoires
if ( Repertoire_XMLTV_WebEPGfr.Text == "" && Nom_Fichier_Guide_WebEPGfr.Text == "")
{
libinfo.Text = "Le r\xE9pertoire XMLTV et le nom du fichier guide sont obligatoires";
@@ -89,32 +90,38 @@
}
else
{
- if ((kazer_UserName.Text == "")&&(_GrabberMethod== InfosSuivantSites.Grabber.Kazer ) )
+ if ( (string.IsNullOrEmpty (kazer_UserName.Text) )&&(_GrabberMethod== InfosSuivantSites.Grabber.Kazer ) )
{
libinfo.Text = "Le nom d'utilisateur est obligatoire";
libinfo.ForeColor = Color.Red;
return false;
}
- if (Repertoire_XMLTV_WebEPGfr.Text == "")
+ if ( string.IsNullOrEmpty (Repertoire_XMLTV_WebEPGfr.Text) )
{
libinfo.Text = "Le r\xE9pertoire XMLTV est obligatoire";
libinfo.ForeColor = Color.Red;
return false;
}
- if (Nom_Fichier_Guide_WebEPGfr.Text == "")
+ if ( string.IsNullOrEmpty (Nom_Fichier_Guide_WebEPGfr.Text) )
{
libinfo.Text = "Le nom du fichier guide est obligatoire";
libinfo.ForeColor = Color.Red;
return false;
}
-// Il faut que le r\xE9pertoire saisi contienne un fichier DTD
+
+ // Il faut que le r\xE9pertoire saisi contienne un fichier DTD
_DTD = Repertoire_XMLTV_WebEPGfr.Text + "\\xmltv.dtd";
if (!File.Exists(_DTD))
+ { //Telechargement du DTD si il n'existe pas
+ XMLGrabber.HttpDownloader(new Uri(_DTDUri), _DTD);
+ }
+ if (!File.Exists(_DTD))
{
libinfo.Text = "R\xE9pertoire XMLTV non valide (Fichier xmltv.dtd non trouv\xE9)";
libinfo.ForeColor = Color.Red;
return false;
}
+
return true;
}
}
Modified: trunk/plugins/WebEPGfr/WebEPGfr_planification/WebEPGfr_planification.csproj
===================================================================
--- trunk/plugins/WebEPGfr/WebEPGfr_planification/WebEPGfr_planification.csproj 2009-11-19 20:26:07 UTC (rev 3170)
+++ trunk/plugins/WebEPGfr/WebEPGfr_planification/WebEPGfr_planification.csproj 2009-11-19 22:03:10 UTC (rev 3171)
@@ -73,6 +73,6 @@
</Target>
-->
<PropertyGroup>
- <PostBuildEvent>copy $(ProjectName).dll ..\..\..\..\..\MediaPortal\xbmc\bin\Release\plugins\process</PostBuildEvent>
+ <PostBuildEvent>copy $(ProjectName).dll "C:\Program Files\Team MediaPortal\MediaPortal\plugins\process"</PostBuildEvent>
</PropertyGroup>
</Project>
\ No newline at end of file
Modified: trunk/plugins/WebEPGfr/XmlToolBox.cs
===================================================================
--- trunk/plugins/WebEPGfr/XmlToolBox.cs 2009-11-19 20:26:07 UTC (rev 3170)
+++ trunk/plugins/WebEPGfr/XmlToolBox.cs 2009-11-19 22:03:10 UTC (rev 3171)
@@ -338,123 +338,140 @@
public long DoMapping()
{
long lReturn = -1;
- if (IsMappingFileExist() == 0)
- { //Si un fichier de Mapping existe
- // if (base.Count == 0) { GetMappings(); }
- FileInfo oTempFile = new FileInfo(this.Configuration.File.ToString());
- if (oTempFile.Exists == true)
- {
- //Realisation du mapping via un streamReader pour gagner en perf.
- // probl\xE8me d'accent : faire de l'iso 8859 ici aussi
- System.Net.WebClient oWClient = new System.Net.WebClient();
- oWClient.Encoding = System.Text.Encoding.GetEncoding("iso-8859-1");
- oTempFile.CopyTo(oTempFile.Directory + @"\Writing.xml", true);
- StreamReader oStreamReader = new StreamReader(oTempFile.Directory + @"\Writing.xml", System.Text.Encoding.GetEncoding("iso-8859-1"));
- StreamWriter oStreamWriter = new System.IO.StreamWriter(this.Configuration.File.ToString(), false, oStreamReader.CurrentEncoding);
- XMLTVFile oXmltVFile=null;
- string sReadLine2="";
- string sReadLine = "";
+ try
+ {
+ if (IsMappingFileExist() == 0)
+ { //Si un fichier de Mapping existe
+ // if (base.Count == 0) { GetMappings(); }
+ FileInfo oTempFile = new FileInfo(this.Configuration.File.ToString());
+ if (oTempFile.Exists == true)
+ {
+ //Realisation du mapping via un streamReader pour gagner en perf.
+ // probl\xE8me d'accent : faire de l'iso 8859 ici aussi
+ System.Net.WebClient oWClient = new System.Net.WebClient();
+ oWClient.Encoding = System.Text.Encoding.GetEncoding("iso-8859-1");
+ oTempFile.CopyTo(oTempFile.Directory + @"\Writing.xml", true);
+ StreamReader oStreamReader = new StreamReader(oTempFile.Directory + @"\Writing.xml", System.Text.Encoding.GetEncoding("iso-8859-1"));
+ StreamWriter oStreamWriter = new System.IO.StreamWriter(this.Configuration.File.ToString(), false, oStreamReader.CurrentEncoding);
+ XMLTVFile oXmltVFile = null;
+ string sReadLine2 = "";
+ string sReadLine = "";
- do
- {
- sReadLine = oStreamReader.ReadLine();
- if (sReadLine != null)
+ do
{
- if (sReadLine.IndexOf(@"display-name>") > 0)
- {//Si la ligne semble etre un descriptif de chaine on realise le mapping
- sReadLine = DoMapping(sReadLine);
- //La portion ci dessous est non critique en cas de soucis
- //on s'efforce \xE0 ce que ce soit neutre afin de ne pas casser
- // la structure du Xml
- sReadLine2 = oStreamReader.ReadLine();
- if (sReadLine2.IndexOf(@"icon src=") > 0)
- {
- try
+ sReadLine = oStreamReader.ReadLine();
+ if (sReadLine != null)
+ {
+ if (sReadLine.IndexOf(@"display-name>") > 0)
+ {//Si la ligne semble etre un descriptif de chaine on realise le mapping
+ sReadLine = DoMapping(sReadLine);
+ //La portion ci dessous est non critique en cas de soucis
+ //on s'efforce \xE0 ce que ce soit neutre afin de ne pas casser
+ // la structure du Xml
+ sReadLine2 = oStreamReader.ReadLine();
+ if (sReadLine2.IndexOf(@"icon src=") > 0)
{
- string sFile = sReadLine2.Replace("<icon src=\"", "");
- sFile = sFile.Substring(0, sFile.IndexOf("\""));
- string sLocation = MediaPortal.Configuration.Config.GetDirectoryInfo(MediaPortal.Configuration.Config.Dir.Thumbs) + @"\tv\logos\";
- DownloadPoster(sFile.Trim(), sLocation);
+ try
+ {
+ string sFile = sReadLine2.Replace("<icon src=\"", "");
+ sFile = sFile.Substring(0, sFile.IndexOf("\""));
+ string sLocation = MediaPortal.Configuration.Config.GetDirectoryInfo(MediaPortal.Configuration.Config.Dir.Thumbs) + @"\tv\logos\";
+ DownloadPoster(sFile.Trim(), sLocation);
+ }
+ catch (Exception e) { Log.Info("WebEPGfr : Probleme durant le telechargement des images - " + e.Message); }
}
- catch (Exception e) { Log.Info("WebEPGfr : Probleme durant le telechargement des images - " + e.Message ); }
}
+ oStreamWriter.WriteLine(sReadLine);
+ if (!string.IsNullOrEmpty(sReadLine2)) { oStreamWriter.WriteLine(sReadLine2); sReadLine2 = ""; }
}
- oStreamWriter.WriteLine(sReadLine);
- if (!string.IsNullOrEmpty(sReadLine2)) { oStreamWriter.WriteLine(sReadLine2); sReadLine2 = ""; }
}
- }
- while (sReadLine != null);
+ while (sReadLine != null);
- oStreamWriter.Close();
- oStreamReader.Close();
-
- oXmltVFile = new XMLTVFile(); //Contient le fichier xmltv abouti.
- oXmltVFile.Load(this.Configuration.File.ToString());
- if (ChannelsToKeep != null) //Il y a une liste de fichier a preserver
- {
- Log.Info("WebEPGfr : Preservation des canaux");
- oXmltVFile.Channel_KeepOnly(this.ChannelsToKeep );
- }
+ oStreamWriter.Close();
+ oStreamReader.Close();
- FileInfo oFinalFile = new FileInfo(this.Configuration.File.ToString());
- if (oFinalFile.Exists == true)
- {
- /*fmu : Je remplace la copie dans le repertoire de MP par le repertoire + nom de fichier
- * defini dans la config car, c'est le plugin qui s'occupe de la copie.
+ oXmltVFile = new XMLTVFile(); //Contient le fichier xmltv abouti.
+ oXmltVFile.Load(this.Configuration.File.ToString());
+ if (ChannelsToKeep != null) //Il y a une liste de fichier a preserver
+ {
+ Log.Info("WebEPGfr : Preservation des canaux");
+ oXmltVFile.Channel_KeepOnly(this.ChannelsToKeep);
+ }
- if (Configuration.Repertoire_XMLTV_Mediaportal.Substring(Configuration.Repertoire_XMLTV_Mediaportal.Length - 1, 1) != @"\")
+ FileInfo oFinalFile = new FileInfo(this.Configuration.File.ToString());
+ if (oFinalFile.Exists == true)
{
- Configuration.Repertoire_XMLTV_Mediaportal = Configuration.Repertoire_XMLTV_Mediaportal + @"\";
- }
+ /*fmu : Je remplace la copie dans le repertoire de MP par le repertoire + nom de fichier
+ * defini dans la config car, c'est le plugin qui s'occupe de la copie.
+
+ if (Configuration.Repertoire_XMLTV_Mediaportal.Substring(Configuration.Repertoire_XMLTV_Mediaportal.Length - 1, 1) != @"\")
+ {
+ Configuration.Repertoire_XMLTV_Mediaportal = Configuration.Repertoire_XMLTV_Mediaportal + @"\";
+ }
- if (File.Exists(Configuration.Repertoire_XMLTV_Mediaportal.ToString() + Configuration.DestinationFile.ToString()))
- { File.Delete(Configuration.Repertoire_XMLTV_Mediaportal.ToString() + Configuration.DestinationFile.ToString()); }
+ if (File.Exists(Configuration.Repertoire_XMLTV_Mediaportal.ToString() + Configuration.DestinationFile.ToString()))
+ { File.Delete(Configuration.Repertoire_XMLTV_Mediaportal.ToString() + Configuration.DestinationFile.ToString()); }
- if (oXmltVFile!=null)
- {
- oXmltVFile.Save(Configuration.Repertoire_XMLTV_Mediaportal.ToString() + Configuration.DestinationFile.ToString());
- oXmltVFile = null;
- }
- else
- {
- oFinalFile.CopyTo(Configuration.Repertoire_XMLTV_Mediaportal.ToString() + Configuration.DestinationFile.ToString(), true);
- } */
+ if (oXmltVFile!=null)
+ {
+ oXmltVFile.Save(Configuration.Repertoire_XMLTV_Mediaportal.ToString() + Configuration.DestinationFile.ToString());
+ oXmltVFile = null;
+ }
+ else
+ {
+ oFinalFile.CopyTo(Configuration.Repertoire_XMLTV_Mediaportal.ToString() + Configuration.DestinationFile.ToString(), true);
+ } */
- string sLastFinalFile = oTempFile.Directory.ToString() + @"\" + Configuration.DestinationFile.ToString();
- if (File.Exists(sLastFinalFile))
- {//Efface l'ancien TVguide.xml
- File.Delete(sLastFinalFile);
+ string sLastFinalFile = oTempFile.Directory.ToString() + @"\" + Configuration.DestinationFile.ToString();
+ if (File.Exists(sLastFinalFile))
+ {//Efface l'ancien TVguide.xml
+ File.Delete(sLastFinalFile);
+ }
+
+ if (oXmltVFile != null)
+ {//si oXmlTV != null c'est qu'il respecte le Dtd, histoire de ne pas filer a MP un mauvais fichier
+ oXmltVFile.Save(sLastFinalFile);
+ oXmltVFile = null;
+ Log.Info("WebEPGfr : Copie Safe");
+ }
+ else
+ {
+ Log.Info("WebEPGfr : Copie Unsafe");
+ oFinalFile.CopyTo(sLastFinalFile, true);
+ }
+
+ oFinalFile.Delete(); // Suppression du fichier tnt ou complet
}
- if (oXmltVFile != null)
- {//si oXmlTV != null c'est qu'il respecte le Dtd, histoire de ne pas filer a MP un mauvais fichier
- oXmltVFile.Save(sLastFinalFile);
- oXmltVFile = null;
- Log.Info("WebEPGfr : Copie Safe");
+ //Nettoyage
+ oStreamWriter = null;
+ oStreamReader = null;
+ if (File.Exists(oTempFile.Directory + @"\Writing.xml"))
+ {
+ File.Delete(oTempFile.Directory + @"\Writing.xml");
}
- else
- {
- Log.Info("WebEPGfr : Copie Unsafe");
- oFinalFile.CopyTo(sLastFinalFile, true);
- }
+ oTempFile = null;
+ oFinalFile = null;
- oFinalFile.Delete(); // Suppression du fichier tnt ou complet
+ lReturn = 0;
}
- //Nettoyage
- oStreamWriter = null;
- oStreamReader = null;
- if (File.Exists(oTempFile.Directory + @"\Writing.xml"))
- {
- File.Delete(oTempFile.Directory + @"\Writing.xml");
+ }
+ else
+ {//Pas de Mapping on renome le fichier si besoin
+ string sFile = this.Configuration.File.ToString();
+ if (!sFile.ToLower().EndsWith(Configuration.DestinationFile.ToString().ToLower()))
+ {
+ string sDestFile = Path.Combine(Configuration.Repertoire_XMLTV_Mediaportal, Configuration.DestinationFile.ToString());
+ if (File.Exists(sDestFile)) { File.Delete(sDestFile); }
+ File.Copy(sFile, sDestFile);
+ File.Delete(sFile);
+ lReturn = 1;
}
- oTempFile = null;
- oFinalFile = null;
-
- lReturn = 0;
}
+ }
+ catch { }
- }
return lReturn;
}
@@ -809,6 +826,58 @@
}
#endregion
+
+ public static string HttpDownloader(Uri oUri, string sDestinationPath)
+ {
+ string sPath = string.Empty;
+ System.Net.WebClient oWClient = new System.Net.WebClient();
+ oWClient.Encoding = System.Text.Encoding.GetEncoding("iso-8859-1");
+ // pour \xE9viter le plantage dans MP et dans le setup si le site kazer
+ // n'est pas disponible (timeout sur OpenRead)
+ try
+ {
+ Stream oStream = oWClient.OpenRead(oUri.ToString());
+ StreamReader oStreamReader = new StreamReader(oStream, System.Text.Encoding.GetEncoding("iso-8859-1"));
+ sPath = sDestinationPath;
+
+ StreamWriter oStreamWriter = new System.IO.StreamWriter(sPath, false, oStreamReader.CurrentEncoding);
+
+ string sTempline = string.Empty;
+
+ do//Lecture du fichier
+ {
+ sTempline = oStreamReader.ReadLine();
+ if (sTempline != null)
+ {
+ oStreamWriter.WriteLine(sTempline);
+ }
+ }
+ while (sTempline != null);
+
+ //Dispose All
+ oStreamReader.Close();
+ oStreamWriter.Close();
+ oStream.Close();
+ oWClient.Dispose();
+ oStreamWriter = null;
+ oStreamReader = null;
+ oStream = null;
+ oWClient = null;
+
+ }
+ catch
+ {
+ return string.Empty;
+ }
+ if (File.Exists(sDestinationPath))
+ {
+ return sDestinationPath;
+ }
+ else
+ {
+ return string.Empty;
+ }
+ }
}
///<summary>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|