# Path: h800/arguscard.py
# class Deck(punchcard.Deck):
#     """A simple class to represent a deck of ARGUS punch-cards."""
#     def __init__(self, lines=None, file=None, width=_WIDTH, fields=_FIELDS,
#                  cardclass=Card, verbose=False):
#         super().__init__(lines=lines, file=file, width=width, fields=fields,
#                          cardclass=cardclass, verbose=verbose)
#         self._logSection = None
#         self._logSectionCol8 = None
#         for card in self._cards:
#             if card.record["column1"] == 'L':
#                 # This will only recognise the first log section in a deck.
#                 self._logSection = card.line[8:81].strip()
#                 self._logSectionCol8 = card.record["column8"]
#                 break
# 
#     @property
#     def log_section(self):
#         return self._logSection
# 
#     @property
#     def log_section_col8(self):
#         return self._logSectionCol8


from h800.arguscard import Deck
    import pprint
 0094   DCLAV MSG  ALF,3        DECLARED AVAILABLE
 0095   DCLOB MSG  ALF,3        DECLARED OBSOLETE
 0096   DCLOK MSG  ALF,3        DECLARED CHECKED OUT
 0097   MANUS MSG  ALF,2        NUFACTURING FOR

# Page 111
#      @YUL SYSTEM PASS 0 SERVICE MODULE                                         USER'S OWN PAGE NO.   4        PAGE  71

P0098   ALPHABETIC ARRAYS CONTINUED.

 0099   MNTN LINE  ALF,4        YUL SYSTEM MAINTENANCE FUNCTION:
 0100   NEWCO MSG  ALF,3          NEW COMPUTER:
 0101   NEW LINE   OCT          0
 0102              ALF,5
 0103              ALF,5
 0104              ALF,5
 0105   NOMAT MSG  ALF,4        NO MATCH FOUND FOR THIS CARD:
 0106   NOTAV MSG  ALF,2        NOT AVAILABLE
 0107   NOW OP MSG ALF,4         NOW OPERATING FROM NEW YULPROGS

 0108   OBUWK MSG  ALF,4        FORMER BACKUP WILL BE WORKER
 0109   OP SLP MSJ ALF,2        OPERATOR ASLEEP
 0110   PASSS MSG  ALF,2        MBLY PASS █ FOR
 0111   PCH CARD   OCT          0
 0112              ALF,5
 0113              ALF,5
 0932   RUNOUT PR  TS           S 4SPACE      N,X2,1        GET LOG NO     C
 0933              SWS, D8T12   S ZERO                      N,AU2
 0934              MT           S BLANKS      15            N,X2,1
 0935              WD           Z,X2          OCTAL 20      Z,X2

# Path: h800/arguscard.py
# class Deck(punchcard.Deck):
#     """A simple class to represent a deck of ARGUS punch-cards."""
#     def __init__(self, lines=None, file=None, width=_WIDTH, fields=_FIELDS,
#                  cardclass=Card, verbose=False):
#         super().__init__(lines=lines, file=file, width=width, fields=fields,
#                          cardclass=cardclass, verbose=verbose)
#         self._logSection = None
#         self._logSectionCol8 = None
#         for card in self._cards:
#             if card.record["column1"] == 'L':
#                 # This will only recognise the first log section in a deck.
#                 self._logSection = card.line[8:81].strip()
#                 self._logSectionCol8 = card.record["column8"]
#                 break
# 
#     @property
#     def log_section(self):
#         return self._logSection
# 
#     @property
#     def log_section_col8(self):
#         return self._logSectionCol8


# Path: h800/arguscard_test.py
from h800.arguscard import Deck
    import pprint

 0094   DCLAV MSG  ALF,3        DECLARED AVAILABLE
 0095   DCLOB MSG  ALF,3        DECLARED OBSOLETE
 0096   DCLOK MSG  ALF,3        DECLARED CHECKED OUT
 0097   MANUS MSG  ALF,2        NUFACTURING FOR

# Page 111
#      @YUL SYSTEM PASS 0 SERVICE MODULE                                         USER'S OWN PAGE NO.   4        PAGE  71

P0098   ALPHABETIC ARRAYS CONTINUED.

 0099   MNTN LINE  ALF,4        YUL SYSTEM MAINTENANCE FUNCTION:
 0100   NEWCO MSG  ALF,3          NEW COMPUTER:
 0101   NEW LINE   OCT          0
 0102              ALF,5
 0103              ALF,5
 0104              ALF,5
 0105   NOMAT MSG  ALF,4        NO MATCH FOUND FOR THIS CARD:
 0106   NOTAV MSG  ALF,2        NOT AVAILABLE
 0107   NOW OP MSG ALF,4         NOW OPERATING FROM NEW YULPROGS

 0108   OBUWK MSG  ALF,4        FORMER BACKUP WILL BE WORKER
 0109   OP SLP MSJ ALF,2        OPERATOR ASLEEP
 0110   PASSS MSG  ALF,2        MBLY PASS █ FOR
 0111   PCH CARD   OCT          0
 0112              ALF,5
 0113              ALF,5
 0932   RUNOUT PR  TS           S 4SPACE      N,X2,1        GET LOG NO     C
 0933              SWS, D8T12   S ZERO                      N,AU2
 0934              MT           S BLANKS      15            N,X2,1
 0935              WD           Z,X2          OCTAL 20      Z,X2

 0936              S, PHI PRINT 2,0