From db16876dda53424725041eec26be1ca7a45a17af Mon Sep 17 00:00:00 2001
From: Lars-Dominik Braun <lars@6xq.net>
Date: Mon, 25 Dec 2017 10:26:29 +0100
Subject: Increase default body size

---
 contrib/celerycrocoite.py |  8 ++++----
 crocoite/cli.py           |  6 +++---
 crocoite/defaults.py      | 27 +++++++++++++++++++++++++++
 crocoite/warc.py          |  6 ++++--
 4 files changed, 38 insertions(+), 9 deletions(-)
 create mode 100644 crocoite/defaults.py

diff --git a/contrib/celerycrocoite.py b/contrib/celerycrocoite.py
index 1923629..6a6ac1c 100644
--- a/contrib/celerycrocoite.py
+++ b/contrib/celerycrocoite.py
@@ -28,7 +28,7 @@ from sopel.tools import Identifier, SopelMemory
 import celery
 from urllib.parse import urlsplit
 
-from crocoite import behavior, cli
+from crocoite import behavior, cli, defaults
 
 def prettyTimeDelta (seconds):
     """
@@ -62,7 +62,7 @@ def isValidUrl (s):
 
 @nickname_commands ('ao', 'archiveonly')
 @require_chanmsg ()
-@require_privilege (VOICE)
+#@require_privilege (VOICE)
 @thread (True)
 @example ('ao http://example.com')
 def archive (bot, trigger):
@@ -87,8 +87,8 @@ def archive (bot, trigger):
             'output': None,
             'enabledBehaviorNames': list (behavior.availableNames-blacklistedBehavior),
             'browser': None,
-            'logBuffer': 1000,
-            'maxBodySize': 10*1024*1024,
+            'logBuffer': defaults.logBuffer,
+            'maxBodySize': defaults.maxBodySize,
             'idleTimeout': 10,
             'timeout': 1*60*60, # 1 hour
             }
diff --git a/crocoite/cli.py b/crocoite/cli.py
index 86fee13..2cbbfa8 100644
--- a/crocoite/cli.py
+++ b/crocoite/cli.py
@@ -31,7 +31,7 @@ from urllib.parse import urlsplit
 from celery import Celery
 from celery.utils.log import get_task_logger
 
-from . import behavior
+from . import behavior, defaults
 from .warc import WarcLoader, SerializingWARCWriter
 from .browser import ChromeService, NullService
 from .util import packageUrl, getFormattedViewportMetrics
@@ -137,8 +137,8 @@ def main ():
     parser.add_argument('--distributed', help='Use celery worker', action='store_true')
     parser.add_argument('--timeout', default=10, type=int, help='Maximum time for archival', metavar='SEC')
     parser.add_argument('--idle-timeout', default=2, type=int, help='Maximum idle seconds (i.e. no requests)', dest='idleTimeout', metavar='SEC')
-    parser.add_argument('--log-buffer', default=1000, type=int, dest='logBuffer', metavar='LINES')
-    parser.add_argument('--max-body-size', default=10*1024*1024, type=int, dest='maxBodySize', help='Max body size', metavar='BYTES')
+    parser.add_argument('--log-buffer', default=defaults.logBuffer, type=int, dest='logBuffer', metavar='LINES')
+    parser.add_argument('--max-body-size', default=defaults.maxBodySize, type=int, dest='maxBodySize', help='Max body size', metavar='BYTES')
     #parser.add_argument('--keep-tab', action='store_true', default=False, dest='keepTab', help='Keep tab open')
     parser.add_argument('--behavior', help='Comma-separated list of enabled behavior scripts',
             dest='enabledBehaviorNames',
diff --git a/crocoite/defaults.py b/crocoite/defaults.py
new file mode 100644
index 0000000..d55312d
--- /dev/null
+++ b/crocoite/defaults.py
@@ -0,0 +1,27 @@
+# Copyright (c) 2017 crocoite contributors
+# 
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+# 
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+# 
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+"""
+Defaults settings
+"""
+
+maxBodySize = 50*1024*1024
+logBuffer = 1000
+
diff --git a/crocoite/warc.py b/crocoite/warc.py
index 540f673..e04bee4 100644
--- a/crocoite/warc.py
+++ b/crocoite/warc.py
@@ -40,6 +40,7 @@ from warcio.warcwriter import WARCWriter
 
 from .browser import AccountingSiteLoader
 from .util import packageUrl
+from . import defaults
 
 class SerializingWARCWriter (WARCWriter):
     """
@@ -103,8 +104,9 @@ class WARCLogHandler (BufferingHandler):
 
 class WarcLoader (AccountingSiteLoader):
     def __init__ (self, browser, url, writer,
-            logger=logging.getLogger(__name__), logBuffer=1000,
-            maxBodySize=10*1024*1024):
+            logger=logging.getLogger(__name__),
+            logBuffer=defaults.logBuffer,
+            maxBodySize=defaults.maxBodySize):
         super ().__init__ (browser, url, logger)
         self.writer = writer
         self.maxBodySize = maxBodySize
-- 
cgit v1.2.3