mirror of https://github.com/tLDP/LDP
244 lines
5.6 KiB
Bash
244 lines
5.6 KiB
Bash
#!/bin/bash
|
|
# pad.sh
|
|
|
|
#######################################################
|
|
# PAD (xml) file creator
|
|
#+ Written by Mendel Cooper <thegrendel.abs@gmail.com>.
|
|
#+ Released to the Public Domain.
|
|
#
|
|
# Generates a "PAD" descriptor file for shareware
|
|
#+ packages, according to the specifications
|
|
#+ of the ASP.
|
|
# http://www.asp-shareware.org/pad
|
|
#######################################################
|
|
|
|
|
|
# Accepts (optional) save filename as a command-line argument.
|
|
if [ -n "$1" ]
|
|
then
|
|
savefile=$1
|
|
else
|
|
savefile=save_file.xml # Default save_file name.
|
|
fi
|
|
|
|
|
|
# ===== PAD file headers =====
|
|
HDR1="<?xml version=\"1.0\" encoding=\"Windows-1252\" ?>"
|
|
HDR2="<XML_DIZ_INFO>"
|
|
HDR3="<MASTER_PAD_VERSION_INFO>"
|
|
HDR4="\t<MASTER_PAD_VERSION>1.15</MASTER_PAD_VERSION>"
|
|
HDR5="\t<MASTER_PAD_INFO>Portable Application Description, or PAD
|
|
for short, is a data set that is used by shareware authors to
|
|
disseminate information to anyone interested in their software products.
|
|
To find out more go to http://www.asp-shareware.org/pad</MASTER_PAD_INFO>"
|
|
HDR6="</MASTER_PAD_VERSION_INFO>"
|
|
# ============================
|
|
|
|
|
|
fill_in ()
|
|
{
|
|
if [ -z "$2" ]
|
|
then
|
|
echo -n "$1? " # Get user input.
|
|
else
|
|
echo -n "$1 $2? " # Additional query?
|
|
fi
|
|
|
|
read var # May paste to fill in field.
|
|
# This shows how flexible "read" can be.
|
|
|
|
if [ -z "$var" ]
|
|
then
|
|
echo -e "\t\t<$1 />" >>$savefile # Indent with 2 tabs.
|
|
return
|
|
else
|
|
echo -e "\t\t<$1>$var</$1>" >>$savefile
|
|
return ${#var} # Return length of input string.
|
|
fi
|
|
}
|
|
|
|
check_field_length () # Check length of program description fields.
|
|
{
|
|
# $1 = maximum field length
|
|
# $2 = actual field length
|
|
if [ "$2" -gt "$1" ]
|
|
then
|
|
echo "Warning: Maximum field length of $1 characters exceeded!"
|
|
fi
|
|
}
|
|
|
|
clear # Clear screen.
|
|
echo "PAD File Creator"
|
|
echo "--- ---- -------"
|
|
echo
|
|
|
|
# Write File Headers to file.
|
|
echo $HDR1 >$savefile
|
|
echo $HDR2 >>$savefile
|
|
echo $HDR3 >>$savefile
|
|
echo -e $HDR4 >>$savefile
|
|
echo -e $HDR5 >>$savefile
|
|
echo $HDR6 >>$savefile
|
|
|
|
|
|
# Company_Info
|
|
echo "COMPANY INFO"
|
|
CO_HDR="Company_Info"
|
|
echo "<$CO_HDR>" >>$savefile
|
|
|
|
fill_in Company_Name
|
|
fill_in Address_1
|
|
fill_in Address_2
|
|
fill_in City_Town
|
|
fill_in State_Province
|
|
fill_in Zip_Postal_Code
|
|
fill_in Country
|
|
|
|
# If applicable:
|
|
# fill_in ASP_Member "[Y/N]"
|
|
# fill_in ASP_Member_Number
|
|
# fill_in ESC_Member "[Y/N]"
|
|
|
|
fill_in Company_WebSite_URL
|
|
|
|
clear # Clear screen between sections.
|
|
|
|
# Contact_Info
|
|
echo "CONTACT INFO"
|
|
CONTACT_HDR="Contact_Info"
|
|
echo "<$CONTACT_HDR>" >>$savefile
|
|
fill_in Author_First_Name
|
|
fill_in Author_Last_Name
|
|
fill_in Author_Email
|
|
fill_in Contact_First_Name
|
|
fill_in Contact_Last_Name
|
|
fill_in Contact_Email
|
|
echo -e "\t</$CONTACT_HDR>" >>$savefile
|
|
# END Contact_Info
|
|
|
|
clear
|
|
|
|
# Support_Info
|
|
echo "SUPPORT INFO"
|
|
SUPPORT_HDR="Support_Info"
|
|
echo "<$SUPPORT_HDR>" >>$savefile
|
|
fill_in Sales_Email
|
|
fill_in Support_Email
|
|
fill_in General_Email
|
|
fill_in Sales_Phone
|
|
fill_in Support_Phone
|
|
fill_in General_Phone
|
|
fill_in Fax_Phone
|
|
echo -e "\t</$SUPPORT_HDR>" >>$savefile
|
|
# END Support_Info
|
|
|
|
echo "</$CO_HDR>" >>$savefile
|
|
# END Company_Info
|
|
|
|
clear
|
|
|
|
# Program_Info
|
|
echo "PROGRAM INFO"
|
|
PROGRAM_HDR="Program_Info"
|
|
echo "<$PROGRAM_HDR>" >>$savefile
|
|
fill_in Program_Name
|
|
fill_in Program_Version
|
|
fill_in Program_Release_Month
|
|
fill_in Program_Release_Day
|
|
fill_in Program_Release_Year
|
|
fill_in Program_Cost_Dollars
|
|
fill_in Program_Cost_Other
|
|
fill_in Program_Type "[Shareware/Freeware/GPL]"
|
|
fill_in Program_Release_Status "[Beta, Major Upgrade, etc.]"
|
|
fill_in Program_Install_Support
|
|
fill_in Program_OS_Support "[Win9x/Win2k/Linux/etc.]"
|
|
fill_in Program_Language "[English/Spanish/etc.]"
|
|
|
|
echo; echo
|
|
|
|
# File_Info
|
|
echo "FILE INFO"
|
|
FILEINFO_HDR="File_Info"
|
|
echo "<$FILEINFO_HDR>" >>$savefile
|
|
fill_in Filename_Versioned
|
|
fill_in Filename_Previous
|
|
fill_in Filename_Generic
|
|
fill_in Filename_Long
|
|
fill_in File_Size_Bytes
|
|
fill_in File_Size_K
|
|
fill_in File_Size_MB
|
|
echo -e "\t</$FILEINFO_HDR>" >>$savefile
|
|
# END File_Info
|
|
|
|
clear
|
|
|
|
# Expire_Info
|
|
echo "EXPIRE INFO"
|
|
EXPIRE_HDR="Expire_Info"
|
|
echo "<$EXPIRE_HDR>" >>$savefile
|
|
fill_in Has_Expire_Info "Y/N"
|
|
fill_in Expire_Count
|
|
fill_in Expire_Based_On
|
|
fill_in Expire_Other_Info
|
|
fill_in Expire_Month
|
|
fill_in Expire_Day
|
|
fill_in Expire_Year
|
|
echo -e "\t</$EXPIRE_HDR>" >>$savefile
|
|
# END Expire_Info
|
|
|
|
clear
|
|
|
|
# More Program_Info
|
|
echo "ADDITIONAL PROGRAM INFO"
|
|
fill_in Program_Change_Info
|
|
fill_in Program_Specific_Category
|
|
fill_in Program_Categories
|
|
fill_in Includes_JAVA_VM "[Y/N]"
|
|
fill_in Includes_VB_Runtime "[Y/N]"
|
|
fill_in Includes_DirectX "[Y/N]"
|
|
# END More Program_Info
|
|
|
|
echo "</$PROGRAM_HDR>" >>$savefile
|
|
# END Program_Info
|
|
|
|
clear
|
|
|
|
# Program Description
|
|
echo "PROGRAM DESCRIPTIONS"
|
|
PROGDESC_HDR="Program_Descriptions"
|
|
echo "<$PROGDESC_HDR>" >>$savefile
|
|
|
|
LANG="English"
|
|
echo "<$LANG>" >>$savefile
|
|
|
|
fill_in Keywords "[comma + space separated]"
|
|
echo
|
|
echo "45, 80, 250, 450, 2000 word program descriptions"
|
|
echo "(may cut and paste into field)"
|
|
# It would be highly appropriate to compose the following
|
|
#+ "Char_Desc" fields with a text editor,
|
|
#+ then cut-and-paste the text into the answer fields.
|
|
echo
|
|
echo " |---------------45 characters---------------|"
|
|
fill_in Char_Desc_45
|
|
check_field_length 45 "$?"
|
|
echo
|
|
fill_in Char_Desc_80
|
|
check_field_length 80 "$?"
|
|
|
|
fill_in Char_Desc_250
|
|
check_field_length 250 "$?"
|
|
|
|
fill_in Char_Desc_450
|
|
fill_in Char_Desc_2000
|
|
|
|
echo "</$LANG>" >>$savefile
|
|
echo "</$PROGDESC_HDR>" >>$savefile
|
|
# END Program Description
|
|
|
|
clear
|
|
echo "Done."; echo; echo
|
|
echo "Save file is: \""$savefile"\""
|
|
|
|
exit 0
|