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