Commit a4c83766 authored by Dmitry Shelepnev's avatar Dmitry Shelepnev
Browse files

Add second error handler for zipfile.BadZipFile exception

parent 0aae6e18
Loading
Loading
Loading
Loading
+87 −71
Original line number Diff line number Diff line
@@ -3,10 +3,10 @@
  <component name="ChangeListManager">
    <list default="true" id="a18ea2b9-bbc4-496b-b324-f0c9ff012408" name="Default" comment="">
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/my_notes.md" afterPath="$PROJECT_DIR$/my_notes.md" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/opds_catalog/feeds.py" afterPath="$PROJECT_DIR$/opds_catalog/feeds.py" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/opds_catalog/opdsdb.py" afterPath="$PROJECT_DIR$/opds_catalog/opdsdb.py" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/opds_catalog/settings.py" afterPath="$PROJECT_DIR$/opds_catalog/settings.py" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/opds_catalog/sopdscan.py" afterPath="$PROJECT_DIR$/opds_catalog/sopdscan.py" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/opds_catalog/urls.py" afterPath="$PROJECT_DIR$/opds_catalog/urls.py" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/sopds/settings.py" afterPath="$PROJECT_DIR$/sopds/settings.py" />
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/sopds/urls.py" afterPath="$PROJECT_DIR$/sopds/urls.py" />
@@ -40,6 +40,10 @@
        <option name="myItemId" />
        <option name="myItemType" value="com.intellij.database.view.DatabaseStructure$Root" />
      </PATH_ELEMENT>
      <PATH_ELEMENT>
        <option name="myItemId" value="db" />
        <option name="myItemType" value="com.intellij.database.view.DbNodeDescriptor" />
      </PATH_ELEMENT>
    </PATH>
  </component>
  <component name="DjangoConsoleOptions" custom-start-script="import sys; print('Python %s on %s' % (sys.version, sys.platform))&#10;import django; print('Django %s' % django.get_version())&#10;sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS])&#10;if 'setup' in dir(django): django.setup()&#10;import django_manage_shell; django_manage_shell.run(PROJECT_ROOT)">
@@ -63,41 +67,51 @@
          </provider>
        </entry>
      </file>
      <file leaf-file-name="settings.py" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/sopds/settings.py">
      <file leaf-file-name="sopdscan.py" pinned="false" current-in-tab="true">
        <entry file="file://$PROJECT_DIR$/opds_catalog/sopdscan.py">
          <provider selected="true" editor-type-id="text-editor">
            <state vertical-scroll-proportion="0.6091954">
              <caret line="117" column="51" selection-start-line="117" selection-start-column="51" selection-end-line="117" selection-end-column="51" />
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="scan.log" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/scan.log">
          <provider selected="true" editor-type-id="text-editor">
            <state vertical-scroll-proportion="0.0">
              <caret line="104" column="0" selection-start-line="104" selection-start-column="0" selection-end-line="104" selection-end-column="0" />
              <caret line="63" column="0" selection-start-line="63" selection-start-column="0" selection-end-line="63" selection-end-column="0" />
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="settings.py" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/opds_catalog/settings.py">
        <entry file="file://$PROJECT_DIR$/sopds/settings.py">
          <provider selected="true" editor-type-id="text-editor">
            <state vertical-scroll-proportion="0.0">
              <caret line="31" column="54" selection-start-line="31" selection-start-column="54" selection-end-line="31" selection-end-column="54" />
              <caret line="103" column="0" selection-start-line="103" selection-start-column="0" selection-end-line="103" selection-end-column="0" />
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="opdsdb.py" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/opds_catalog/opdsdb.py">
      <file leaf-file-name="settings.py" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/opds_catalog/settings.py">
          <provider selected="true" editor-type-id="text-editor">
            <state vertical-scroll-proportion="0.0">
              <caret line="82" column="0" selection-start-line="82" selection-start-column="0" selection-end-line="82" selection-end-column="0" />
              <caret line="31" column="54" selection-start-line="31" selection-start-column="54" selection-end-line="31" selection-end-column="54" />
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="sopdstempl.py" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/py/sopdstempl.py">
      <file leaf-file-name="opdsdb.py" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/opds_catalog/opdsdb.py">
          <provider selected="true" editor-type-id="text-editor">
            <state vertical-scroll-proportion="0.0">
              <caret line="76" column="45" selection-start-line="76" selection-start-column="45" selection-end-line="76" selection-end-column="45" />
              <caret line="92" column="18" selection-start-line="92" selection-start-column="18" selection-end-line="92" selection-end-column="18" />
              <folding />
            </state>
          </provider>
@@ -107,8 +121,8 @@
        <entry file="file://$PROJECT_DIR$/my_notes.md">
          <provider selected="true" editor-type-id="split-provider[text-editor;MultiMarkdownPreviewEditor]">
            <state split_layout="FIRST">
              <first_editor vertical-scroll-proportion="0.0">
                <caret line="10" column="0" selection-start-line="10" selection-start-column="0" selection-end-line="10" selection-end-column="0" />
              <first_editor vertical-scroll-proportion="0.2715655">
                <caret line="10" column="5" selection-start-line="10" selection-start-column="2" selection-end-line="10" selection-end-column="30" />
                <folding />
              </first_editor>
              <second_editor />
@@ -119,10 +133,10 @@
          </provider>
        </entry>
      </file>
      <file leaf-file-name="urls.py" pinned="false" current-in-tab="true">
      <file leaf-file-name="urls.py" pinned="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/opds_catalog/urls.py">
          <provider selected="true" editor-type-id="text-editor">
            <state vertical-scroll-proportion="0.22972973">
            <state vertical-scroll-proportion="0.0">
              <caret line="8" column="17" selection-start-line="8" selection-start-column="17" selection-end-line="8" selection-end-column="17" />
              <folding>
                <element signature="e#1#33#0" expanded="true" />
@@ -181,19 +195,19 @@
        <option value="$PROJECT_DIR$/opds_catalog/management/commands/scan.py" />
        <option value="$PROJECT_DIR$/py/sopds-scan.py" />
        <option value="$PROJECT_DIR$/opds_catalog/management/commands/opdsdb.py" />
        <option value="$PROJECT_DIR$/opds_catalog/sopdscan.py" />
        <option value="$PROJECT_DIR$/scan.log" />
        <option value="$PROJECT_DIR$/opds_catalog/management/commands/sopds.py" />
        <option value="$PROJECT_DIR$/opds_catalog/views.py" />
        <option value="$PROJECT_DIR$/.gitignore" />
        <option value="$PROJECT_DIR$/opds_catalog/settings.py" />
        <option value="$PROJECT_DIR$/opds_catalog/opdsdb.py" />
        <option value="$PROJECT_DIR$/my_notes.md" />
        <option value="$PROJECT_DIR$/sopds/settings.py" />
        <option value="$PROJECT_DIR$/opds_catalog/locale/ru/LC_MESSAGES/django.po" />
        <option value="$PROJECT_DIR$/opds_catalog/feeds.py" />
        <option value="$PROJECT_DIR$/sopds/urls.py" />
        <option value="$PROJECT_DIR$/opds_catalog/urls.py" />
        <option value="$PROJECT_DIR$/my_notes.md" />
        <option value="$PROJECT_DIR$/scan.log" />
        <option value="$PROJECT_DIR$/opds_catalog/sopdscan.py" />
      </list>
    </option>
  </component>
@@ -610,7 +624,7 @@
  </component>
  <component name="ToolWindowManager">
    <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
    <editor active="true" />
    <editor active="false" />
    <layout>
      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.26599148" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
      <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
@@ -618,9 +632,9 @@
      <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.141258" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
      <window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32936078" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
      <window_info id="Run" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.32827735" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32827735" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
      <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
      <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.23185265" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
      <window_info id="Terminal" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.40411702" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
      <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3997833" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
      <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
@@ -852,13 +866,6 @@
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/opds_catalog/sopdscan.py">
      <provider selected="true" editor-type-id="text-editor">
        <state vertical-scroll-proportion="0.0">
          <caret line="63" column="25" selection-start-line="63" selection-start-column="25" selection-end-line="63" selection-end-column="25" />
        </state>
      </provider>
    </entry>
    <entry file="dbDummy://dbtable:/969a8559/283b7468-e73d-4870-b736-6befce21aadb/opds_catalog_catalog">
      <provider editor-type-id="text-editor">
        <state vertical-scroll-proportion="0.0">
@@ -895,13 +902,6 @@
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/scan.log">
      <provider selected="true" editor-type-id="text-editor">
        <state vertical-scroll-proportion="0.0">
          <caret line="33" column="0" selection-start-line="33" selection-start-column="0" selection-end-line="33" selection-end-column="0" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/opds_catalog/management/commands/sopds.py">
      <provider selected="true" editor-type-id="text-editor">
        <state vertical-scroll-proportion="0.0">
@@ -980,7 +980,7 @@
        <state vertical-scroll-proportion="0.0">
          <caret line="23" column="1" selection-start-line="23" selection-start-column="1" selection-end-line="23" selection-end-column="1" />
          <folding>
            <element signature="e#0#10#0" expanded="true" />
            <element signature="e#0#10#0" expanded="false" />
          </folding>
        </state>
      </provider>
@@ -1001,32 +1001,39 @@
        </state>
      </provider>
    </entry>
    <entry file="dbDummy://dbtable:/969a8559/283b7468-e73d-4870-b736-6befce21aadb/opds_catalog_book">
      <provider editor-type-id="text-editor">
        <state vertical-scroll-proportion="0.0">
          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
    <entry file="file://$PROJECT_DIR$/opds_catalog/locale/ru/LC_MESSAGES/django.po">
      <provider selected="true" editor-type-id="text-editor">
        <state vertical-scroll-proportion="0.3108108">
          <caret line="26" column="18" selection-start-line="26" selection-start-column="18" selection-end-line="26" selection-end-column="18" />
          <folding />
        </state>
      </provider>
      <provider selected="true" editor-type-id="com.intellij.database.editor.DatabaseTableFileEditorProvider">
        <state>
          <filtering enabled="true" />
    </entry>
    <entry file="file://$PROJECT_DIR$/sopds/urls.py">
      <provider selected="true" editor-type-id="text-editor">
        <state vertical-scroll-proportion="0.0">
          <caret line="19" column="89" selection-start-line="19" selection-start-column="89" selection-end-line="19" selection-end-column="89" />
          <folding>
            <element signature="e#638#679#0" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/opds_catalog/opdsdb.py">
    <entry file="file://$PROJECT_DIR$/opds_catalog/urls.py">
      <provider selected="true" editor-type-id="text-editor">
        <state vertical-scroll-proportion="0.0">
          <caret line="82" column="0" selection-start-line="82" selection-start-column="0" selection-end-line="82" selection-end-column="0" />
          <folding />
          <caret line="8" column="17" selection-start-line="8" selection-start-column="17" selection-end-line="8" selection-end-column="17" />
          <folding>
            <element signature="e#1#33#0" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/my_notes.md">
      <provider selected="true" editor-type-id="split-provider[text-editor;MultiMarkdownPreviewEditor]">
        <state split_layout="FIRST">
          <first_editor vertical-scroll-proportion="0.0">
            <caret line="10" column="0" selection-start-line="10" selection-start-column="0" selection-end-line="10" selection-end-column="0" />
          <first_editor vertical-scroll-proportion="0.2715655">
            <caret line="10" column="5" selection-start-line="10" selection-start-column="2" selection-end-line="10" selection-end-column="30" />
            <folding />
          </first_editor>
          <second_editor />
@@ -1036,49 +1043,58 @@
        <state />
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/opds_catalog/locale/ru/LC_MESSAGES/django.po">
    <entry file="file://$PROJECT_DIR$/opds_catalog/feeds.py">
      <provider selected="true" editor-type-id="text-editor">
        <state vertical-scroll-proportion="0.3108108">
          <caret line="26" column="18" selection-start-line="26" selection-start-column="18" selection-end-line="26" selection-end-column="18" />
          <folding />
        <state vertical-scroll-proportion="0.0">
          <caret line="33" column="62" selection-start-line="33" selection-start-column="62" selection-end-line="33" selection-end-column="62" />
          <folding>
            <element signature="e#0#50#0" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/sopds/settings.py">
    <entry file="file://$PROJECT_DIR$/scan.log">
      <provider selected="true" editor-type-id="text-editor">
        <state vertical-scroll-proportion="0.0">
          <caret line="104" column="0" selection-start-line="104" selection-start-column="0" selection-end-line="104" selection-end-column="0" />
          <caret line="63" column="0" selection-start-line="63" selection-start-column="0" selection-end-line="63" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/sopds/urls.py">
    <entry file="dbDummy://dbtable:/969a8559/283b7468-e73d-4870-b736-6befce21aadb/opds_catalog_book">
      <provider editor-type-id="text-editor">
        <state vertical-scroll-proportion="0.0">
          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
          <folding />
        </state>
      </provider>
      <provider selected="true" editor-type-id="com.intellij.database.editor.DatabaseTableFileEditorProvider">
        <state>
          <filtering enabled="true" />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/opds_catalog/opdsdb.py">
      <provider selected="true" editor-type-id="text-editor">
        <state vertical-scroll-proportion="0.0">
          <caret line="19" column="89" selection-start-line="19" selection-start-column="89" selection-end-line="19" selection-end-column="89" />
          <folding>
            <element signature="e#638#679#0" expanded="true" />
          </folding>
          <caret line="92" column="18" selection-start-line="92" selection-start-column="18" selection-end-line="92" selection-end-column="18" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/opds_catalog/feeds.py">
    <entry file="file://$PROJECT_DIR$/sopds/settings.py">
      <provider selected="true" editor-type-id="text-editor">
        <state vertical-scroll-proportion="0.0">
          <caret line="33" column="62" selection-start-line="33" selection-start-column="62" selection-end-line="33" selection-end-column="62" />
          <folding>
            <element signature="e#0#50#0" expanded="true" />
          </folding>
          <caret line="103" column="0" selection-start-line="103" selection-start-column="0" selection-end-line="103" selection-end-column="0" />
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/opds_catalog/urls.py">
    <entry file="file://$PROJECT_DIR$/opds_catalog/sopdscan.py">
      <provider selected="true" editor-type-id="text-editor">
        <state vertical-scroll-proportion="0.22972973">
          <caret line="8" column="17" selection-start-line="8" selection-start-column="17" selection-end-line="8" selection-end-column="17" />
          <folding>
            <element signature="e#1#33#0" expanded="true" />
          </folding>
        <state vertical-scroll-proportion="0.6091954">
          <caret line="117" column="51" selection-start-line="117" selection-start-column="51" selection-end-line="117" selection-end-column="51" />
          <folding />
        </state>
      </provider>
    </entry>
+2 −3
Original line number Diff line number Diff line
@@ -110,12 +110,11 @@ class opdsScanner:
                        self.logger.debug('Start process ZIP file = '+file+' book file = '+n)
                        file_size=z.getinfo(n).file_size
                        self.processfile(n,file,z.open(n),cat,1,file_size)
                    except:
                    except zipfile.BadZipFile:
                        self.logger.error('Error processing ZIP file = '+file+' book file = '+n)
                        raise
                z.close()
                self.arch_scanned+=1
            except zipfile.BadZipfile:
            except zipfile.BadZipFile:
                self.logger.error('Error while read ZIP archive. File '+file+' corrupt.')
                self.bad_archives+=1
        else: