1
0
Fork 0

Add linux home directory expansion

This commit is contained in:
Starbeamrainbowlabs 2016-07-08 09:12:59 +01:00
parent 9ebf090397
commit e99ec4ddde
1 changed files with 9 additions and 7 deletions

View File

@ -35,6 +35,10 @@ namespace GalleryShare
port = inPort; port = inPort;
servingDirectory = inServingDirectory; servingDirectory = inServingDirectory;
string homeDir = Environment.GetEnvironmentVariable("HOME");
if (homeDir != null)
servingDirectory = servingDirectory.Replace("~", homeDir);
prefix = string.Format("http://*:{0}/", Port); prefix = string.Format("http://*:{0}/", Port);
server.Prefixes.Add(prefix); server.Prefixes.Add(prefix);
} }
@ -54,7 +58,7 @@ namespace GalleryShare
{ {
server.Start(); server.Start();
Console.WriteLine("Listening for requests on {0}.", prefix); Console.WriteLine("Listening for requests on {0}.", prefix);
Console.WriteLine("Browser url: http://localhost:{0}/", Port); Console.WriteLine("Serving from {0}. Browser url: http://localhost:{1}/", servingDirectory, Port);
while (true) while (true)
{ {
@ -146,14 +150,14 @@ namespace GalleryShare
await xmlData.WriteElementStringAsync(null, "CurrentDirectory", null, rawUrl); await xmlData.WriteElementStringAsync(null, "CurrentDirectory", null, rawUrl);
await xmlData.WriteStartElementAsync(null, "Contents", null); await xmlData.WriteStartElementAsync(null, "Contents", null);
foreach (string directoryname in dirDirectories) foreach (string directoryName in dirDirectories)
{ {
await xmlData.WriteStartElementAsync(null, "ListingEntry", null); await xmlData.WriteStartElementAsync(null, "ListingEntry", null);
await xmlData.WriteAttributeStringAsync(null, "Type", null, "Directory"); await xmlData.WriteAttributeStringAsync(null, "Type", null, "Directory");
await xmlData.WriteElementStringAsync(null, "Name", null, directoryname); await xmlData.WriteElementStringAsync(null, "Name", null, directoryName.Substring(servingDirectory.Length));
await xmlData.WriteElementStringAsync(null, "ItemCount", null, Directory.GetFileSystemEntries(directoryName).Length.ToString());
// TODO: Write out the number of items in directory
// TODO: Write out thumbnail url // TODO: Write out thumbnail url
await xmlData.WriteEndElementAsync(); await xmlData.WriteEndElementAsync();
@ -163,9 +167,7 @@ namespace GalleryShare
await xmlData.WriteStartElementAsync(null, "ListingEntry", null); await xmlData.WriteStartElementAsync(null, "ListingEntry", null);
await xmlData.WriteAttributeStringAsync(null, "Type", null, "File"); await xmlData.WriteAttributeStringAsync(null, "Type", null, "File");
await xmlData.WriteElementStringAsync(null, "Name", null, filename); await xmlData.WriteElementStringAsync(null, "Name", null, filename.Substring(servingDirectory.Length));
// TODO: Write out thumbnail url
await xmlData.WriteEndElementAsync(); await xmlData.WriteEndElementAsync();
} }