Browse Source

Move printing_path from models to utils

printer
Maxime Bombar 7 years ago
committed by root
parent
commit
5c4c56244c
  1. 6
      printer/models.py
  2. 19
      printer/utils.py

6
printer/models.py

@ -26,6 +26,8 @@ from .settings import (
PRICES,
)
from .utils import user_printing_path
import math
"""
@ -34,10 +36,6 @@ import math
"""
def user_printing_path(instance, filename):
# File will be uploaded to MEDIA_ROOT/printings/user_<id>/<filename>
return 'printings/user_{0}/{1}'.format(instance.user.id, filename)
class JobWithOptions(RevMixin, models.Model):
"""

19
printer/utils.py

@ -1,6 +1,16 @@
import subprocess
def user_printing_path(instance, filename):
"""
Defines the path where will be uploaded the files
Currently MEDIA_ROOT/printings/user_<id>/<filename>
"""
# File will be uploaded to MEDIA_ROOT/printings/user_<id>/<filename>
return 'printings/user_{0}/{1}'.format(instance.user.id, filename)
def pdfinfo(file_path):
"""
Uses pdfinfo to extract the PDF meta information.
@ -11,18 +21,17 @@ def pdfinfo(file_path):
"""Extracts the right hand value from a : delimited row"""
row=row.decode()
return row.split(':', 1)[1].strip()
output = {}
labels = ['Title', 'Author', 'Creator', 'Producer', 'CreationDate', 'ModDate',
'Tagged', 'Pages', 'Encrypted', 'Page size',
'File size', 'Optimized', 'PDF version']
cmd_output = subprocess.check_output(['/usr/bin/pdfinfo', file_path])
for line in cmd_output.splitlines():
for label in labels:
if label in line.decode():
output[label] = _extract(line)
return output

Loading…
Cancel
Save