|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: B T
Length: 6974 (0x1b3e)
Types: TextFile
Names: »B«
└─⟦180fe333a⟧ Bits:30000405 8mm tape, Rational 1000, SW CATALOG, 10_20_0
└─⟦180fe333a⟧ Bits:30000537 8mm tape, Rational 1000, SW Catalog 10_20_0
└─⟦5cb1d1d7f⟧ »DATA«
└─⟦3b1ee7bd8⟧
└─⟦this⟧
separate (Build_Release)
procedure Generate_Browser_Version_Of_Data_File_For
(This_Version : in Full_Name) is
--
The_Catalog : Structure.Catalog;
--
The_Browser_Markup_File : Io.File_Type;
--
procedure Set_Basics (This_Browser_Markup_File : in out Io.File_Type) is
begin
Io.Put_Line (This_Browser_Markup_File,
"~environment(page_offset=0inches)");
Io.Put_Line (This_Browser_Markup_File,
"~environment(left_margin=0inches)");
Io.Put_Line (This_Browser_Markup_File,
"~setup(header_space_before=1point)");
Io.Put_Line (This_Browser_Markup_File,
"~setup(header_space_after=1point)");
Io.Put_Line (This_Browser_Markup_File,
"~setup(footer_space_before=1point)");
Io.Put_Line (This_Browser_Markup_File, "~left_heading()");
Io.Put_Line (This_Browser_Markup_File, "~right_heading()");
Io.Put_Line (This_Browser_Markup_File, "~left_footing()");
Io.Put_Line (This_Browser_Markup_File, "~right_footing()");
Io.New_Line (This_Browser_Markup_File);
end Set_Basics;
--
procedure Set_Wide (This_Browser_Markup_File : in out Io.File_Type) is
begin
Io.Put_Line (This_Browser_Markup_File, "~begin(verbatim)");
Io.Put_Line (This_Browser_Markup_File,
"~environment(right_margin=12.7inches)");
end Set_Wide;
--
procedure Set_Normal (This_Browser_Markup_File : in out Io.File_Type) is
begin
Io.Put_Line (This_Browser_Markup_File, "~end(verbatim)");
Io.Put_Line (This_Browser_Markup_File,
"~environment(right_margin=7.5inches)");
end Set_Normal;
--
procedure Write_Catalog_Node
(This_Catalog : in Structure.Catalog;
This_Browser_Markup_File : in out Io.File_Type;
Control_Result : out Structure.Traversal_Control) is
begin
Set_Basics (This_Browser_Markup_File);
Set_Wide (This_Browser_Markup_File);
Structure.Save_Header (This_Catalog, This_Browser_Markup_File);
Set_Normal (This_Browser_Markup_File);
Structure.Save_Text (Structure.Description_Of (This_Catalog),
This_Browser_Markup_File);
Control_Result := Structure.Continue;
end Write_Catalog_Node;
--
procedure Write_Section_Node
(This_Section : in Structure.Section;
This_Browser_Markup_File : in out Io.File_Type;
Control_Result : out Structure.Traversal_Control) is
begin
Set_Wide (This_Browser_Markup_File);
Structure.Save_Header (This_Section, This_Browser_Markup_File);
Set_Normal (This_Browser_Markup_File);
Structure.Save_Text (Structure.Description_Of (This_Section),
This_Browser_Markup_File);
Control_Result := Structure.Continue;
end Write_Section_Node;
--
procedure Write_Item_Node
(This_Item : in Structure.Item;
This_Browser_Markup_File : in out Io.File_Type;
Control_Result : out Structure.Traversal_Control) is
begin
Set_Wide (This_Browser_Markup_File);
Structure.Save_Header (This_Item, This_Browser_Markup_File);
Set_Normal (This_Browser_Markup_File);
Structure.Save_Text (Structure.Description_Of (This_Item),
This_Browser_Markup_File);
Control_Result := Structure.Continue;
end Write_Item_Node;
--
procedure Finalize (This_Catalog : in Structure.Catalog;
This_Browser_Markup_File : in out Io.File_Type) is
begin
Set_Wide (This_Browser_Markup_File);
Structure.Save_Trailer (This_Catalog, This_Browser_Markup_File);
Set_Normal (This_Browser_Markup_File);
Low_Level_File_Operations.Close (This_Browser_Markup_File);
end Finalize;
--
procedure Generate_Browser_Markup is
new Structure.Traverse (Io.File_Type,
Write_Catalog_Node,
Write_Section_Node,
Write_Item_Node,
Finalize);
--
begin
Log.Put_Line ("Creating markup for browser version of data file");
Log.Put_Line ("Parsing data file");
The_Catalog := Structure_Utilities.Catalog_For (This_Version);
Structure.Assert_Is_Good (The_Catalog);
Structure_Utilities.Display_Diagnostic
(The_Catalog, Response, Display_Warning_Messages => True);
Log.Put_Line ("Data file parsed", Profile.Positive_Msg);
Log.Put_Line ("Generating markup");
The_Browser_Markup_File :=
Low_Level_File_Operations.Open_To_Write
(Pathnames.Browser_Data_File_Markup_File_For (This_Version));
Generate_Browser_Markup (The_Catalog, The_Browser_Markup_File);
Log.Put_Line ("Markup generated", Profile.Positive_Msg);
begin
Log.Put_Line ("Formatting markup");
Compose (Document =>
Pathnames.Browser_Data_File_Markup_File_For (This_Version),
Device => "Online",
Options => "Include => " &
Pathnames.Document_Setup_File_For (This_Version),
Response => "PROPAGATE,<PROFILE>");
Log.Put_Line ("Markup formatted", Profile.Positive_Msg);
--
exception
when others =>
Error.Report ("Unable to format markup, quitting", Nested => True);
end;
begin
Log.Put_Line ("Copying formatted file to browser data file");
Library.Copy (From => Pathnames.Browser_Data_File_Online_File_For
(This_Version),
To => Pathnames.Browser_Data_File_For (This_Version),
Response => "PROPAGATE,<PROFILE>");
Log.Put_Line ("Browser data file copied", Profile.Positive_Msg);
--
exception
when others =>
Error.Report ("Copying failed, quitting", Nested => True);
end;
Log.Put_Line ("Verifying browser data file");
The_Catalog := Structure.Catalog_From
(Pathnames.Browser_Data_File_For (This_Version));
Structure.Assert_Is_Good (The_Catalog);
Structure_Utilities.Display_Diagnostic
(The_Catalog, Response, Display_Warning_Messages => True);
Log.Put_Line ("Browser data file verified", Profile.Positive_Msg);
--
exception
when Low_Level_File_Operations.Io_Failure =>
Error.Report ("Unable to create markup file", Nested => True);
when Structure.Bad_Element =>
Structure_Utilities.Display_Diagnostic
(The_Catalog, Response, Display_Warning_Messages => True);
Error.Report (Error.Nil_Message, Nested => True);
when others =>
raise;
--
end Generate_Browser_Version_Of_Data_File_For;