/// <summary> /// Create a project. /// </summary> /// <param name="location">Location for project.</param> /// <param name="name">Name of project.</param> public void Create(string location, string name) { this.Location = location; this.Name = name; string path = PyTools.CreatePath(location, name); directory = Directory.CreateDirectory(path); }
/// <summary> /// Execute a project. /// </summary> /// <param name="uid">Id for project.</param> /// <param name="fileDM">File domain model.</param> public static void Execute(Guid uid, PythonFileDM fileDM) { PyProject project = projects[uid]; project.Create(SERVER_LOCATION, "fiddle" + uid); var location = PyTools.CreatePath(SERVER_LOCATION, "fiddle" + uid); var file = new PyFile(fileDM.ID, location, fileDM.Name, fileDM.SourceCode); project.AddFile(file); project.StartUpFileID = file.ID; project.Run(); }
/// <summary> /// Execute a project. /// </summary> /// <param name="uid">Id for project.</param> /// <param name="fileDM">File domain model.</param> public static void Execute(Guid uid, PythonProjectDM projectDM) { PyProject project = projects[uid]; project.Create(SERVER_LOCATION, projectDM.ID.ToString()); var location = PyTools.CreatePath(SERVER_LOCATION, projectDM.ID.ToString()); projectDM.Files.ForEach((fileDM) => { var file = new PyFile(fileDM.ID, location, fileDM.Name, fileDM.SourceCode); project.AddFile(file); if (projectDM.StartFileName == fileDM.Name) { project.StartUpFileID = fileDM.ID; } }); project.Run(); }
/// <summary> /// Constructor. /// </summary> /// <param name="id">Id for file.</param> /// <param name="location">Location for file.</param> /// <param name="name">Name of file.</param> /// <param name="data">Data in file.</param> public PyFile(int id, string location, string name, string data = null) { this.ID = id; this.Location = location; this.Name = name; if (!Directory.Exists(location)) { Directory.CreateDirectory(location); } string path = PyTools.CreatePath(location, name); file = new FileInfo(path); using (var fs = file.Create()) { if (data != null) { Byte[] info = new UTF8Encoding(true).GetBytes(data); fs.Write(info, 0, info.Length); } } }