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

⟦e58e9f042⟧ TextFile

    Length: 2659 (0xa63)
    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

with Log;
with Errors;
with Profile;
with Archive;
with Subtypes;
use Subtypes;
with Arguments;
with Pathnames;
with Assertions;
with Debug_Tools;
procedure Make_Tape (For_Catalog : in Simple_Name := "<DEFAULT>";
                     This_Version : in Simple_Name := "<DEFAULT>";
                     Response : in String := "<PROFILE>") is
    --
    Old_Response_Profile : Profile.Response_Profile := Profile.Get;
    New_Response_Profile : Profile.Response_Profile := Profile.Value (Response);
    --
    package Error is
       new Errors  
              (Old_Response_Profile, New_Response_Profile, "Make_Tape");
    --
begin
    Profile.Set (New_Response_Profile);
    Log.Put_Line ("[Make_Tape (For_Catalog => """ & For_Catalog &
                  """, This_Version => """ & This_Version &
                  """, Response => """ & Response & """)]",
                  Profile.Auxiliary_Msg);
    declare
        The_Version : constant Full_Name :=
           Arguments.Version_From (For_Catalog, This_Version);
    begin  
        Assertions.Assert_Has_Tape_Contents (The_Version);
        begin
            Log.Put_Line ("Generating tape");
            Archive.Save (Objects => Pathnames.Tape_Contents_For (The_Version),
                          Response => "PROPAGATE,<PROFILE>");
            Log.Put_Line ("Tape generated", Profile.Positive_Msg);
            --
        exception
            when others =>
                Error.Report ("Tape generation failed", Nested => True);
                --
        end;
    end;
    Log.Put_Line ("[end of Make_Tape operation--no error(s) detected]");
    Profile.Set (Old_Response_Profile);
    --
exception
    when Arguments.Invalid_Catalog =>
        Error.Report ("Specified catalog is invalid");
    when Arguments.Invalid_Version =>
        Error.Report ("Specified version is invalid");
    when Arguments.Io_Failure =>
        Error.Report ("Can't find default(s)--run ""Catalog.Set_Defaults""");
    when Assertions.Has_No_Browser_Data_File =>
        Error.Report ("Specified version contains no browser data file");
    when Assertions.Has_No_Browser =>
        Error.Report ("Specified version contains no browser");
    when Assertions.Has_No_Archive_Data =>
        Error.Report ("Specified version contains no archive data file");
    when Assertions.Has_No_Archive_Index =>
        Error.Report ("Specified version contains no archive index file");
    when Error.Propagate =>
        raise;
    when Error.Quit =>
        null;
    when others =>
        Error.Report ("EXCEPTION: " & Debug_Tools.Get_Exception_Name,
                      Profile.Exception_Msg);
        --
end Make_Tape;