I’m using seatable Developer edition self-hosted on 5.0. All my scripts using the seatable_api library stopped working since the update
I get this error, it worked well before :
error: Error: line 11, in <module> rows = base.list_rows(table) ^^^^^^^^^^^^^^^^^^^^ File "/root/.local/lib/python3.11/site-packages/seatable_api/main.py", line 26, in wrapper return func(obj, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/.local/lib/python3.11/site-packages/seatable_api/main.py", line 33, in wrapper return getattr(new_obj, func.__name__)(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/.local/lib/python3.11/site-packages/seatable_api/api_gateway.py", line 221, in list_rows data = parse_response(response) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/.local/lib/python3.11/site-packages/seatable_api/utils.py", line 213, in parse_response raise ConnectionError(response.status_code, response.text) ConnectionError: [Errno 404] <!DOCTYPE html> <html lang="en"> <head> <title>SeaTable - Manche</title> <meta property="og:title" content= "SeaTable" /> <meta property="og:type" content="website" /> <meta property="og:url" content="http://<url>/api-gateway/api/v2/dtables/<id>/rows/?table_name=Xivo_College&convert_keys=True" /> <meta property="og:image" content= "/media/img/og-seatable-logo.png" /> <meta property="og:description" content= "SeaTable - As simple as Excel, with the power of a database" /> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <meta name="keywords" content="File, Collaboration, Team, Organization" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta http-equiv="x-ua-compatible" content="ie=edge" /> <meta name="keywords" content="File, Collaboration, Team, Organization" /> <link rel="icon" href="/media/favicons/seatable-favicon.png"> <link rel="apple-touch-icon" href="/media/favicons/seatable-favicon.png"> <link rel="stylesheet" type="text/css" href="/media/css/dtable-font.css" /> <link rel="stylesheet" type="text/css" href="/media/css/seatable-ui.css?t=20240516" /> <link rel="stylesheet" type="text/css" href="/media/css/seatable-ui-extension.css?t=20240516" /> <link rel="stylesheet" type="text/css" href="/media/css/seahub_python.css?t=1398068110" /> </head> <body> <div id="wrapper" class="en d-flex flex-column h100"> <div id="header" class="d-flex"> <a href="/" id="logo"> <img src="/media/custom/mylogo.png" title="SeaTable" alt="logo" width="" height="32" /> </a> <span class="sf2-icon-menu side-nav-toggle hidden-md-up hide" title="Side nav menu" id="js-toggle-side-nav" aria-label="Side nav menu"></span> <div id="lang"> <a href="#" id="lang-context" data-lang="en">English <span class="dtable-font dtable-icon-drop-down"></span></a> <div id="lang-context-selector" class="sf-popover hide"> <ul class="sf-popover-con"> <li><a href="/i18n/?lang=de">Deutsch</a></li> <li><a href="/i18n/?lang=en">English</a></li> <li><a href="/i18n/?lang=es">Español</a></li> <li><a href="/i18n/?lang=fr">Français</a></li> <li><a href="/i18n/?lang=ru">Русский</a></li> <li><a href="/i18n/?lang=pt">Portuguese</a></li> <li><a href="/i18n/?lang=zh-cn">简体中文</a></li> </ul> </div> </div> </div> <div id="main" class="container-fluid w100 h100"> <div class="row"> <div id="main-panel" class="w100 ovhd"> <div class="text-panel"> <p>Sorry, but the requested page could not be found.</p> </div> </div> </div> </div> <div id="confirm-popup" class="hide"> <div id="confirm-con"></div> <button id="confirm-yes">Yes</button> <button class="simplemodal-close">No</button> </div> </div><!-- wrapper --> <script type="text/javascript"> var SEAFILE_GLOBAL = { csrfCookieName: 'dtable_csrftoken' }; var app = { ui : { currentDropdown: false, currentHighlightedItem: false, freezeItemHightlight: false } } </script> <script type="text/javascript" src="/media/assets/scripts/lib/jquery-3.7.0.min.js" id="jquery"></script> <script type="text/javascript"> function prepareAjaxErrorMsg(xhr) { var error_msg; if (xhr.responseText) { var parsed_resp = JSON.parse(xhr.responseText); // use `HTMLescape` for msgs which contain variable like 'path' error_msg = HTMLescape(parsed_resp.error || parsed_resp.error_msg || parsed_resp.detail); } else { error_msg = gettext("Failed. Please check the network."); } return error_msg; } function ajaxErrorHandler(xhr, textStatus, errorThrown) { var error_msg = prepareAjaxErrorMsg(xhr); feedback(error_msg, 'error'); } (function() { var lang_context = $('#lang-context'), lang_selector = $('#lang-context-selector'); lang_context.parent().css({'position':'relative'}); if ($('#header').is(':visible')) { // for login page lang_selector.css({ 'top': lang_context.position().top + lang_context.height() + 5, 'right': 0 }); } var setLangSelectorMaxHeight = function() { if ($('#header').is(':visible')) { // for login page $('.sf-popover-con', lang_selector).css({ 'max-height': $(window).height() - lang_selector.offset().top - 12 }); } }; $(window).on('resize', function() { if (lang_selector.is(':visible')) { setLangSelectorMaxHeight(); } }); lang_context.on('click', function() { lang_selector.toggleClass('hide'); if (lang_selector.is(':visible')) { setLangSelectorMaxHeight(); } return false; }); $(document).on('click', function(e) { var element = e.target || e.srcElement; if (element.id != 'lang-context-selector' && element.id != 'lang-context') { lang_selector.addClass('hide'); } }); })(); if ($('.side-nav').length) { $('#logo').addClass('hidden-sm-down'); $('#js-toggle-side-nav').removeClass('hide'); } $('#js-toggle-side-nav').on('click', function() { $('.side-nav').addClass('side-nav-shown'); $('').modal({ overlayClose: true, onClose: function() { $('.side-nav').removeClass('side-nav-shown'); $.modal.close(); }}); $('#simplemodal-container').css({'display':'none'}); return false; }); $('.js-close-side-nav').on('click', function() { $('.side-nav').removeClass('side-nav-shown'); return false; }); </script> </body> </html>