Beispiel #1
0
 public void Dispose()
 {
     ThumbGenerator.Close();
     DBUpdateQueue.Close();
     host?.Stop();
     host?.Dispose();
 }
Beispiel #2
0
 public static void Init(string user, string pass, string db)
 {
     _user = user;
     _pass = pass;
     _db   = db;
     ThumbGenerator.Start();
     DBUpdateQueue.Start();
 }
Beispiel #3
0
        void DoBuild(Dictionary <string, string[]> buildList)
        {
            foreach (string item in buildList.Keys)
            {
                Write($"Building: {item}...", false);
                string[] dir = Directory.GetFiles($@"{RinDB.BASE_DIR}/{item}", "*", SearchOption.AllDirectories);
                foreach (string f in dir)
                {
                    string file = f.Replace("\\", "/");
                    file = file.Replace($@"{RinDB.BASE_DIR}/", "");
                    string name  = Path.GetFileNameWithoutExtension(file);
                    long   epoch = long.Parse(name.Substring(1, name.IndexOf(']') - 1));
                    name = name.Remove(0, epoch.ToString().Length + 3);
                    name = Uri.EscapeDataString(name);
                    string id = file.ToBase60();

                    DBUpdateQueue.QueueCommand($"INSERT INTO images (id, fileuri, timeadded, name, isnsfw) VALUES('{id}', '{Uri.EscapeDataString(file)}', '{epoch}', '{name}', '{file.Contains("NSFW")}');");
                    //cmd.CommandText = $"INSERT INTO images (id, fileuri, timeadded, name, isnsfw) VALUES('{id}', '{Uri.EscapeDataString(file)}', '{epoch}', '{name}', '{file.Contains("NSFW")}');";
                    if (buildList[item] != null)
                    {
                        foreach (string tag in buildList[item])
                        {
                            string tagID = tag.ToBase60();
                            //cmd.CommandText += $"INSERT INTO tagmap VALUES('{tagID}{id}','{id}', '{tagID}');";
                            DBUpdateQueue.QueueCommand($"INSERT INTO tagmap VALUES('{tagID}{id}','{id}', '{tagID}');");
                        }
                    }
                    //cmd.ExecuteNonQuery();
                    ThumbGenerator.QueueThumb(new ImageModel()
                    {
                        id = id, fileUri = $@"{RinDB.BASE_DIR}/{file}"
                    });
                }
                Write(" Done!");
            }
        }