/[xmltv_parser]/trunk/GBPVRProgramDatabaseFixer/Program.cs
ViewVC logotype

Diff of /trunk/GBPVRProgramDatabaseFixer/Program.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 154 by william, Thu Mar 14 16:56:05 2013 UTC revision 156 by william, Thu Mar 14 19:25:17 2013 UTC
# Line 12  namespace GBPVRProgramDatabaseFixer Line 12  namespace GBPVRProgramDatabaseFixer
12  {  {
13      class Program      class Program
14      {      {
15            static SQLLITE sqlite;
16          static string XMLTV_FILE = "";          static string XMLTV_FILE = "";
17          static string GBPVR_DATABASE = "";          static string GBPVR_DATABASE = "";
18    
19            static bool LOADING_XMLTV_FILE = false;
20          static bool XMLTV_INSTANCE_CREATED = false;          static bool XMLTV_INSTANCE_CREATED = false;
21            static int LAST_REPORTED_XMLTV_PROGRESS = 0;
22    
         static int LAST_REPORTED_XMLTV_PROGRESS =0;  
23    
24          static FileInfo fi_XMLTVFILE;          static bool LOADING_GBPVR_DATABASE = false;
25            static bool SQLLIST_INSTANCE_CREATED = false;
26            static int LAST_REPORTED_SQLLITE_PROGRESS = 0;
27    
28            static FileInfo fi_XMLTVFILE;
29            static FileInfo fi_GBPVRDATABASE;
30          static void CreateLog()          static void CreateLog()
31          {          {
32              string log_path = Application.StartupPath;              string log_path = Application.StartupPath;
# Line 77  namespace GBPVRProgramDatabaseFixer Line 84  namespace GBPVRProgramDatabaseFixer
84                  }                  }
85              }              }
86    
87              LoadXMLTVFile();              //LoadXMLTVFile();
88                LoadGBPVRDatabase();
89    
90    
91                var programs = sqlite.Programs;
92                var recordings = sqlite.Recordings;
93            }
94    
95            static void ConsoleOverwritePreviosLine(string format, params object[] args)
96            {
97                Console.WriteLine(format,args);
98                Console.SetCursorPosition(0, Console.CursorTop - 1);
99          }          }
100    
101          static void gLog_ReportProgress(object sender, ReportProgressEventArgs e)          static void gLog_ReportProgress(object sender, ReportProgressEventArgs e)
102          {          {
103              if (LAST_REPORTED_XMLTV_PROGRESS != e.Progress)              if (!XMLTV_INSTANCE_CREATED && LOADING_XMLTV_FILE)
104              {              {
105                  Console.WriteLine("XMLTV: {0} Loading: {1:00}%", fi_XMLTVFILE.Name, e.Progress);                  if (LAST_REPORTED_XMLTV_PROGRESS != e.Progress)
106                  LAST_REPORTED_XMLTV_PROGRESS = e.Progress;                  {
107                        ConsoleOverwritePreviosLine("XMLTV: {0} Loading: {1:00}%", fi_XMLTVFILE.Name, e.Progress);
108                        LAST_REPORTED_XMLTV_PROGRESS = e.Progress;
109                        if (e.Progress == 100)
110                        {
111                            Console.WriteLine("XMLTV: {0} Loading: {1:00}%", fi_XMLTVFILE.Name, e.Progress);
112                        }
113                    }
114                }
115                if (!SQLLIST_INSTANCE_CREATED && LOADING_GBPVR_DATABASE)
116                {
117                    if (LAST_REPORTED_SQLLITE_PROGRESS != e.Progress)
118                    {
119                        ConsoleOverwritePreviosLine("SQLLITE: {0} Loading: {1:00}%", fi_XMLTVFILE.Name, e.Progress);
120                        LAST_REPORTED_SQLLITE_PROGRESS = e.Progress;
121                        if (e.Progress == 100)
122                        {
123                            Console.WriteLine("SQLLITE: {0} Loading: {1:00}%", fi_XMLTVFILE.Name, e.Progress);
124                        }
125                    }
126              }              }
127          }          }
128          static void LoadXMLTVFile()          static void LoadXMLTVFile()
129          {          {
130                LOADING_XMLTV_FILE = true;
131              if (string.IsNullOrEmpty(XMLTV_FILE))              if (string.IsNullOrEmpty(XMLTV_FILE))
132              {              {
133                  gLog.Error.WriteLine("XMLTV File is either a null or empty string.");                  gLog.Error.WriteLine("XMLTV File is either a null or empty string.");
134                    LOADING_XMLTV_FILE = false;
135                  return;                  return;
136              }              }
137              fi_XMLTVFILE = new FileInfo(XMLTV_FILE);              fi_XMLTVFILE = new FileInfo(XMLTV_FILE);
138              if (!fi_XMLTVFILE.Exists)              if (!fi_XMLTVFILE.Exists)
139              {              {
140                  gLog.Error.WriteLine("Could not find XMLTV File: {0}", fi_XMLTVFILE.FullName);                  gLog.Error.WriteLine("Could not find XMLTV File: {0}", fi_XMLTVFILE.FullName);
141                    LOADING_XMLTV_FILE = false;
142                  return;                  return;
143              }              }
144    
145              XMLTV.Create(fi_XMLTVFILE.FullName, new EventHandler<EventArgs>(XMLTV_OnInstanceCreated));              XMLTV.Create(fi_XMLTVFILE.FullName, new EventHandler<EventArgs>(XMLTV_OnInstanceCreated));
146              while (!XMLTV_INSTANCE_CREATED) { Application.DoEvents(); }              while (!XMLTV_INSTANCE_CREATED) { Application.DoEvents(); }
147                LOADING_XMLTV_FILE = false;
148          }          }
   
149          static void XMLTV_OnInstanceCreated(object sender, EventArgs e) { XMLTV_INSTANCE_CREATED = true; }          static void XMLTV_OnInstanceCreated(object sender, EventArgs e) { XMLTV_INSTANCE_CREATED = true; }
150    
151            static void LoadGBPVRDatabase()
152            {
153                LOADING_GBPVR_DATABASE = true;
154                if (string.IsNullOrEmpty(GBPVR_DATABASE))
155                {
156                    gLog.Error.WriteLine("GBPVR Datbase is either a null or empty string.");
157                    LOADING_GBPVR_DATABASE = false;
158                    return;
159                }
160                fi_GBPVRDATABASE = new FileInfo(GBPVR_DATABASE);
161                if (!fi_GBPVRDATABASE.Exists)
162                {
163                    gLog.Error.WriteLine("Could not find GBPVR Database: {0}", fi_GBPVRDATABASE.FullName);
164                    LOADING_GBPVR_DATABASE = false;
165                    return;
166                }
167    
168                sqlite = new SQLLITE(fi_GBPVRDATABASE.FullName, new EventHandler<EventArgs>(SQLLITE_OnInstanceCreated));
169                while (!SQLLIST_INSTANCE_CREATED) { Application.DoEvents(); }
170                LOADING_GBPVR_DATABASE = false;
171            }
172            static void SQLLITE_OnInstanceCreated(object sender, EventArgs e) { SQLLIST_INSTANCE_CREATED = true; }
173      }      }
174  }  }

Legend:
Removed from v.154  
changed lines
  Added in v.156

  ViewVC Help
Powered by ViewVC 1.1.22