public static PlainText ExceptionToFile(Exception exception, string accessDeniedMessage) { PlainText readme; if (exception.Data.Contains("code")) { if (exception.Data["code"].ToString() == "15") // Access denied: { readme = new PlainText(accessDeniedMessage + ".txt"); readme.SetText(PlainText.GetSubscript()); return(readme); } readme = new PlainText(Resources.ErrorN.F(exception.Data["code"] + ".txt")); readme.SetText(PlainText.GetSubscript()); return(readme); } readme = new PlainText(Resources.UnknownError + ".txt"); readme.SetText(exception + PlainText.GetSubscript()); return(readme); }
public override bool _LoadFile(Files.Folder file) { if (file.Property["type"] == "groups.get") { file.ChildsAdd(new Files.Settings("Добавить группу.lnk")); file.ChildsAdd( new Files.SettingsXls( "VKDirvePathData.xml", "Добавление группы", "Введите ссылку на группу или ее идентификатор. Например https://vk.com/club47348352", "Не удалось найти такую группу.", "Такая группа уже существует." )); JObject apiResult = (JObject) Vkapi.Instance.StartTaskSync(new ApiQuery("groups.get", new Dictionary <string, string> { { "extended", "1" } })); JArray items = (JArray)apiResult.GetValue("items"); List <int> gruopIds = new List <int>(); foreach (JObject item in items) { SerializationObject.Group group = item.ToObject <SerializationObject.Group>(); file.ChildsAdd(CreateGroupFolder(group)); gruopIds.Add(group.Id); } string gids = VkStorage.Get(StorageKey); if (gids.Length > 0) { JArray values = (JArray) Vkapi.Instance.StartTaskSync(new ApiQuery("groups.getById", new Dictionary <string, string> { { "group_ids", gids.Replace('\n', ',') } })); foreach (JObject item in items) { SerializationObject.Group group = item.ToObject <SerializationObject.Group>(); if (gruopIds.IndexOf(group.Id) > -1) { continue; } file.ChildsAdd(CreateGroupFolder(group)); } } } else if (file.Property["type"] == "AudioApi.ExecuteGetAlbums") { //// 15:Access denied: group audio is disabled try { AudioApi.ExecuteGetAlbums(new Dictionary <string, string>() { { "owner_id", "-" + file.Property["gid"] } }, file.Childs); } catch (Exception e) { if (e.Data.Contains("code") && e.Data["code"].ToString() == "15") { // 15:Access denied: group photos are disabled var readmePlainText = new PlainText("Аудиозаписи отключены.txt"); readmePlainText.SetText(PlainText.GetSubscript()); file.ChildsAdd(readmePlainText); return(true); } return(false); } } else if (file.Property["type"] == "audio.getInAlbum") { AudioApi.LoadMp3(new Dictionary <string, string>() { { "gid", file.Property["gid"] }, { "album_id", file.Property["album_id"] } }, file.Childs); } else if (file.Property["type"] == "wait") { // Он там грузится в паралельном потоке. Подождать нужно int i = 0; while (!file.IsLoaded && i < 20) // 2 сек максимум { i++; // todo сделать перехват фатала. System.Threading.Thread.Sleep(100); } // Подождать не вышло, выводим что есть } return(true); }