[Checkins] SVN: zopyx.smartprintng.server/branches/calibre-integration/zopyx/smartprintng/server/ fixed spool dir handling
Andreas Jung
andreas at andreas-jung.com
Mon Sep 14 12:23:02 EDT 2009
Log message for revision 103964:
fixed spool dir handling
Changed:
U zopyx.smartprintng.server/branches/calibre-integration/zopyx/smartprintng/server/models.py
U zopyx.smartprintng.server/branches/calibre-integration/zopyx/smartprintng/server/nullauth.py
U zopyx.smartprintng.server/branches/calibre-integration/zopyx/smartprintng/server/run.py
U zopyx.smartprintng.server/branches/calibre-integration/zopyx/smartprintng/server/views.py
-=-
Modified: zopyx.smartprintng.server/branches/calibre-integration/zopyx/smartprintng/server/models.py
===================================================================
--- zopyx.smartprintng.server/branches/calibre-integration/zopyx/smartprintng/server/models.py 2009-09-14 16:18:27 UTC (rev 103963)
+++ zopyx.smartprintng.server/branches/calibre-integration/zopyx/smartprintng/server/models.py 2009-09-14 16:23:02 UTC (rev 103964)
@@ -36,6 +36,11 @@
if not os.path.exists(self.temp_directory):
os.makedirs(self.temp_directory)
+ self.spool_directory = os.path.join(tempfile.gettempdir(),
+ 'zopyx.smartprintng.server-spool')
+ if not os.path.exists(self.spool_directory):
+ os.makedirs(self.spool_directory)
+
def countRequest(self):
self._lock.acquire()
self.num_requests += 1
Modified: zopyx.smartprintng.server/branches/calibre-integration/zopyx/smartprintng/server/nullauth.py
===================================================================
--- zopyx.smartprintng.server/branches/calibre-integration/zopyx/smartprintng/server/nullauth.py 2009-09-14 16:18:27 UTC (rev 103963)
+++ zopyx.smartprintng.server/branches/calibre-integration/zopyx/smartprintng/server/nullauth.py 2009-09-14 16:23:02 UTC (rev 103964)
@@ -1,4 +1,3 @@
-
##########################################################################
# zopyx.smartprintng.server
# (C) 2008, 2009, ZOPYX Ltd & Co. KG, Tuebingen, Germany
Modified: zopyx.smartprintng.server/branches/calibre-integration/zopyx/smartprintng/server/run.py
===================================================================
--- zopyx.smartprintng.server/branches/calibre-integration/zopyx/smartprintng/server/run.py 2009-09-14 16:18:27 UTC (rev 103963)
+++ zopyx.smartprintng.server/branches/calibre-integration/zopyx/smartprintng/server/run.py 2009-09-14 16:23:02 UTC (rev 103964)
@@ -18,7 +18,6 @@
import zopyx.smartprintng.server
from models import root
from logger import LOG
- from views import spool_directory
if 'mail_config' in global_config:
mail_config = os.path.abspath(global_config['mail_config'])
@@ -28,7 +27,7 @@
LOG.info(config)
LOG.info('SmartPrintNG server started')
LOG.info('Temp directory: %s' % root.temp_directory)
- LOG.info('Spool directory: %s' % spool_directory)
+ LOG.info('Spool directory: %s' % root.spool_directory)
if have_authentication:
LOG.info('Authentication module found - server requires authentication')
else:
Modified: zopyx.smartprintng.server/branches/calibre-integration/zopyx/smartprintng/server/views.py
===================================================================
--- zopyx.smartprintng.server/branches/calibre-integration/zopyx/smartprintng/server/views.py 2009-09-14 16:18:27 UTC (rev 103963)
+++ zopyx.smartprintng.server/branches/calibre-integration/zopyx/smartprintng/server/views.py 2009-09-14 16:23:02 UTC (rev 103964)
@@ -28,10 +28,6 @@
static_view = static('templates/static')
-spool_directory = os.path.join(tempfile.gettempdir(),
- 'zopyx.smartprintng.server-spool')
-if not os.path.exists(spool_directory):
- os.makedirs(spool_directory)
##################
# HTTP views
@@ -62,13 +58,13 @@
filename = request.params['filename']
prefix = request.params.get('prefix')
- dest_filename = os.path.abspath(os.path.join(spool_directory, filename))
+ dest_filename = os.path.abspath(os.path.join(context.spool_directory, filename))
# various (security) checks
if not os.path.exists(dest_filename):
return Response(status=404)
- if not dest_filename.startswith(spool_directory):
+ if not dest_filename.startswith(context.spool_directory):
return Response(status=404)
if time.time() - os.stat(dest_filename)[ST_CTIME] >= context.delivery_max_age:
@@ -108,7 +104,10 @@
@xmlrpc_view
def convertZIP(context, auth_token, zip_archive, converter_name='pdf-prince'):
- authorizeRequest(auth_token)
+ if not authorizeRequest(auth_token):
+ msg = 'Authorization failed'
+ LOG.error(msg, exc_info=True)
+ return xmlrpclib.Fault(123, msg)
try:
return context.convertZIP(zip_archive, converter_name)
@@ -122,7 +121,10 @@
@xmlrpc_view
def convertZIPEmail(context, auth_token, zip_archive, converter_name='pdf-prince', sender=None, recipient=None, subject=None, body=None):
- authorizeRequest(auth_token)
+ if not authorizeRequest(auth_token):
+ msg = 'Authorization failed'
+ LOG.error(msg, exc_info=True)
+ return xmlrpclib.Fault(123, msg)
try:
return context.convertZIPEmail(zip_archive, converter_name, sender, recipient, subject, body)
@@ -145,7 +147,10 @@
view (in order to avoid redudant code).)
"""
- authorizeRequest(auth_token)
+ if not authorizeRequest(auth_token):
+ msg = 'Authorization failed'
+ LOG.error(msg, exc_info=True)
+ return xmlrpclib.Fault(123, msg)
try:
output_archivename, output_filename = context._processZIP(zip_archive, converter_name)
@@ -155,8 +160,8 @@
ident = os.path.splitext(os.path.basename(output_archivename))[0]
# move output file to spool directory
- dest_filename = os.path.join(spool_directory, '%s%s' % (ident, output_ext))
- rel_output_filename = dest_filename.replace(spool_directory + os.sep, '')
+ dest_filename = os.path.join(context.spool_directory, '%s%s' % (ident, output_ext))
+ rel_output_filename = dest_filename.replace(context.spool_directory + os.sep, '')
shutil.move(output_filename, dest_filename)
host = 'localhost'
port = 6543
More information about the checkins
mailing list