scriptotek / alma-slipsomat

Tool for syncing Alma letters XSL files with a local folder
MIT License
15 stars 10 forks source link

pull/push crashes on new UI #31

Closed th122 closed 6 years ago

th122 commented 6 years ago

From the looks of it, it bails out on not being able to read the date, both in production and in sandbox. (UI language set to english)

slipsomat> pull
Reading table... 
Exception: Table mismatch: 113 filenames, 0 dates
Traceback (most recent call last):
  File "~/.pyenv/versions/3.6.3/lib/python3.6/site-packages/slipsomat-0.1.0-py3.6.egg/slipsomat/slipsomat.py", line 1074, in execute
    function(self.browser, *args)
  File "~/.pyenv/versions/3.6.3/lib/python3.6/site-packages/slipsomat-0.1.0-py3.6.egg/slipsomat/slipsomat.py", line 706, in pull
    table = browser.get_template_table()
  File "~/.pyenv/versions/3.6.3/lib/python3.6/site-packages/slipsomat-0.1.0-py3.6.egg/slipsomat/slipsomat.py", line 247, in get_template_table
    self._template_table = TemplateTable(self)
  File "~/.pyenv/versions/3.6.3/lib/python3.6/site-packages/slipsomat-0.1.0-py3.6.egg/slipsomat/slipsomat.py", line 316, in __init__
    self.rows = self.parse_rows()
  File "~/.pyenv/versions/3.6.3/lib/python3.6/site-packages/slipsomat-0.1.0-py3.6.egg/slipsomat/slipsomat.py", line 362, in parse_rows
    raise RuntimeError('Table mismatch: %d filenames, %d dates' % (len(filenames), len(dates)))
RuntimeError: Table mismatch: 113 filenames, 0 dates
th122 commented 6 years ago

Found the dates in column 6 instead of 7. looks like something's off. The script found another place to bail now, though:

Exception: 'modified'
Traceback (most recent call last):
  File "/Volumes/Users/theuser/.pyenv/versions/3.6.4/lib/python3.6/site-packages/slipsomat-0.1.0-py3.6.egg/slipsomat/slipsomat.py", line 1075, in execute
    function(self.browser, *args)
  File "/Volumes/Users/theuser/.pyenv/versions/3.6.4/lib/python3.6/site-packages/slipsomat-0.1.0-py3.6.egg/slipsomat/slipsomat.py", line 712, in pull
    if letter.remote_modified():
  File "/Volumes/Users/theuser/.pyenv/versions/3.6.4/lib/python3.6/site-packages/slipsomat-0.1.0-py3.6.egg/slipsomat/slipsomat.py", line 513, in remote_modified
    if os.path.exists(self.filename) and self.modified == self.table.status.letters[self.filename]['modified'] and self.modified != today:
KeyError: 'modified'

Here's the content of filenames and dates

RuntimeError: Table mismatch: 113 filenames ['xsl/letters/sms/SmsFulUserOverdueNoticeLetter.xsl', 'xsl/letters/sms/SmsFulUserLoansCourtesyLetter.xsl', 'xsl/letters/sms/SmsFulUserBorrowingActivityLetter.xsl', 'xsl/letters/sms/SmsFulShortenedDueDateLetter.xsl', 'xsl/letters/sms/SmsFulPlaceOnHoldShelfLetter.xsl', 'xsl/letters/sms/SmsFulOverdueAndLostLoanNotificationLetter.xsl', 'xsl/letters/sms/SmsFulOverdueAndLostLoanLetter.xsl', 'xsl/letters/sms/SmsFulLostLoanNotificationLetter.xsl', 'xsl/letters/sms/SmsFulLostLoanLetter.xsl', 'xsl/letters/sms/SmsFulItemChangeDueDateLetter.xsl', 'xsl/letters/sms/SmsFulFinesFeesNotificationLetter.xsl', 'xsl/letters/sms/SmsFulCancelRequestLetter.xsl', 'xsl/letters/call_template/style.xsl', 'xsl/letters/call_template/smsRecordTitle.xsl', 'xsl/letters/call_template/senderReceiver.xsl', 'xsl/letters/call_template/recordTitle.xsl', 'xsl/letters/call_template/mailReason.xsl', 'xsl/letters/call_template/header.xsl', 'xsl/letters/call_template/footer.xsl', 'xsl/letters/WebhookFailureLetter.xsl', 'xsl/letters/UserNotificationsLetter.xsl', 'xsl/letters/UserDeletionLetter.xsl', 'xsl/letters/UpdateCollectionContributionLetter.xsl', 'xsl/letters/TrialLetter.xsl', 'xsl/letters/SystemJobLetter.xsl', 'xsl/letters/SocialLoginInviteLetter.xsl', 'xsl/letters/SocialLoginAccountAttachedLetter.xsl', 'xsl/letters/SavedSearchesLetter.xsl', 'xsl/letters/RestrictedLoginIPLetter.xsl', 'xsl/letters/ResourceSharingShippingSlipLetter.xsl', 'xsl/letters/ResourceSharingReturnSlipLetter.xsl', 'xsl/letters/ResourceSharingReceiveSlipLetter.xsl', 'xsl/letters/ResendNotificationLetter.xsl', 'xsl/letters/ReceivingSlipLetter.xsl', 'xsl/letters/QueryToRequesterLetter.xsl', 'xsl/letters/QueryToPatronLetter.xsl', 'xsl/letters/PurchaseRequestStatusLetter.xsl', 'xsl/letters/ProcessBibExportFinishedLetter.xsl', 'xsl/letters/PdaThresholdLetter.xsl', 'xsl/letters/POLineRenewalLetter.xsl', 'xsl/letters/POLineClaimLetter.xsl', 'xsl/letters/POLineCancellationLetter.xsl', 'xsl/letters/PINNumberLetter.xsl', 'xsl/letters/OwnerSubscriptionLetter.xsl', 'xsl/letters/OverlapAnalysisLetter.xsl', 'xsl/letters/OrderNowLetter.xsl', 'xsl/letters/OrderListLetter.xsl', 'xsl/letters/NotifyUponRenewalLetter.xsl', 'xsl/letters/LoginUsingOneTimeTokenLetter.xsl', 'xsl/letters/LicensePrintoutLetter.xsl', 'xsl/letters/LendingReqReportSlipLetter.xsl', 'xsl/letters/LendingRecallEmailLetter.xsl', 'xsl/letters/LenderWillSupplyEmailLetter.xsl', 'xsl/letters/LenderShipEmailLetter.xsl', 'xsl/letters/LenderRenewResponseEmailLetter.xsl', 'xsl/letters/LenderRejectEmailLetter.xsl', 'xsl/letters/LenderCheckedInEmailLetter.xsl', 'xsl/letters/LegantoNotificationsLetter.xsl', 'xsl/letters/LegalDepositReceiptLetter.xsl', 'xsl/letters/LegalDepositOrderLetter.xsl', 'xsl/letters/LegalDepositClaimLetter.xsl', 'xsl/letters/LegalDepositAnnualReceiptsLetter.xsl', 'xsl/letters/InterestedUsersInLetter.xsl', 'xsl/letters/InterestedInLetter.xsl', 'xsl/letters/GeneralMessageEmailLetter.xsl', 'xsl/letters/GeneralAssignToLetter.xsl', 'xsl/letters/FulUserOverdueNoticeLetter.xsl', 'xsl/letters/FulUserLoansCourtesyLetter.xsl', 'xsl/letters/FulUserBorrowingActivityLetter.xsl', 'xsl/letters/FulTransitSlipLetter.xsl', 'xsl/letters/FulShortenedDueDateLetter.xsl', 'xsl/letters/FulShortLoanLetter.xsl', 'xsl/letters/FulReturnReceiptLetter.xsl', 'xsl/letters/FulRequestsReportLetter.xsl', 'xsl/letters/FulRenewEmailLetter.xsl', 'xsl/letters/FulReasourceRequestSlipLetter.xsl', 'xsl/letters/FulPlaceOnHoldShelfLetter.xsl', 'xsl/letters/FulPickupRequestReportLetter.xsl', 'xsl/letters/FulPersonalDeliveryLetter.xsl', 'xsl/letters/FulOverdueAndLostLoanNotificationLetter.xsl', 'xsl/letters/FulOverdueAndLostLoanLetter.xsl', 'xsl/letters/FulOutgoingEmailLetter.xsl', 'xsl/letters/FulLostRefundFeeLoanLetter.xsl', 'xsl/letters/FulLostLoanNotificationLetter.xsl', 'xsl/letters/FulLostLoanLetter.xsl', 'xsl/letters/FulLoanReceiptLetter.xsl', 'xsl/letters/FulItemChangeDueDateLetter.xsl', 'xsl/letters/FulIncomingSlipLetter.xsl', 'xsl/letters/FulFinesFeesNotificationLetter.xsl', 'xsl/letters/FulDigitizationNotificationItemLetter.xsl', 'xsl/letters/FulDigitizationDocumentDeliveryNotificationLetter.xsl', 'xsl/letters/FulCitationsSlipLetter.xsl', 'xsl/letters/FulCitationSlipLetter.xsl', 'xsl/letters/FulCancelRequestLetter.xsl', 'xsl/letters/FulCancelEmailLetter.xsl', 'xsl/letters/FulBorrowingInfoLetter.xsl', 'xsl/letters/FulBorrowedByLetter.xsl', 'xsl/letters/FinesAndFeesReportLetter.xsl', 'xsl/letters/FineFeePaymentReceiptLetter.xsl', 'xsl/letters/ExternallyObtainedEmailLetter.xsl', 'xsl/letters/ExportUserLetter.xsl', 'xsl/letters/EmailRecordsLetter.xsl', 'xsl/letters/EactivationtaskOverdueLetter.xsl', 'xsl/letters/DepositActivityLetter.xsl', 'xsl/letters/ConversationLetter.xsl', 'xsl/letters/CollectionContributionUpdateStatusLetter.xsl', 'xsl/letters/CollectionContributionLetter.xsl', 'xsl/letters/CloudIdPUserCreatedLetter.xsl', 'xsl/letters/BorrowerReturnEmailLetter.xsl', 'xsl/letters/BorrowerReceiveEmailLetter.xsl', 'xsl/letters/BorrowerOverdueEmailLetter.xsl', 'xsl/letters/AnalyticsLetter.xsl', 'xsl/checksum_calc.xsl'], 113 dates ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '11/01/2018', '-', '25/01/2018', '25/01/2018', '25/01/2018', '01/02/2018', '11/01/2018', '-', '09/12/2016', '11/01/2018', '-', '11/01/2018', '-', '-', '-', '-', '-', '11/01/2018', '11/01/2018', '15/03/2017', '11/01/2018', '-', '11/01/2018', '11/01/2018', '11/01/2018', '11/01/2018', '11/01/2018', '11/01/2018', '11/01/2018', '11/01/2018', '11/01/2018', '-', '18/05/2017', '11/01/2018', '25/01/2018', '11/01/2018', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '11/01/2018', '11/01/2018', '11/01/2018', '-', '11/01/2018', '11/01/2018', '-', '-', '11/01/2018', '11/01/2018', '22/06/2017', '11/01/2018', '11/01/2018', '11/01/2018', '15/03/2017', '-', '-', '11/01/2018', '11/01/2018', '-', '11/01/2018', '15/01/2018', '25/01/2018', '-', '11/01/2018', '11/01/2018', '11/01/2018', '11/01/2018', '11/01/2018', '11/01/2018', '11/01/2018', '11/01/2018', '11/01/2018', '-', '-', '11/01/2018', '-', '11/01/2018', '11/01/2018', '11/01/2018', '11/01/2018', '11/01/2018', '-', '-', '11/01/2018', '-', '11/01/2018', '18/05/2017', '18/05/2017', '-', '11/01/2018', '11/01/2018', '11/01/2018', '-', '-']
danmichaelo commented 6 years ago

Hm, didn't think about that, but in the new UI the different columns can be toggled easily be the user. If you check all the columns, the date ends up in column 7, right?

skjermbilde 2018-02-17 kl 13 05 09

As for the other error, it seems like the modified date for that letter is missing in the status.json file. Could you try removing the status.json file and pull in all the lettersa again?

th122 commented 6 years ago

Ah - I don't have the Managed in Network column at all, neither in Production nor in Sandbox. I did try to move the columns around, but reverted to default settings afterwards. It's the same in the production environment where I didn't move columns.

sandboxcolumns

danmichaelo commented 6 years ago

Aha! It's because we're part of a consortium. I guess the best solution is to read the column headers then, to check which column is the "Update Date" column.

danmichaelo commented 6 years ago

Ok, think that part should work now

th122 commented 6 years ago

Yes, it's running again! Thank you so much!