示例#1
0
 private string ParseTitle(PreParsedRecipe preParsed)
 {
     throw new NotImplementedException();
 }
示例#2
0
        public PreParsedRecipe Preparse(string text)
        {
            PreParsedRecipe preParsed = new PreParsedRecipe();

            text.Split(new string[] { '\n'.ToString() }, StringSplitOptions.None)
                .ToList()
                .ForEach((string s) =>
                {
                    preParsed.AddLine(new RecipeLine { Data = s, DataType = RecipeDataType.Unknown });
                });

            RecipeStateMachine stateMachine = new RecipeStateMachine();

            preParsed.Lines.ForEach((RecipeLine line) =>
            {
                if (line.DataType != RecipeDataType.Unknown)
                    return;

                if (line.IsEmpty && (line.Previous == null || !line.Previous.IsEmpty))
                    stateMachine.AdvanceState();

                CategorizeLine(line, stateMachine);

                if (line.DataType != RecipeDataType.Ingredients)
                    return;

                if (line.Data.Trim().StartsWith("-") && line.Previous != null)
                {
                    line.DataType = RecipeDataType.NotNeeded;
                    var previousIngredient = FindPreviousIngredient(line);
                    var additionalData = line.Data.Replace("- ", "");
                    previousIngredient.Data = previousIngredient.Data + additionalData;
                }
            });

            preParsed.Condense();

            return preParsed;
        }
示例#3
0
 private List<string> ParseCategories(PreParsedRecipe preParsed)
 {
     throw new NotImplementedException();
 }