Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugal-tweak.git;a=commitdiff;h=5a3ec8f6fa6e817b3f5dcef0e6455bd6bf2127c3

commit 5a3ec8f6fa6e817b3f5dcef0e6455bd6bf2127c3
Author: bouleetbil <bouleet...@frogdev.info>
Date:   Sun Dec 19 23:18:33 2010 +0100

*added draft for twitter/identi.ca client

diff --git a/frugal-mono-tools/OUTILS/Outils.cs 
b/frugal-mono-tools/OUTILS/Outils.cs
index a8bd248..dd57e61 100644
--- a/frugal-mono-tools/OUTILS/Outils.cs
+++ b/frugal-mono-tools/OUTILS/Outils.cs
@@ -19,6 +19,9 @@ using System;
using System.Diagnostics;
using System.Collections.Generic;
using System.IO;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Net;

namespace frugalmonotools
{
@@ -264,6 +267,113 @@ namespace frugalmonotools
return ret;

}*/
+               /// <summary>
+               /// Détecte les urls dans une chaine
+               /// </summary>
+               /// <param name="text">
+               /// A <see cref="System.String"/>
+               /// </param>
+               /// <returns>
+               /// A <see cref="System.String"/>
+               /// </returns>
+               public static string UrlDetection(string text,string origine)
+               {
+                       // match protocol://url
+                       Regex httpRegex = new Regex(@"([a-z]+://[^)(,!\s]+)", 
RegexOptions.IgnoreCase);
+                       // match www. url
+                       Regex wwwRegex = new 
Regex(@"(?:^|\s)(www\.[^)(,!\s]+)", RegexOptions.IgnoreCase);
+                       // match @nickname
+                       Regex atRegex = new Regex(@"@([^\s:,!]+)", 
RegexOptions.IgnoreCase);
+
+                       text = httpRegex.Replace(text, "<a href=\"$1\">$1</a>");
+                       text = atRegex.Replace(text, "@<a 
href=\"http://"+origine+"/$1\";>$1</a>");
+                       text = wwwRegex.Replace(text, "<a 
href=\"http://$1\";>$1</a>");
+
+                       return text;
+               }
+               /// <summary>
+               /// ouvre le navigateur
+               /// </summary>
+               /// <param name="address">
+               /// A <see cref="System.String"/>
+               /// </param>
+               /// <returns>
+               /// A <see cref="System.Boolean"/>
+               /// </returns>
+               public static bool old_OpenLink(string address) {
+       try {
+               int plat = (int) Environment.OSVersion.Platform;
+               if ((plat != 4) && (plat != 128)) {
+                   // Use Microsoft's way of opening sites
+                   Process.Start(address);
+                               return true;
+                        }
+                       else
+                       {
+            // We're on Unix, try gnome-open (used by GNOME), then open
+            // (used my MacOS), then Firefox or Konqueror browsers (our last
+            // hope).
+            string cmdline = String.Format("gnome-open {0} || open {0} || "+
+                "midori {0} || firefox {0} || mozilla-firefox {0} || konqueror 
{0}", address);
+            Process proc = Process.Start (cmdline);
+
+            // Sleep some time to wait for the shell to return in case of error
+            System.Threading.Thread.Sleep(250);
+
+            // If the exit code is zero or the process is still running then
+            // appearently we have been successful.
+            return (!proc.HasExited || proc.ExitCode == 0);
+                       }
+           }
+               catch  {
+               // We don't want any surprises
+               return false;
+                       }
+               }
+
+
+               static public string ToTinyURLS(string txt)
+               {
+           Regex regx = new 
Regex("http://([\\w+?\\.\\w+])+([a-za-z0-9\\~\\...@\\#\\$\\%\\^\\&amp;\\*\\(\\)_\\-\\=\\+\\\\\\/\\?\\.\\:\\;\\'\\,]*)?",
 RegexOptions.IgnoreCase);
+
+           MatchCollection mactches = regx.Matches(txt);
+
+           foreach (Match match in mactches)
+           {
+               string tURL = MakeTinyUrl(match.Value);
+               txt = txt.Replace(match.Value, tURL);
+           }
+
+           return txt;
+               }
+
+       public static string MakeTinyUrl(string Url)
+       {
+           try
+           {
+               if (Url.Length <= 12)
+               {
+                   return Url;
+               }
+               if (!Url.ToLower().StartsWith("http") && 
!Url.ToLower().StartsWith("ftp"))
+               {
+                   Url = "http://"; + Url;
+               }
+               var request = 
WebRequest.Create("http://tinyurl.com/api-create.php?url="; + Url);
+               var res = request.GetResponse();
+               string text;
+               using (var reader = new StreamReader(res.GetResponseStream()))
+               {
+                   text = reader.ReadToEnd();
+               }
+               return text;
+           }
+           catch (Exception)
+           {
+               return Url;
+           }
+               }
+
}
}

diff --git a/frugal-mono-tools/Objects/Download.cs 
b/frugal-mono-tools/Objects/Download.cs
new file mode 100644
index 0000000..ce62f9d
--- /dev/null
+++ b/frugal-mono-tools/Objects/Download.cs
@@ -0,0 +1,172 @@
+// /*
+//  * This file is part of the microblog 
<http://code.google.com/p/froggymicroblog/>
+//  *
+//  * Copyright (c) 2009, bouleetbil  <bouleet...@frogdev.info>
+//  * All rights reserved.
+//  *
+//  * Redistribution and use in source and binary forms, with or without 
modification, are
+//  * permitted provided that the following conditions are met:
+//  *
+//  * - Redistributions of source code must retain the above copyright notice, 
this list
+//  *   of conditions and the following disclaimer.
+//  * - Redistributions in binary form must reproduce the above copyright 
notice, this list
+//  *   of conditions and the following disclaimer in the documentation and/or 
other
+//  *   materials provided with the distribution.
+//  * - Neither the name of the Twitterizer nor the names of its contributors 
may be
+//  *   used to endorse or promote products derived from this software without 
specific
+//  *   prior written permission.
+//  *
+//  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 
IS" AND
+//  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
IMPLIED
+//  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
DISCLAIMED.
+//  * IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY 
DIRECT,
+//  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
(INCLUDING, BUT
+//  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 
USE, DATA, OR
+//  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
LIABILITY,
+//  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
OTHERWISE)
+//  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 
THE
+//  * POSSIBILITY OF SUCH DAMAGE.
+//  */
+
+
+
+using System;
+using System.IO;
+using System.Net;
+
+namespace frugalmonotools
+{
+
+
+       static public class Download
+       {
+               //TODO Add the proxy
+
+               /// <summary>
+               /// Téléchargement d'image
+               /// </summary>
+               /// <param name="imageUrl">
+               /// A <see cref="System.String"/>
+               /// </param>
+               /// <param name="login">
+               /// A <see cref="System.String"/>
+               /// </param>
+               /// <param name="pass">
+               /// A <see cref="System.String"/>
+               /// </param>
+               /// <returns>
+               /// A <see cref="Gdk.Pixbuf"/>
+               /// </returns>
+               public static Gdk.Pixbuf DonwloadImage(string imageUrl,string 
login,string pass)
+               {
+                       Gdk.Pixbuf pix1 ;
+                       try {
+                               HttpWebRequest req = (HttpWebRequest) 
WebRequest.Create (imageUrl);
+                               //login, mot de passe
+                               if (login != null && pass != null)
+                               {
+                                       req.Credentials = new 
NetworkCredential(login, pass);
+                               }
+                               req.KeepAlive = false;
+                               req.Timeout = 10000;
+                               WebResponse resp = null;
+                               resp = req.GetResponse ();
+                               Stream s = resp.GetResponseStream ();
+                               pix1 = new Gdk.Pixbuf (s);
+                               resp.Close ();
+                               return pix1;
+                       }
+                       catch(Exception ex)
+                       {
+                               Console.WriteLine("Get user image exception: 
GetTwitterData.cs - GetUserImage()");
+                               Console.WriteLine(ex.StackTrace);
+                               return null;
+                       }
+               }
+
+
+       public static bool SendTwit(string url,string username,string 
password,string postdata)
+               {
+                       try{
+
+                               // encode the username/password
+                               string user = 
Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(username + ":" + 
password));
+                               // determine what we want to upload as a status
+                               byte[] bytes = 
System.Text.Encoding.ASCII.GetBytes("status=" + postdata);
+                               // connect with the update page
+                               HttpWebRequest request = 
(HttpWebRequest)WebRequest.Create(url);
+                               // set the method to POST
+                               request.Method="POST";
+                               request.ServicePoint.Expect100Continue = false;
+                               // set the authorisation levels
+                               request.Headers.Add("Authorization", "Basic " + 
user);
+                               
request.ContentType="application/x-www-form-urlencoded";
+                               // set the length of the content
+                               request.ContentLength = bytes.Length;
+
+                               // set up the stream
+                               Stream reqStream = request.GetRequestStream();
+                               // write to the stream
+                               reqStream.Write(bytes, 0, bytes.Length);
+                               // close the stream
+                               reqStream.Close();
+                               return true;
+                       }
+                       catch(Exception ex )
+                       {
+                               Console.WriteLine(ex.Message.ToString());
+                               return false;
+                       }
+               }
+
+
+               /// <summary>
+               /// Téléchargement d'un fichier
+               /// </summary>
+               public static bool DownloadFile(string url,string user,
+                                                string pass,string dir , 
string filename)
+               {
+                       try
+                       {
+
+                               WebClient wc = new WebClient();
+
+                               wc.Proxy = null; //TODO : Implement it
+                               /*
+                               WebProxy p = new WebProxy ("192.178.10.49", 
808);
+                               p.Credentials = new NetworkCredential 
("username", "password");
+                               // or:
+                               p.Credentials = new NetworkCredential 
("username", "password", "domain");
+
+                               using (WebClient wc = new WebClient())
+                               {
+                                 wc.Proxy = p;
+                                 ...
+                               }
+                               */
+                               //wc.BaseAddress = url;
+                               // Authenticate, then upload and download a 
file to the FTP server.
+                               // The same approach also works for HTTP and 
HTTPS.
+
+                               string username =user;
+                               string password = pass;
+
+                               //création répertoire
+                               if (!Directory.Exists(dir)){
+                                       Directory.CreateDirectory(dir);
+                               }
+
+                               wc.Credentials = new NetworkCredential 
(username, password);
+
+                               wc.DownloadFile (url, dir+filename);
+                               return true;
+                       }
+                       catch (Exception ex)
+                       {
+                               Console.WriteLine(ex.Message.ToString());
+                               return false;
+                       }
+
+               }
+       }
+}
diff --git a/frugal-mono-tools/Objects/Message.cs 
b/frugal-mono-tools/Objects/Message.cs
new file mode 100644
index 0000000..e8ba1e6
--- /dev/null
+++ b/frugal-mono-tools/Objects/Message.cs
@@ -0,0 +1,84 @@
+// /*
+//  * This file is part of the microblog 
<http://code.google.com/p/froggymicroblog/>
+//  *
+//  * Copyright (c) 2009, bouleetbil  <bouleet...@frogdev.info>
+//  * All rights reserved.
+//  *
+//  * Redistribution and use in source and binary forms, with or without 
modification, are
+//  * permitted provided that the following conditions are met:
+//  *
+//  * - Redistributions of source code must retain the above copyright notice, 
this list
+//  *   of conditions and the following disclaimer.
+//  * - Redistributions in binary form must reproduce the above copyright 
notice, this list
+//  *   of conditions and the following disclaimer in the documentation and/or 
other
+//  *   materials provided with the distribution.
+//  * - Neither the name of the Twitterizer nor the names of its contributors 
may be
+//  *   used to endorse or promote products derived from this software without 
specific
+//  *   prior written permission.
+//  *
+//  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 
IS" AND
+//  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
IMPLIED
+//  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
DISCLAIMED.
+//  * IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY 
DIRECT,
+//  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
(INCLUDING, BUT
+//  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 
USE, DATA, OR
+//  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
LIABILITY,
+//  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
OTHERWISE)
+//  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 
THE
+//  * POSSIBILITY OF SUCH DAMAGE.
+//  */
+
+
+
+using System;
+
+namespace frugalmonotools
+{
+
+
+       public  class Message
+       {
+               private string texte;
+               private string _color;
+               private string _date;
+               public Personne User;
+
+               public string Texte {
+                       get {
+                               return texte;
+                       }
+                       set {
+                               texte = value;
+                       }
+               }
+
+               public string Color {
+                       get {
+                               return _color;
+                       }
+                       set {
+                               _color = value;
+                       }
+               }
+
+               public string Date {
+                       get {
+                               return _date;
+                       }
+                       set {
+                               _date = value;
+                       }
+               }
+
+               public Message()
+               {
+               }
+               public Message(Personne Puser,string textetwit,string 
colormessage,string datemessage){
+                       Texte=textetwit;
+                       User=Puser;
+                       Color=colormessage;
+                       Date=datemessage;
+               }
+
+       }
+}
diff --git a/frugal-mono-tools/Objects/Personne.cs 
b/frugal-mono-tools/Objects/Personne.cs
new file mode 100644
index 0000000..ed56462
--- /dev/null
+++ b/frugal-mono-tools/Objects/Personne.cs
@@ -0,0 +1,133 @@
+// /*
+//  * This file is part of the microblog 
<http://code.google.com/p/froggymicroblog/>
+//  *
+//  * Copyright (c) 2009, bouleetbil  <bouleet...@frogdev.info>
+//  * All rights reserved.
+//  *
+//  * Redistribution and use in source and binary forms, with or without 
modification, are
+//  * permitted provided that the following conditions are met:
+//  *
+//  * - Redistributions of source code must retain the above copyright notice, 
this list
+//  *   of conditions and the following disclaimer.
+//  * - Redistributions in binary form must reproduce the above copyright 
notice, this list
+//  *   of conditions and the following disclaimer in the documentation and/or 
other
+//  *   materials provided with the distribution.
+//  * - Neither the name of the Twitterizer nor the names of its contributors 
may be
+//  *   used to endorse or promote products derived from this software without 
specific
+//  *   prior written permission.
+//  *
+//  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 
IS" AND
+//  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
IMPLIED
+//  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
DISCLAIMED.
+//  * IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY 
DIRECT,
+//  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
(INCLUDING, BUT
+//  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 
USE, DATA, OR
+//  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
LIABILITY,
+//  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
OTHERWISE)
+//  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 
THE
+//  * POSSIBILITY OF SUCH DAMAGE.
+//  */
+
+
+
+using System;
+
+namespace frugalmonotools
+{
+
+
+       public class Personne
+       {
+               private string pseudo ;
+               private string nom ;
+               private string prenom;
+               private string password;
+               private string image;
+               private Gdk.Pixbuf _Logo;
+
+               public Gdk.Pixbuf Logo {
+                       get { return _Logo; }
+                       set { _Logo = value; }
+               }
+
+               public string Pseudo {
+                       get {
+                               return pseudo;
+                       }
+                       set {
+                               pseudo = value;
+                       }
+               }
+
+               public string Prenom {
+                       get {
+                               return prenom;
+                       }
+                       set {
+                               prenom = value;
+                       }
+               }
+
+               public string Nom {
+                       get {
+                               return nom;
+                       }
+                       set {
+                               nom = value;
+                       }
+               }
+
+               public string Password {
+                       get {
+                               return password;
+                       }
+                       set {
+                               password = value;
+                       }
+               }
+
+               public string Image {
+                       get {
+                               return image;
+                       }
+                       set {
+                               image = value;
+                       }
+               }
+
+
+               /// <summary>
+               /// Une personne basique
+               /// </summary>
+               /// <param name="st_nom">
+               /// A <see cref="System.String"/>
+               /// </param>
+               /// <param name="st_prenom">
+               /// A <see cref="System.String"/>
+               /// </param>
+               /// <param name="st_pseudo">
+               /// A <see cref="System.String"/>
+               /// </param>
+               public Personne(string st_nom, string st_prenom,string 
st_pseudo)
+               {
+                       this.Nom=st_nom;
+                       this.Prenom=st_prenom;
+                       this.Pseudo=st_pseudo;
+               }
+
+               /// <summary>
+               /// Création d'une personne identifé
+               /// </summary>
+               /// <param name="st_login">
+               /// A <see cref="System.String"/>
+               /// </param>
+               /// <param name="st_pass">
+               /// A <see cref="System.String"/>
+               /// </param>
+               public Personne(string st_login,string st_pass)
+               {
+                       this.Nom=st_login;
+                       this.Password=st_pass;
+               }
+       }
+}
diff --git a/frugal-mono-tools/Objects/StringExtension.cs 
b/frugal-mono-tools/Objects/StringExtension.cs
new file mode 100644
index 0000000..884f0b4
--- /dev/null
+++ b/frugal-mono-tools/Objects/StringExtension.cs
@@ -0,0 +1,92 @@
+// /*
+//  * This file is part of the microblog 
<http://code.google.com/p/froggymicroblog/>
+//  *
+//  * Copyright (c) 2009, bouleetbil  <bouleet...@frogdev.info>
+//  * All rights reserved.
+//  *
+//  * Redistribution and use in source and binary forms, with or without 
modification, are
+//  * permitted provided that the following conditions are met:
+//  *
+//  * - Redistributions of source code must retain the above copyright notice, 
this list
+//  *   of conditions and the following disclaimer.
+//  * - Redistributions in binary form must reproduce the above copyright 
notice, this list
+//  *   of conditions and the following disclaimer in the documentation and/or 
other
+//  *   materials provided with the distribution.
+//  * - Neither the name of the Twitterizer nor the names of its contributors 
may be
+//  *   used to endorse or promote products derived from this software without 
specific
+//  *   prior written permission.
+//  *
+//  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 
IS" AND
+//  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
IMPLIED
+//  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
DISCLAIMED.
+//  * IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY 
DIRECT,
+//  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
(INCLUDING, BUT
+//  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 
USE, DATA, OR
+//  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
LIABILITY,
+//  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
OTHERWISE)
+//  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 
THE
+//  * POSSIBILITY OF SUCH DAMAGE.
+//  */
+
+
+using System;
+
+namespace frugalmonotools
+{
+
+
+       public static class StringExtensions
+
+{
+
+    public static DateTime ParseDateTime(string date)
+
+    {
+                       DateTime ret ;
+                       try {
+                               //Mon Apr 06 9:28:08 +0000 2009
+                               //Mon Apr 06 09:40:05 +0000 2009
+
+                       string words = date;
+                       String[] b = words.Split(' ');
+                               //string first = b[0].Trim();//Which returns 
the text before space
+                               //Console.WriteLine(first);
+
+
+                       //string dayOfWeek = date.Substring(0, 3).Trim();
+                               string dayOfWeek = b[0].Trim();
+
+
+                       //string month = date.Substring(4, 3).Trim();
+                               string month = b[1].Trim();
+
+                       //string dayInMonth = date.Substring(8, 2).Trim();
+                               string dayInMonth = b[2].Trim();
+
+                       //string time = date.Substring(11, 9).Trim();
+                               string time = b[3].Trim();
+
+                       //string offset = date.Substring(20, 5).Trim();
+                               //string offset = 
date.Split(seps,4).ToString().Trim();
+
+                       //string year = date.Substring(25, 5).Trim();
+                               string year = b[5].Trim();
+
+                       string dateTime = string.Format("{0}-{1}-{2} {3}", 
dayInMonth, month, year, time);
+
+                       ret = DateTime.Parse(dateTime);
+
+                       return ret;
+                       }
+                       catch(Exception ex)
+                       {
+                               Console.WriteLine(ex.Message.ToString());
+                               return DateTime.Parse("");
+                       }
+
+    }
+
+}
+
+
+}
diff --git a/frugal-mono-tools/Objects/XmlParser.cs 
b/frugal-mono-tools/Objects/XmlParser.cs
new file mode 100644
index 0000000..88a2355
--- /dev/null
+++ b/frugal-mono-tools/Objects/XmlParser.cs
@@ -0,0 +1,108 @@
+// /*
+//  * This file is part of the microblog 
<http://code.google.com/p/froggymicroblog/>
+//  *
+//  * Copyright (c) 2009, bouleetbil  <bouleet...@frogdev.info>
+//  * All rights reserved.
+//  *
+//  * Redistribution and use in source and binary forms, with or without 
modification, are
+//  * permitted provided that the following conditions are met:
+//  *
+//  * - Redistributions of source code must retain the above copyright notice, 
this list
+//  *   of conditions and the following disclaimer.
+//  * - Redistributions in binary form must reproduce the above copyright 
notice, this list
+//  *   of conditions and the following disclaimer in the documentation and/or 
other
+//  *   materials provided with the distribution.
+//  * - Neither the name of the Twitterizer nor the names of its contributors 
may be
+//  *   used to endorse or promote products derived from this software without 
specific
+//  *   prior written permission.
+//  *
+//  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 
IS" AND
+//  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
IMPLIED
+//  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
DISCLAIMED.
+//  * IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY 
DIRECT,
+//  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
(INCLUDING, BUT
+//  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 
USE, DATA, OR
+//  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
LIABILITY,
+//  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
OTHERWISE)
+//  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 
THE
+//  * POSSIBILITY OF SUCH DAMAGE.
+//  */
+
+
+
+using System;
+using System.Xml;
+using System.Xml.Schema;
+
+namespace frugalmonotools
+{
+
+
+       public class XmlParser
+       {
+               private string file;
+
+               public string File {
+                       get {
+                               return file;
+                       }
+                       set {
+                               file = value;
+                       }
+               }
+
+               public XmlParser(string file)
+               {
+                       File=file;
+               }
+               /// <summary>
+               /// Parcours simple du fichier XML (a revoire)
+               /// </summary>
+               /// <param name="key">
+               /// A <see cref="System.String"/>
+               /// </param>
+               /// <returns>
+               /// A <see cref="System.String"/>
+               /// </returns>
+               public string GetValue(string key,int id)
+               {
+                       try{
+                       XmlDocument xDoc = new XmlDocument();
+                       xDoc.Load(File);
+                       XmlNodeList Valeur = xDoc.GetElementsByTagName(key);
+                       return Valeur[id].InnerText;
+                       }
+                       catch(Exception ex)
+                       {
+                               Console.WriteLine(ex.Message.ToString());
+                               return "";
+                       }
+               }
+               /// <summary>
+               /// Compte le nombre d'élèment
+               /// </summary>
+               /// <param name="key">
+               /// A <see cref="System.String"/>
+               /// </param>
+               /// <returns>
+               /// A <see cref="System.String"/>
+               /// </returns>
+               public int CountValue(string key)
+               {
+
+                       try{
+                       XmlDocument xDoc = new XmlDocument();
+                       xDoc.Load(File);
+                       XmlNodeList Valeur = xDoc.GetElementsByTagName(key);
+                       return  Convert.ToInt32(Valeur.Count);
+                       }
+                       catch(Exception ex)
+                       {
+                               Console.WriteLine(ex.Message.ToString());
+                               return 0;
+                       }
+               }
+
+
+       }
+}
diff --git a/frugal-mono-tools/Twitter/Conf.cs 
b/frugal-mono-tools/Twitter/Conf.cs
new file mode 100644
index 0000000..3c7e83c
--- /dev/null
+++ b/frugal-mono-tools/Twitter/Conf.cs
@@ -0,0 +1,168 @@
+// /*
+//  * This file is part of the microblog 
<http://code.google.com/p/froggymicroblog/>
+//  *
+//  * Copyright (c) 2009, bouleetbil  <bouleet...@frogdev.info>
+//  * All rights reserved.
+//  *
+//  * Redistribution and use in source and binary forms, with or without 
modification, are
+//  * permitted provided that the following conditions are met:
+//  *
+//  * - Redistributions of source code must retain the above copyright notice, 
this list
+//  *   of conditions and the following disclaimer.
+//  * - Redistributions in binary form must reproduce the above copyright 
notice, this list
+//  *   of conditions and the following disclaimer in the documentation and/or 
other
+//  *   materials provided with the distribution.
+//  * - Neither the name of the Twitterizer nor the names of its contributors 
may be
+//  *   used to endorse or promote products derived from this software without 
specific
+//  *   prior written permission.
+//  *
+//  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 
IS" AND
+//  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
IMPLIED
+//  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
DISCLAIMED.
+//  * IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY 
DIRECT,
+//  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
(INCLUDING, BUT
+//  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 
USE, DATA, OR
+//  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
LIABILITY,
+//  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
OTHERWISE)
+//  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 
THE
+//  * POSSIBILITY OF SUCH DAMAGE.
+//  */
+
+
+using System;
+using System.Xml;
+using System.IO;
+
+namespace frugalmonotools
+{
+
+
+       public class Conf
+       {
+
+               private string 
dirtwitter=Environment.GetEnvironmentVariable("HOME")+"/.frugalware-tweak/";
+               private string _NameTwitter;
+
+               public string NameTwitter {
+                       get { return _NameTwitter; }
+                       set { _NameTwitter = value; }
+               }
+               private string _PassTwitter;
+
+               public string PassTwitter {
+                       get { return _PassTwitter; }
+                       set { _PassTwitter = value; }
+               }
+               private string _NameIdenti;
+
+               public string NameIdenti {
+                       get { return _NameIdenti; }
+                       set { _NameIdenti = value; }
+               }
+               private string _PassIdenti;
+
+               public string PassIdenti {
+                       get { return _PassIdenti; }
+                       set { _PassIdenti = value; }
+               }
+               private string _Time;
+
+               public string Time {
+                       get { return _Time; }
+                       set { _Time = value; }
+               }
+
+               private bool _Notif;
+               public bool Notif {
+                       get {
+                               return _Notif;
+                       }
+                       set {
+                               _Notif = value;
+                       }
+               }
+
+               /// <summary>
+               ///sauvegarde la configuration
+               /// </summary>
+               /// <returns>
+               /// A <see cref="System.Boolean"/>
+               /// </returns>
+               public Boolean SaveConfig()
+               {
+                       try{
+
+                               //création répertoire
+                               if (!Directory.Exists(dirtwitter)){
+                                       Directory.CreateDirectory(dirtwitter);
+                               }
+                               XmlTextWriter myXmlTextWriter = new 
XmlTextWriter (dirtwitter+"config.xml", System.Text.Encoding.UTF8);
+                               myXmlTextWriter.Formatting = 
Formatting.Indented;
+                               myXmlTextWriter.WriteStartDocument(true);
+                               myXmlTextWriter.WriteStartElement("Config");
+                               
myXmlTextWriter.WriteAttributeString("NameTwitter", NameTwitter);
+                               
myXmlTextWriter.WriteAttributeString("PassTwitter", PassTwitter);
+                               
myXmlTextWriter.WriteAttributeString("NameIdenti", NameIdenti);
+                               
myXmlTextWriter.WriteAttributeString("PassIdenti", PassIdenti);
+                               myXmlTextWriter.WriteAttributeString("Time", 
Time);
+                               if (Notif)
+                               {
+                                       
myXmlTextWriter.WriteAttributeString("Notif", "1");
+                               }
+                               else{
+                                       
myXmlTextWriter.WriteAttributeString("Notif", "0");
+                               }
+
+                               myXmlTextWriter.WriteEndDocument();
+                               myXmlTextWriter.Flush();
+                               myXmlTextWriter.Close();
+                               return true;
+                       }
+                       catch(Exception ex)
+                       {
+                               Console.WriteLine(ex.Message.ToString());
+                               return false;
+                       }
+               }
+
+
+               public Boolean LoadConfig()
+               {
+                       try{
+                               XmlTextReader reader = new 
XmlTextReader(dirtwitter+"config.xml");
+                               if (reader.Read())
+                           {
+                               reader.MoveToContent();
+                               //pour le moment qu'un noeud on vera plus tard 
si on ajoute des éléments
+                               if (reader.Name.ToString()=="Config")
+                                       {
+                                               
NameTwitter=reader.GetAttribute("NameTwitter");
+                                               
PassTwitter=reader.GetAttribute("PassTwitter");
+                                               
NameIdenti=reader.GetAttribute("NameIdenti");
+                                               
PassIdenti=reader.GetAttribute("PassIdenti");
+                                               
Time=reader.GetAttribute("Time");
+                                               if(reader.GetAttribute("Notif") 
== "1")
+                                               {
+                                                Notif=true;
+                                               }
+                                               else{
+                                                       Notif=false;
+                                               }
+
+
+                                               reader.Close();
+                                               return true;
+                                       }
+                           }
+                               reader.Close();
+                               return false;//on a rien trouvé
+                       }
+                       catch
+                       {
+                               return false;
+                       }
+               }
+
+
+       }
+}
diff --git a/frugal-mono-tools/Twitter/IdentiObject.cs 
b/frugal-mono-tools/Twitter/IdentiObject.cs
new file mode 100644
index 0000000..759401e
--- /dev/null
+++ b/frugal-mono-tools/Twitter/IdentiObject.cs
@@ -0,0 +1,159 @@
+// /*
+//  * This file is part of the microblog 
<http://code.google.com/p/froggymicroblog/>
+//  *
+//  * Copyright (c) 2009, bouleetbil  <bouleet...@frogdev.info>
+//  * All rights reserved.
+//  *
+//  * Redistribution and use in source and binary forms, with or without 
modification, are
+//  * permitted provided that the following conditions are met:
+//  *
+//  * - Redistributions of source code must retain the above copyright notice, 
this list
+//  *   of conditions and the following disclaimer.
+//  * - Redistributions in binary form must reproduce the above copyright 
notice, this list
+//  *   of conditions and the following disclaimer in the documentation and/or 
other
+//  *   materials provided with the distribution.
+//  * - Neither the name of the Twitterizer nor the names of its contributors 
may be
+//  *   used to endorse or promote products derived from this software without 
specific
+//  *   prior written permission.
+//  *
+//  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 
IS" AND
+//  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
IMPLIED
+//  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
DISCLAIMED.
+//  * IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY 
DIRECT,
+//  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
(INCLUDING, BUT
+//  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 
USE, DATA, OR
+//  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
LIABILITY,
+//  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
OTHERWISE)
+//  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 
THE
+//  * POSSIBILITY OF SUCH DAMAGE.
+//  */
+
+
+
+using System;
+using System.Collections.Generic;
+using System.Xml;
+using System.Xml.Schema;
+
+namespace frugalmonotools
+{
+
+
+       public class IdentiObject
+       {
+               private string 
IdentiUrlProfil="http://identi.ca/api/account/verify_credentials.xml";;
+               private string IdentiPostUrl = 
"http://identi.ca/api/statuses/update.xml";;
+               private string IdentiFriendsUrl = 
"http://identi.ca/api/statuses/friends_timeline.xml";;
+
+               public int NbTwit;
+               public List<Message> LstIdenti; //liste de twits
+
+               private string 
dirtwitter=Environment.GetEnvironmentVariable("HOME")+"/.microblog/identi/";
+               public Personne User;
+
+               public IdentiObject(string login, string password)
+               {
+                       User= new Personne(login,password);
+                       
Download.DownloadFile(IdentiUrlProfil,User.Nom,User.Password,dirtwitter,"profil.xml");
+                       //parser le fichier xml afin de récupérer mon profil
+                       XmlParser Xmlprofil= new 
XmlParser(dirtwitter+"profil.xml");
+                       User.Image=Xmlprofil.GetValue("profile_image_url",0);
+                       User.Pseudo=Xmlprofil.GetValue("screen_name",0);
+               }
+                       /// <summary>
+               /// Téléchargement des twittes
+               /// </summary>
+               /// <returns>
+               /// A <see cref="System.Boolean"/>
+               /// </returns>
+               public Boolean GetMessages()
+               {
+                       try{
+                       
Download.DownloadFile(IdentiFriendsUrl,User.Nom,User.Password,dirtwitter,"message.xml");
+                       LstIdenti = new List<Message>();
+                       //compter le nombre de twitter
+                       XmlParser XmlTwit= new 
XmlParser(dirtwitter+"message.xml");
+                       NbTwit = XmlTwit.CountValue("status");
+                       //creation d'un twit
+                       Personne UserTwit;
+                       Message UnTwit;
+                       /*for (int cpt = NbTwit-1; cpt>-1;cpt--)
+                       {
+                               UserMessage = new 
Personne("","",XmlTwit.GetValue("screen_name",cpt));
+                               
UserMessage.Image=XmlTwit.GetValue("profile_image_url",cpt);
+                               UnMessage=new 
Message(UserMessage,XmlTwit.GetValue("text",cpt),"red",XmlTwit.GetValue("created_at",cpt));
+                               //TODO ajouter une gestion de cache pour les 
images
+                               
UnMessage.User.Logo=Download.DonwloadImage(UnMessage.User.Image,User.Nom,User.Password);
+                               LstIdenti.Add(UnMessage);
+                       }*/
+                       XmlDocument MyXml = new XmlDocument();
+                       MyXml.Load(dirtwitter+"message.xml");
+                       foreach (XmlElement Child in 
MyXml.DocumentElement.GetElementsByTagName("status"))
+                       {
+
+
+                               string name;
+                               string image;
+                               ParseUserNode(Child["user"],out name,out image);
+                               UserTwit = new Personne("","",name);
+                               UserTwit.Image=image;
+
+                               UnTwit=new 
Message(UserTwit,Child["text"].InnerText,"blue",Child["created_at"].InnerText);
+                               //UnMessage=new 
Message(UserMessage,XmlTwit.GetValue("text",cpt),"red",XmlTwit.GetValue("created_at",cpt));
+                               //TODO ajouter une gestion de cache pour les 
images
+                               
UnTwit.User.Logo=Download.DonwloadImage(UnTwit.User.Image,User.Nom,User.Password);
+                               //Console.WriteLine("Le "+UnTwit.Date+" :" 
+UnTwit.Texte);
+                               LstIdenti.Add(UnTwit);
+
+                       }
+
+                       //ajout d'un twit dans la liste
+                       return true;
+                       }
+                       catch(Exception ex)
+                       {
+                               Console.WriteLine(ex.Message.ToString());
+                               return false;
+                       }
+               }
+               /// <summary>
+               /// Recupere un message en particulier
+               /// </summary>
+               /// <param name="id">
+               /// A <see cref="System.Int32"/>
+               /// </param>
+               /// <returns>
+               /// A <see cref="Message"/>
+               /// </returns>
+               public Message GetUnMessage(int id)
+               {
+                       Message UnTwit = new Message();
+                       try{
+                               UnTwit = LstIdenti[id];
+                               return UnTwit;
+                       }
+                       catch(Exception ex)
+                       {
+                               Console.WriteLine(ex.Message.ToString());
+                               return UnTwit;
+                       }
+
+               }
+               private void ParseUserNode(XmlNode Element,out string nom, out 
string image)
+               {
+
+                       nom = Element["screen_name"].InnerText;
+                       image= Element["profile_image_url"].InnerText;
+
+               }
+               /// <summary>
+               /// Send message to identi
+               /// </summary>
+               /// <param name="text"></param>
+               /// <returns></returns>
+               public Boolean SendText(string text)
+               {
+                       return 
Download.SendTwit(IdentiPostUrl,this.User.Nom,this.User.Password,text);
+               }
+       }
+}
diff --git a/frugal-mono-tools/Twitter/TwitterObject.cs 
b/frugal-mono-tools/Twitter/TwitterObject.cs
new file mode 100644
index 0000000..f2e8575
--- /dev/null
+++ b/frugal-mono-tools/Twitter/TwitterObject.cs
@@ -0,0 +1,162 @@
+// /*
+//  * This file is part of the microblog 
<http://code.google.com/p/froggymicroblog/>
+//  *
+//  * Copyright (c) 2009, bouleetbil  <bouleet...@frogdev.info>
+//  * All rights reserved.
+//  *
+//  * Redistribution and use in source and binary forms, with or without 
modification, are
+//  * permitted provided that the following conditions are met:
+//  *
+//  * - Redistributions of source code must retain the above copyright notice, 
this list
+//  *   of conditions and the following disclaimer.
+//  * - Redistributions in binary form must reproduce the above copyright 
notice, this list
+//  *   of conditions and the following disclaimer in the documentation and/or 
other
+//  *   materials provided with the distribution.
+//  * - Neither the name of the Twitterizer nor the names of its contributors 
may be
+//  *   used to endorse or promote products derived from this software without 
specific
+//  *   prior written permission.
+//  *
+//  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 
IS" AND
+//  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
IMPLIED
+//  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
DISCLAIMED.
+//  * IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY 
DIRECT,
+//  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
(INCLUDING, BUT
+//  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 
USE, DATA, OR
+//  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
LIABILITY,
+//  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
OTHERWISE)
+//  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 
THE
+//  * POSSIBILITY OF SUCH DAMAGE.
+//  */
+
+
+
+using System;
+using System.Collections.Generic;
+using System.Xml;
+using System.Xml.Schema;
+
+namespace frugalmonotools
+{
+
+       /// <summary>
+       /// C'est le twitter de l'utilisateur
+       /// </summary>
+       public class TwitterObject
+       {
+
+               private string 
TwitterUrlProfil="http://www.twitter.com/account/verify_credentials.xml";;
+               private string TwitterPostUrl = 
"http://twitter.com/statuses/update.xml";;
+               private string TwitterFriendsUrl = 
"http://twitter.com/statuses/friends_timeline.xml";;
+
+               public int NbTwit;
+               public List<Message> LstTwitter; //liste de twits
+
+               private string 
dirtwitter=Environment.GetEnvironmentVariable("HOME")+"/.microblog/twitter/";
+               public Personne User;
+
+
+               public TwitterObject(string login, string password)
+               {
+                       User= new Personne(login,password);
+                       
Download.DownloadFile(TwitterUrlProfil,User.Nom,User.Password,dirtwitter,"profil.xml");
+                       //parser le fichier xml afin de récupérer mon profil
+                       XmlParser Xmlprofil= new 
XmlParser(dirtwitter+"profil.xml");
+                       User.Image=Xmlprofil.GetValue("profile_image_url",0);
+                       User.Pseudo=Xmlprofil.GetValue("screen_name",0);
+
+               }
+               //
+               public Message GetUnTwit(int id)
+               {
+                       Message UnTwit = new Message();
+                       try{
+                               UnTwit = LstTwitter[id];
+                               return UnTwit;
+                       }
+                       catch(Exception ex)
+                       {
+                               Console.WriteLine(ex.Message.ToString());
+                               return UnTwit;
+                       }
+
+               }
+               public Boolean SendText(string text)
+               {
+                       return 
Download.SendTwit(TwitterPostUrl,this.User.Nom,this.User.Password,text);
+               }
+
+               private void ParseUserNode(XmlNode Element,out string nom, out 
string image)
+               {
+
+                       nom = Element["screen_name"].InnerText;
+                       image= Element["profile_image_url"].InnerText;
+
+               }
+
+               /// <summary>
+               /// Téléchargement des twittes
+               /// </summary>
+               /// <returns>
+               /// A <see cref="System.Boolean"/>
+               /// </returns>
+               public Boolean GetTwitts()
+               {
+                       try{
+                       
Download.DownloadFile(TwitterFriendsUrl,User.Nom,User.Password,dirtwitter,"message.xml");
+                       LstTwitter = new List<Message>();
+                       //compter le nombre de twitter
+                       XmlParser XmlTwit= new 
XmlParser(dirtwitter+"message.xml");
+
+
+                       NbTwit = XmlTwit.CountValue("status");
+                       //Console.WriteLine("nb twit"+NbTwit);
+                       //creation d'un twit
+                       Personne UserTwit;
+                       Message UnTwit;
+                       XmlDocument MyXml = new XmlDocument();
+                       MyXml.Load(dirtwitter+"message.xml");
+                       foreach (XmlElement Child in 
MyXml.DocumentElement.GetElementsByTagName("status"))
+                       {
+                               //Collection.Add(ParseStatusNode(Child));
+                               //Mon May 12 15:56:07 +0000 2008
+                               /*Status.ID = 
int.Parse(Element["id"].InnerText);
+                               Status.Created = 
ParseDateString(Element["created_at"].InnerText);
+                               Status.Text = Element["text"].InnerText;
+                               Status.Source = Element["source"].InnerText;
+                               Status.IsTruncated = 
bool.Parse(Element["truncated"].InnerText);*/
+                               
//Console.WriteLine(Child["created_at"].InnerText+" : 
"+Child["text"].InnerText);
+
+
+                               //UserTwit = new 
Personne("","",XmlTwit.GetValue("screen_name",cpt));
+                               
//UserTwit.Image=XmlTwit.GetValue("profile_image_url",cpt);
+
+                               string name;
+                               string image;
+                               ParseUserNode(Child["user"],out name,out image);
+                               UserTwit = new Personne("","",name);
+                               UserTwit.Image=image;
+
+                               UnTwit=new 
Message(UserTwit,Child["text"].InnerText,"blue",Child["created_at"].InnerText);
+                               //UnMessage=new 
Message(UserMessage,XmlTwit.GetValue("text",cpt),"red",XmlTwit.GetValue("created_at",cpt));
+                               //TODO ajouter une gestion de cache pour les 
images
+                               
UnTwit.User.Logo=Download.DonwloadImage(UnTwit.User.Image,User.Nom,User.Password);
+                               LstTwitter.Add(UnTwit);
+                               //cpt--;
+                       }
+                       //ajout d'un twit dans la liste
+                       return true;
+                       }
+                       catch(Exception ex)
+                       {
+                               Console.WriteLine(ex.Message.ToString());
+                               return false;
+                       }
+
+               }
+
+       }
+
+
+
+
+}
diff --git a/frugal-mono-tools/frugal-mono-tools.csproj 
b/frugal-mono-tools/frugal-mono-tools.csproj
index 71db31e..d2b0424 100644
--- a/frugal-mono-tools/frugal-mono-tools.csproj
+++ b/frugal-mono-tools/frugal-mono-tools.csproj
@@ -158,6 +158,14 @@
<Compile Include="gtk-gui\frugalmonotools.WID_Notes.cs" />
<Compile Include="FrugalNote.cs" />
<Compile Include="Systemd.cs" />
+    <Compile Include="Objects\Download.cs" />
+    <Compile Include="Objects\Message.cs" />
+    <Compile Include="Objects\Personne.cs" />
+    <Compile Include="Objects\StringExtension.cs" />
+    <Compile Include="Objects\XmlParser.cs" />
+    <Compile Include="Twitter\IdentiObject.cs" />
+    <Compile Include="Twitter\TwitterObject.cs" />
+    <Compile Include="Twitter\Conf.cs" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<ProjectExtensions>
_______________________________________________
Frugalware-git mailing list
Frugalware-git@frugalware.org
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to