Browse Source

Merge pull request #2 from CraigOates/0.2-p1

0.2 p1
master
Craig Oates 6 years ago committed by GitHub
parent
commit
84855b59c5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 11
      WetPancake/DataServices.fs
  2. 46
      WetPancake/ProductServices.fs
  3. 10
      WetPancake/Script.fsx
  4. 6
      WetPancake/SystemServices.fs
  5. 32
      WetPancakeCLI/ConsoleCommands.cs

11
WetPancake/DataServices.fs

@ -5,6 +5,7 @@
open DataStructuring
open DataProcessing
open DataCleaning
open System.Threading
let PickRandomWord words = PickRandomItem (Random().Next) words
@ -28,7 +29,15 @@
let startWords = fst(SeperateStartWords map)
let result =
seq {
for i in 0 .. noOfSentences do
for i in 1 .. noOfSentences do
(*Thread.Sleep is needed for a new random number to generate.
Without it, the same sentence tends to repeat itself.
When debugging (I.E. the observer effect),
enough time passes for a new random number to generate --
meaning a new seed or "start word" for each sentence.
This isn't ideal but needed so please be careful when attempting to
remove this line.*)
Thread.Sleep(100)
yield GenerateMarkovSentence map (PickRandomWord startWords).Key
}
result |> ConcatToString

46
WetPancake/ProductServices.fs

@ -2,7 +2,9 @@
module Pancake =
open System
//YOU ARE UP TO HERE.
// NEED TO MOVE STUFF UP A LEVEL.
// CREATE AN OBJECT TO STOP THE STATIC CONTENT.
open SystemServices
open DataAccess
open DataCleaning
@ -10,19 +12,35 @@ module Pancake =
open DataStructuring
open DataServices
let RequestRandomText =
let dss_text =
let ApplyStandardSetup text =
text
|> ReplaceArtifact "\""
|> ReplaceArtifact "\n\nIn"
|> ReplaceArtifact "\r"
|> ReplaceArtifact "\n"
|> SplitText @"\s+"
|> ConcatToString
let RequestRandomText() =
let data =
LoadFile SelectRandomSampleFile
|> ApplyStandardSetup
|> SortIntoGroups (PickRandomNumber 10)
|> GenerateMap
GenerateMarkovText (PickRandomNumber 10) data
let RequestText (gibberishLevel: int) (sentences: int) =
let data =
LoadFile SelectRandomSampleFile
|> ReplaceArtifact "\""
|> ReplaceArtifact "\n\nIn"
|> ReplaceArtifact "\r"
|> ReplaceArtifact "\n"
|> SplitText @"\s+"
|> ConcatToString
|> SortIntoGroups 10
|> ApplyStandardSetup
|> SortIntoGroups gibberishLevel
|> GenerateMap
GenerateMarkovText 2 dss_text
GenerateMarkovText sentences data
//let RequestText (gibberishLevel: int) (sentences: int)
//let RequestTextFromFile (gibberishLevel: int) (sentences: int) (filePath: string)
let RequestTextFromFile (gibberishLevel: int) (sentences: int) (filePath: string) =
let data =
LoadFile filePath
|> ApplyStandardSetup
|> SortIntoGroups gibberishLevel
|> GenerateMap
GenerateMarkovText sentences data

10
WetPancake/Script.fsx

@ -16,6 +16,7 @@ open DataCleaning
open DataProcessing
open DataStructuring
open DataServices
open WetPancake
// System Services
let ss_number = PickRandomNumber 10
@ -115,6 +116,11 @@ let dss_text =
|> ConcatToString
|> SortIntoGroups 2
|> GenerateMap
//let dss_startwords = SeperateStartWords dss_text
let dss_startwords = SeperateStartWords dss_text
let dss_sentences = GenerateMarkovText 2 dss_text
printfn "Text: %A" dss_sentences
printfn "Text: %A" dss_sentences
// (WetPancake) Pancake
let p_result = Pancake.RequestRandomText()
let p_result2 = Pancake.RequestText 5 10
let p_result3 = Pancake.RequestTextFromFile 3 10 "D:\Developer\Wet-Pancake\WetPancake\TextFiles\desktop-clock-info.txt"

6
WetPancake/SystemServices.fs

@ -2,8 +2,10 @@
open System
let PickRandomNumber max = Random().Next(0, max);
let PickRandomNumber max = Random().Next(1, max);
let PickRandomItem (rnd: int -> int) seq =
let index = rnd (Seq.length seq)
//let index = rnd 0 ((Seq.length seq) - 1)
//seq |> Seq.item index
let index = Random().Next(Seq.length seq);
seq |> Seq.item index

32
WetPancakeCLI/ConsoleCommands.cs

@ -1,8 +1,7 @@
using Console.Waterworks;
using Console.Waterworks.Attributes;
using System;
using WetPancake;
//using WetPancake;
using static WetPancake.Pancake;
using static System.Environment;
namespace WetPancakeCLI
@ -10,7 +9,7 @@ namespace WetPancakeCLI
public static class ConsoleCommands
{
[ListCommand]
[Description("Prints a test messge to the console.")]
[Description("Prints a test message to the console.")]
[Parameters("none")]
[Usage("> Test")]
public static string Test() => "SUCCESS: Console.Waterworks is wired into Wet Pancake CLI.";
@ -28,18 +27,33 @@ namespace WetPancakeCLI
public static void Exit() => Environment.Exit(ExitCode);
[ListCommand]
[Description("Generates random text, the number of sentences generated is determined by the user.")]
[Parameters("int: sentenences")]
[Description("Generates random text, the number of sentences generated is randomly determined.")]
[Parameters("none")]
[Usage("> GenerateRandomText")]
public static string GenerateRandomText(int sentences)
public static string GenerateRandomText()
{
var result = RequestRandomText();
return result;
}
[ListCommand]
[Description ("Generates text using the gibberish level and number of sentences specified by the user.")]
[Parameters("gibberish level: int, sentences: int")]
[Usage("> GenerateText 5 10")]
public static string GenerateText(int gibberishLevel, int sentences)
{
var result = Pancake.RequestRandomText;
var result = RequestText(gibberishLevel, sentences);
return result;
}
public static string test1()
[ListCommand]
[Description("Loads the specified .txt file and generates text based on it using the gibberish level and number of sentences specified by the user.")]
[Parameters("gibberish level: int, sentences: int, file path: string")]
[Usage("> RequestTextFromFile 3 6 C:/yourfile.txt")]
public static string RequestTextFromFile(int gibberishLevel, int sentences, string filePath)
{
return "This is a test method for quickly testing things out";
var result = RequestTextFromFile(gibberishLevel, sentences, filePath);
return result;
}
}
}

Loading…
Cancel
Save