Jonas Havelka
4 years ago
5 changed files with 5242 additions and 9 deletions
Binary file not shown.
File diff suppressed because one or more lines are too long
@ -0,0 +1,69 @@ |
|||
import logging |
|||
import os |
|||
from shutil import copyfile, rmtree |
|||
|
|||
from django.db import transaction |
|||
from django.conf import settings |
|||
|
|||
from korektury.models import KorekturovanePDF, generate_filename |
|||
|
|||
logger = logging.getLogger(__name__) |
|||
|
|||
@transaction.atomic |
|||
def create_test_pdf(rnd, organizatori): |
|||
logger.info('Vyrábím testovací pdf ke korekturovani') |
|||
try: |
|||
testpdfs = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'testpdfs') |
|||
|
|||
# smaže minulé pdfka a obrázky k nim a vytvoří (znovu) jejich složky |
|||
pdf_dir = os.path.join(settings.BASE_DIR, os.path.join('media', settings.KOREKTURY_PDF_DIR)) |
|||
img_dir = os.path.join(settings.BASE_DIR, os.path.join('media', settings.KOREKTURY_IMG_DIR)) |
|||
rmtree(pdf_dir, ignore_errors=True) |
|||
os.makedirs(pdf_dir) |
|||
rmtree(img_dir, ignore_errors=True) |
|||
os.makedirs(img_dir) |
|||
|
|||
def gen_filename(filename): |
|||
name = generate_filename(None, filename) |
|||
print(name) |
|||
copyfile(os.path.join(testpdfs, filename), os.path.join(settings.BASE_DIR, os.path.join('media', name))) |
|||
return name |
|||
|
|||
# TODO silent ghostscript (vypisuje odstavec za každou stránku…) |
|||
|
|||
KorekturovanePDF.objects.create( |
|||
nazev='B', komentar='Neuronové sítě', org=rnd.choice(organizatori), pdf=gen_filename(filename='B.pdf') |
|||
) |
|||
|
|||
KorekturovanePDF.objects.create( |
|||
nazev='A', komentar='M&M: Jak řešit?', org=rnd.choice(organizatori), pdf=gen_filename(filename='A.pdf') |
|||
) |
|||
|
|||
korekturovane_pdf = KorekturovanePDF.objects.create( |
|||
nazev='A', komentar='M&M: Jak řešit?', org=rnd.choice(organizatori), pdf=gen_filename(filename='A.pdf'), |
|||
status='zanaseni' |
|||
) |
|||
|
|||
KorekturovanePDF.objects.create( |
|||
nazev='A', komentar='M&M: Jak řešit?', org=rnd.choice(organizatori), pdf=gen_filename(filename='A.pdf'), |
|||
status='zastarale' |
|||
) |
|||
except (FileNotFoundError, Exception) as e: |
|||
# TODO najít správné chyby, které vyhazují různé systémy při neexistenci ImageMagick, nebo knihoven |
|||
logger.error(str(e)) |
|||
logger.error( |
|||
'Chyba vytváření testovacích korektur, pravděpodobně není nainstalován ImageMagick nebo některá z knihoven' |
|||
'pro práci se soubory pdf (ghostscript) nebo png (libpng?).\n' |
|||
''' |
|||
Instalaci na linux provedete např. příkazy: |
|||
sudo apt-get build-dep imagemagick |
|||
git clone https://github.com/ImageMagick/ImageMagick.git |
|||
cd ImageMagick/ |
|||
./configure |
|||
make |
|||
sudo make install |
|||
sudo ldconfig /usr/local/lib |
|||
cd .. |
|||
rm -r ImageMagick/ |
|||
''' |
|||
) |
Loading…
Reference in new issue