home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Current Shareware 1994 January
/
SHAR194.ISO
/
homecook
/
mmconv15.zip
/
MMCONV15.DOC
< prev
next >
Wrap
Text File
|
1993-09-16
|
21KB
|
510 lines
MMCONV
MMCONV is designed to be used by those of us who frequent recipe
conferences on BBSes and use MealMaster. Often people enter intriguing
recipes that are not in MM format. This program avoids some of the
drudgery of typing such recipes in by hand or manually reformatting them.
It can also be used by QuikBook users since QuikBook will import
MealMaster formatted recipes with no difficulty.
MMCONV is designed to convert free-form recipes or recipes formatted
for other recipe databases to MealMaster format with minimal manual
effort. The MM format is:
units measure ingredients
Col 1: 1-7 9-10 13-39
Col 2: 42-48 50-51 54-81
MMCONV knows the standard MealMaster measurement abbreviations and uses
them. I did not know small, large, and pinch had standard abbreviations,
but they do. Despite the temptation, I did not use CL (centiliter) to
represent clove(s). I have seen recipes using it this way.
MMCONV detects the start and end of recipes in four different ways:
Start of recipe:
--MM
-Begin Recipe Export- QUIKBOOK
********** Compu-Chef
(next line must have ** in it)
*** FROM SCRATCH RECIPE BEGINS *****
End of recipe:
---
-End Recipe Export-
Recipe Via Compu-Chef
********** RECIPE ENDS ********
Beginning with version 2.00, there is a fundamental change in the way
MMCONV works. Those of you who used former versions can still use the
standard parameter inputs to run the program.
However, you can also run it with full screen input. Just type MMCONV
with no parameters.
The following will display:
---------------------------------------------------------------------------
MMCONV - MM recipe formatter 2.0
Recipe file:
Output file: MM0908.1
Save extra lines: XTRA0908.1
Default category: Maindish
Left footer:
Right footer:
Title display: Y
Use generic head: N
Zap categories: Y
Press Escape to Execute
---------------------------------------------------------------------------
Recipe file is the input file normally specified after MMCONV.
Save extra lines represents the relatively new -S option. If the file
name is cleared (hitting HOME will do this or you can backspace it out),
extra lines will not be written to a file.
Default category is normally Maindish. You can modify this to whatever
you prefer. For example on a ZIP file of chicken recipes, Chicken would be
appropriate.
Left and Right footers allow you to override the use of From and Date.
This could be used to add commentary, such as zip name and author to a zip
file of recipes. Or the conference or network to a collection of recipes
off a BBS.
Title display is whether MMCONV should show the Titles as it saves the
recipes.
Use generic header causes MMCONV to ignore SLMR or BlueWave format and
just look for FROM: and DATE:, like the -X option recently added.
Zap categories is an undocumented feature of 1.40. With a -z
parameter, you can cause 1.40 to not delete the odd categories I selected
to get rid of. This gives you explicit on-screen control of this feature.
Press Escape to Execute is self-explanatory, I believe. The ESC key
(often in the upper left corner of a keyboard) causes MMCONV to run. You
can also carriage return off the Zap categories entry area, but I suspect
most people won't change the default settings.
---------------------------------------------------------------------------
If a recipe does not have a QUIKBOOK, COMPU-CHEF, FromScratch or
MealMaster header and footer, it must be manually marked. Put --MM at the
top and at least 3 dashes (---) at the bottom. Both of these must be
aligned with the left margin.
DO NOT add a MealMaster format header to a non-MM recipe. These
recipes are copied as is. Though with version 1.30 some of the categories
are changed even in MM format recipes. Any of the other headers could be
used to mark a recipe, but the --MM and --- are fewer characters.
The '-l' or '-L' and '-r' or '-R' parameters are ways to label a zip
file or add a comment on the line after the author and date information if
you run an prior MMCREDIT output file through again. Up to 38 characters
will be used for either. Some flexibility is supported here. As long as
the total characters for both is under 76, the program will combine the
input into a credit line. If the length exceeds 76, the input will be
adjusted to fit the 76 space limit and a message showing the resulting
credit line will be displayed.
To enter just type, for example:
MMCONV mmrecipe -lFrom the ZIP file: MM00.zip -rOff PC101 BBS
This will add the following CREDIT line at the bottom of recipes:
From the ZIP file: MM00.zip Off PC101 BBS
If you add quotes to the -r parameter, the extra spaces will be preserved
so this input:
MMCONVnn mmrecipe -lFrom the ZIP file: MM00.zip -r"Off PC101 BBS"
produces this CREDIT line:
From the ZIP file: MM00.zip Off PC101 BBS
MMCONV will handle a missing footer. It will be stopped by the next
header. However, this may cause the inclusion of extra stuff such as
taglines and message header information in some cases. In Meal-Master
format recipes, a flag message about "Unexpected End of Recipe" is placed
at the end of the recipe to alert you to check for a problem.
The MMCONV program will split lines that are too long for the basic MM
format. If these lines are in column 2, there will be a '-' inserted in
column 1 if it would otherwise be blank. This is required to force MM to
treat the 2nd column as a separate column. Without this, MM thinks it has
a single line of input which is too long.
Occasionally recipes have commentary between the title and the
ingredients. You must manually move these into the direction section of
the recipe or delete them for MMCONV to process the recipe correctly.
MMCONV will recognize categories headed with all the following in any
combination of upper or lower case and format them for MM:
Category:
Categories:
Keywords:
Cat:
Servings will default to 1. Serving information in the recipe will be
picked up if recognized. The program looks for these characters
(case-blind) to occur on first non-blank line after the title and expects a
colon or space to follow them:
SERV (serves or servings or serving detected)
MAKE (make or makes)
If these are found and the servings is 0, it will be set to one. If
non-numeric serving is found, default of one will be used. A message
showing the problem line will print out so you can fix the servings:
TOMATO-CILANTRO BREAD
Problem with servings:
Makes one 9x5 loaf
Starting with version 1.40, a change was made in the way ingredients
versus directions are detected. Ingredients begin after the title
category and serving processing is done and any intervening blank lines are
skipped. If your recipe actually has no ingredients, put in "none" for
ingredients followed by a blank line.
The first blank line marks start of directions. Everything after that
is directions. All directions will be aligned with the left margin.
Any combination of 3 or more --- or ___ with no other characters on the
line terminates recipes processing.
I like to know who originated the recipe. Typing this information on
each recipe by hand is tedious. This program will scan through a file and
add a credit line at the end of each recipe based on the From: and Date:
information in the header. If the recipes are read from QWK or BlueWave
messages, the From: and Date: info is placed at the end of the recipe:
From: Nancy Golden Date: 09-21-92
If there are no message headers detected, the following is used instead:
Converted by MMCONV vers. n.nn
MMCONV can also be used to label recipes in a ZIP file or otherwise
extracted MM format recipe file that does not have qwk headers. In this
case, the new -l and -r parameters are used to specify what you want stated
at the bottom of the recipe. Every recipe in this case would have the same
comment on it.
If there is a mixture of headed messages and recipes, the message
header information will affect more recipes than the one associated with
it. Basically, the credit information from it will carry on till the next
header is found.
My approach to using MMCONV is to mark the recipes and then format the
input file with MMCONV. I then examine the output recipes. Any recipes
that were not correctly processed, I tweak in the input file and then
reprocess the input file. (If there are only minor irregularities, I fix
the output file and proceed to import.)
If the error is something I think the program should have handled, a
new version is created or added to. If you find something you think
should be handled, please let me know. I may not agree, but I'm willing
to consider suggestions. That is how the -x option and the new approach
used in version 1.40 both came about.
This process repeats until the recipes look right to me. Or until a
few manual changes are all that is required. Typically, only two passes
have been required. You may take several until you get a handle on what
the program expects.
The following is a sample of what the program output looks like:
MMCONV rec.tst
AL'S CHOCOLATE TO THE MAX
DATE BALLS
FLOURLESS CHOCOLATE CAKE
RASPBERRY SAUCE
RASPBERRY FOOL
RED LOBSTER GARLIC CHEESE ROLLS
M&M PIZZAS
CRUNCHY ALMOND STICKS
PINATA COOKIES
ST LOUIS' PEANUT BUTTER COOKIES
ST LOUIS' RUM BALLS
MM0612.1:
Recipes saved: 11 (already MM: 2)
Lines read: 276
Lines written: 302
The recipe titles display as they are extracted. This is followed by
the output file name and the number of recipes. The parenthetical count is
the number of these recipes that were found to already be in MM format.
The lines read and written print out at the end. These counts are also
written to the output file.
Like with MMCRDTxx, the default output file name is MMmmdd.n
(current month and day followed by a file number). If you provide your own
output file name, the file numbering convention is used similarly to avoid
overwriting existing files. It is supposed to go up to 999 versions, so
there should be little problem with running out. I have had up to 30+
versions in testing my programs.
An example of the output produced by MMCONV functionality when
encountering an MM recipe:
---------- Recipe via Meal-Master (tm) v7.04
Title: Mexican Fudge
Categories: Appetizers, Cheese/eggs
Servings: 1
1 lb Monterey Jack cheese with 1 cn Evaporated milk (13 oz.)
Jalapeno pepper 2 Eggs
1 lb Cheddar cheese 3 tb Flour
Grate cheese and lay in greased 9" x 13" pan. Beat milk, eggs, and
flour together, pour over cheeses. Bake 40 minutes at 350 degrees F. Cut
into squares or diamonds, serve hot or cold.
From: John Blackwell Date: 03-02-93
-----
I find manually entering recipes a nuisance. I also found trying to
squeeze odd recipes into MM format very time consuming. This program took
a while to write. But I expect to get some value from the time it saves
me.
I expect you will find that it saves you time as well. If it does, I
would like payment for the program. I cannot imagine that it does not save
you $5 worth of time if used a few times.
If you want to register and be notified of upgrades, send your name
and address and the BBS name and phone number where you got the program
with $5 to:
Rodney Grantham
770 Cranberry Tr.
Roswell, GA 30076
Please include the version number which displays when MMCONV is run
without any parameters. If there is a newer version, you will be notified.
If you have suggestions send them to the same address. I can also be
contacted via RIME or I-LINK CUISINE conferences. I recently added the
main FIDO recipe conference to my reading.
If you use the program and don't register, drop me a postcard anyway.
Include any comments and your name and address and BBS name and phone
number where you got the program. I won't nag you about the money. I
realize that sometimes people cannot afford $5. I'd like to track the
spread and usage just out of curiousity. At least splurge enough to blow
a quarter. That's real close to freeware.
MARKIT, MSGSPLIT and MMSORT are freeware. If you really like them, you
might consider contributing for them as well, but it is not required.
MARKIT formats recipes for processing by MMCONV. With version 1.02 it
also will format for QBOOK with a -Q option on the input line.
MSGSPLIT divides up large files of messages (or other ASCII text) into
smaller files for convenient processing by editors.
MMSORT can divide up a file of MM recipes based on the category
information in MMSORT.PRM. For those with several databases of recipes
this can ease recipe entry.
ver 1.1 - add TEAS to abbreviate
- add OUNCES to abbreviate
- translate ½ and ¼ (Stan Hall) to 1/2 and 1/4
- activate -L & -R options to supply own footer
- -T option suppresses display of Titles
(opposite of MMCRDTnn functioning)
- -C option to change ingredient line number of chars.
- add SERVING detection
- caseblind CompuChef & QUIKBOOK header/footer detect
- CompuChef checks for "**********" & next line "**"
- handle continuation in non-MM recipes
- title: cap first char of words - lower the rest
- no MM count display if it is zero
- skip FAT GRAMS, CHOLESTEROL & INGREDIENT lines from
COMPU-CHEF
ver 1.2
- add TBSPS, TBLSP, TBL, #, SML, TEA, TBLS,
QTS, TSPN, TSPNS, TBLSPNS, TBLSPN to abbreviate
- add gallon which overlooked before
- add standard metrics for MM: kg, g, l, etc.
- modify SERV checking so won't pick up preserves
- handle multiple fractions, e.g., 1/4-1/2 c water
- extra recipe format:
*** FROM SCRATCH RECIPE BEGINS *****
********** RECIPE ENDS ********
- save 'FromScratch' servings & place correctly
- skip lines with just '.' on them
- mixed case credit line set from header info
- print counts of recipes & lines at end of output file
as well as on the screen (MM will ignore this)
ver 1.3
- fix dash handling, e.g., 4-6 pounds not split right
- fix 2 6-1/4 oz cans handling
- mix case categories
- make sure space after servings in all cases
- skip extra blank or '.' lines in directions- always
keep at least one of the spaces between sections
- in real MM recipe, don't stop on stars as CCHEF marker
- make sure --MM marker aligns with margin: H Peagram
MM header includes a --MM sequence
- handle Title:Spinach Tofu Lasagne - provide space
- added PINT to PT, DASH to DS, fluid oz to FL & several
additional variant spellings on existing
- fix From Scratch to actually work with real recipe;
used bad example to develop handling
- take out leading blanks in DIRECTIONS: consistency &
avoids being interpreted as ingredient.
- set own default category - handy on ZIP files -D or -d
- look for YIELD for servings
- option to save what not seen as recipe -S or -s
- fix to skip DIRECTIONS ----- and INGREDIENTS --- lines
regardless of length
- also INSTRUCTIONS & PROCEDURE lines
- generic header: look for NAME: & DATE: -x -X
- pick up KEY WORDS as category: (Alvin Broughton)
- must have at least one direction line, otherwise ---
treated as normal rather than end of recipe
- end marker of at least 3 hyphens need not be aligned
with margin - but only hyphens and blanks allowed on
the line
- zap categories:
",MINE",
" BEST",
",BEST",
",MOM'S",
" MOM'S",
",ECHO",
" ECHO",
"CYBEREALM",
"MY FAVORITE",
"FAVORITE",
",MY",
" MY",
"*,"
ver 1.4
This version owes a debt to Fran McGee on FIDO. She made a comment
about the amount of work that got me thinking. I think you will find
MMCONV version 14 to be much more user friendly than preceding versions as
a result.
- Eliminate character count as guide to ingredient line;
instead use first blank line as demarcation.
- Skip Pileggi headings:
Qty Measurement Ingredient
___---- --------
- Recognize Pileggi ____ as end of recipe
- combine clove or cloves with following word correctly
A point by point discussion of these items:
- Eliminate character count as guide to ingredient line;
instead use first blank line as demarcation.
You no longer have to divide up long ingredient lines. MMCONV will
format them for you. If there are blank lines within ingredients, they
should be removed. If there is no blank between ingredients and
directions, add one.
You must have some sort of ingredients. If there are none in the
recipe, just stick in none with a blank line following before the
directions and you're set.
- Skip Pileggi headings:
Qty Measurement Ingredient
___---- --------
Pileggi puts a lot of recipes out with these two odd headings. MMCONV
will now skip them and process ingredients.
- Recognize Pileggi ____ as end of recipe
Pileggi uses ___ rather than --- at end of his recipes. Difficult to
spot as not a match. So changed MMCONV to respond to it.
- combine clove or cloves with following word correctly
I got tired of clove(s) followed by several spaces splitting the
line. Or having to take out the spaces. I don't want to use CL for
cloves since MM regards as centiliters. So I added processing to close up
the spacing for cloves. That is:
3 cloves garlic processes to 3 cloves garlic appropriately
spaced. Formerly thought garlic was a second column!
ver 1.5
- CLRSCR at start of processing
- print counts of various types of recipes (generic
are the --MM marked ones)
- look for MAKE before SERV to handle "makes 8 servings"
- put serving problem on one line rather than 2
- provide a full screen input format
- continue support of shorthand version as well
- add file display if * in filename entered
- handle head(s),stalk(s),pieces(s),bag(s),ear(s),
glass(es), inch(es), box(es), of, env, bunch(es),
like cloves in 1.40
- if hit and skip "DIRECTION" line, switch from ingredient
processing
- skip duplicate KEYWORD or CATEGOR (VILLARREAL)
- zap category OSG1966 & some others
- CTN for carton, LAR for large and various others added
- fix so recognizes SERV or MAKE or YIELD with '(' before
it
- print name of file processed in the output file & on
screen