From 1fa8fcec64714fbe6689a270e59244004f0e6828 Mon Sep 17 00:00:00 2001 From: Valerie Date: Wed, 6 Mar 2024 13:00:16 -0500 Subject: [PATCH] initial commit --- README.md | 11 +++++++++++ data/.gitkeep | 1 + src/Program.cs | 24 ++++++++++++++++++++++++ 3 files changed, 36 insertions(+) create mode 100644 README.md create mode 100644 data/.gitkeep create mode 100644 src/Program.cs diff --git a/README.md b/README.md new file mode 100644 index 0000000..b258a81 --- /dev/null +++ b/README.md @@ -0,0 +1,11 @@ + +# Fortune + +A no-nonsense, user-extensible `fortune-mod` replacement. + +## Goals + +- Sensible: I'm fed up with fortunes about men hating their wives. +- Straightforward: No weird formats. Plain text with `\n` escape sequences. + + diff --git a/data/.gitkeep b/data/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/data/.gitkeep @@ -0,0 +1 @@ + diff --git a/src/Program.cs b/src/Program.cs new file mode 100644 index 0000000..9b2698d --- /dev/null +++ b/src/Program.cs @@ -0,0 +1,24 @@ +using System; +using System.IO; +using System.Security.Cryptography; + +var resourcePath = "/usr/share/fortune-cs/"; +if(!Directory.Exists(resourcePath)) { + Console.WriteLine("fortune-cs: directory '/usr/share/fortune-cs/' does not exist"); + return 1; +} + +var files = Directory.GetFiles(resourcePath, "*.txt"); + +var prng = RandomNumberGenerator.Create(); + +var file = files[RandomNumberGenerator.GetInt32(files.Length)]; +var lines = File.ReadAllLines(file); +var line = lines[RandomNumberGenerator.GetInt32(lines.Length)]; + +prng.Dispose(); + +Console.WriteLine(line); + +return 0; +