DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: B T

⟦b2cf8f7b9⟧ TextFile

    Length: 6974 (0x1b3e)
    Types: TextFile
    Names: »B«

Derivation

└─⟦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⟧ 

TextFile

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;