Example #1
0
        static void Recursive(DirectoryInfo currentDirectory, DirectoryInfo inputRoot, DirectoryInfo newModelsDirectory, string prefix)
        {
            Console.WriteLine("Processing " + currentDirectory.FullName);
            var files = currentDirectory.GetFiles();

            if (!files.Any(z => z.Name == Names.FaceFileName))
            {
                foreach (var d in currentDirectory.GetDirectories())
                {
                    Recursive(d, inputRoot, newModelsDirectory, prefix);
                }
                return;
            }
            var tutoFile = files.Where(z => z.Name == "local.tuto").FirstOrDefault();

            if (tutoFile == null)
            {
                Console.WriteLine("No tuto file is found. Press any key");
                Console.ReadKey();
                return;
            }

            var hash      = Videotheque.ComputeHash(currentDirectory, Names.FaceFileName, Names.HashFileName, true);
            var container = HeadedJsonFormat.Read <FileContainer>(tutoFile, "Tuto local file", 3);

            container.MontageModel.SetHash(hash);
            var relativePath = prefix + MyPath.RelativeTo(tutoFile.Directory.FullName, inputRoot.FullName);

            container.MontageModel.DisplayedRawLocation = relativePath;
            var fname = Path.Combine(newModelsDirectory.FullName, MyPath.CreateHierarchicalName(relativePath) + "." + Names.ModelExtension);

            HeadedJsonFormat.Write(new FileInfo(fname), container);
        }
Example #2
0
        public static void SaveLayer <TData>(Item root, DirectoryInfo directory)
        {
            var fileName = GetFileName <TData>();
            var file     = new FileInfo(Path.Combine(directory.FullName, fileName));
            var layer    = GetLayer <TData>(root);

            HeadedJsonFormat.Write(file, GetHeader <TData>(), 1, layer);
        }
Example #3
0
        public static CourseTreeData Load(DirectoryInfo directory)
        {
            var result = new CourseTreeData();

            result.Videos = HeadedJsonFormat.Read <List <VideoPublishSummary> >(
                new FileInfo(Path.Combine(directory.FullName, VideoListName)));
            result.Structure = HeadedJsonFormat.Read <CourseStructure>(directory);
            return(result);
        }
Example #4
0
        public static void PullFromFile <TData>(Item root, DirectoryInfo directory)
        {
            var fileName = GetFileName <TData>();
            var file     = directory.GetFiles(fileName).FirstOrDefault();

            if (file == null)
            {
                return;
            }
            var layer = HeadedJsonFormat.Read <DataLayer <TData> >(file, GetHeader <TData>(), 1);

            Pull(root, item => layer.Records.Where(z => z.Guid == item.Guid).Select(z => z.Data).FirstOrDefault());
        }
Example #5
0
        static void wnd_Closed(object sender, EventArgs e)
        {
            var catalog  = (sender as Window).DataContext as Tuto.TreeEditor.PublishViewModel;
            var response = MessageBox.Show("Save changes?", "Tuto.Publishing", MessageBoxButton.YesNo, MessageBoxImage.Question);

            if (response != MessageBoxResult.No)
            {
                var data = catalog.Commit();
                HeadedJsonFormat.Write(currentDirectory, data);
                (Application.MainWindow.DataContext as MainViewModel).Reload();
            }
            Application.MainWindow.Show();
        }
Example #6
0
        public List <YoutubeClip> GetYoutubeClips()
        {
            List <YoutubeClip> clips = new List <YoutubeClip>();

            try
            {
                clips = YoutubeApisProcessor.Current.GetAllClips();
                HeadedJsonFormat.Write(new DirectoryInfo(Environment.CurrentDirectory), clips);
                return(clips);
            }
            catch (Exception e)
            {
                MessageBox.Show("Loading video from Youtube failed.");
                return(null);
            }
        }
Example #7
0
 public void Save()
 {
     foreach (var e in Videotheque.Episodes)
     {
         var clip = YoutubeClipData.Records.Where(z => z.Guid == e.Item2.Guid).FirstOrDefault();
         if (clip == null)
         {
             continue;
         }
         if (clip.Data.Id == e.Item2.YoutubeId)
         {
             continue;
         }
         e.Item2.YoutubeId = clip.Data.Id;
         e.Item1.Save();
     }
     HeadedJsonFormat.Write(Location, this);
 }
Example #8
0
        static void Main(string[] args)
        {
            const string Path = @"C:\Users\Yura\Desktop\TestMontage\Models";
            var          dir  = new DirectoryInfo(Path);

            foreach (var e in dir.GetFiles())
            {
                FileContainer model = null;
                try
                {
                    model = HeadedJsonFormat.Read <FileContainer>(e);
                }
                catch
                {
                    continue;
                }
                var times = StartGit(dir, e);
                model.MontageModel.Information.LastModificationTime = times.First();
                model.MontageModel.Information.CreationTime         = times.Last();
                HeadedJsonFormat.Write <FileContainer>(e, model);
            }
        }