forked from ScoDoc/DocScoDoc
pylint
This commit is contained in:
parent
031c877afb
commit
860ca5d8f7
@ -9,7 +9,7 @@
|
|||||||
v 1.2
|
v 1.2
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from types import *
|
from types import BooleanType, StringType
|
||||||
|
|
||||||
|
|
||||||
def TrivialFormulator(
|
def TrivialFormulator(
|
||||||
@ -368,9 +368,6 @@ class TF:
|
|||||||
idx = 0
|
idx = 0
|
||||||
for idx in range(len(self.formdescription)):
|
for idx in range(len(self.formdescription)):
|
||||||
(field, descr) = self.formdescription[idx]
|
(field, descr) = self.formdescription[idx]
|
||||||
nextitemname = None
|
|
||||||
if idx < len(self.formdescription) - 2:
|
|
||||||
nextitemname = self.formdescription[idx + 1][0]
|
|
||||||
if descr.get("readonly", False):
|
if descr.get("readonly", False):
|
||||||
R.append(self._ReadOnlyElement(field, descr))
|
R.append(self._ReadOnlyElement(field, descr))
|
||||||
continue
|
continue
|
||||||
@ -682,7 +679,6 @@ class TF:
|
|||||||
"Generate HTML for an element, read-only"
|
"Generate HTML for an element, read-only"
|
||||||
R = []
|
R = []
|
||||||
title = descr.get("title", field.capitalize())
|
title = descr.get("title", field.capitalize())
|
||||||
withcheckbox = descr.get("withcheckbox", False)
|
|
||||||
input_type = descr.get("input_type", "text")
|
input_type = descr.get("input_type", "text")
|
||||||
klass = descr.get("cssclass", "")
|
klass = descr.get("cssclass", "")
|
||||||
klass = " " + klass
|
klass = " " + klass
|
||||||
|
@ -1,11 +1,15 @@
|
|||||||
# -*- mode: python -*-
|
# -*- mode: python -*-
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
SCOVERSION = "7.21"
|
SCOVERSION = "7.22"
|
||||||
|
|
||||||
SCONAME = "ScoDoc"
|
SCONAME = "ScoDoc"
|
||||||
|
|
||||||
SCONEWS = """
|
SCONEWS = """
|
||||||
|
<h4>Année 2021</h4>
|
||||||
|
<ul>
|
||||||
|
<li>Modernisation du code Python.</li>
|
||||||
|
</ul>
|
||||||
<h4>Année 2020</h4>
|
<h4>Année 2020</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Corrections d'erreurs, améliorations saise absences< et affichage bulletins</li>
|
<li>Corrections d'erreurs, améliorations saise absences< et affichage bulletins</li>
|
||||||
|
@ -8,8 +8,8 @@ import psycopg2.pool
|
|||||||
import psycopg2.extras
|
import psycopg2.extras
|
||||||
import thread
|
import thread
|
||||||
from notes_log import log
|
from notes_log import log
|
||||||
from sco_exceptions import *
|
from sco_exceptions import ScoException, ScoValueError, NoteProcessError
|
||||||
from types import *
|
from types import StringType
|
||||||
from cgi import escape
|
from cgi import escape
|
||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
@ -175,7 +175,7 @@ def DBSelectArgs(
|
|||||||
cond = ""
|
cond = ""
|
||||||
i = 1
|
i = 1
|
||||||
cl = []
|
cl = []
|
||||||
for (aux_tab, aux_id) in aux_tables:
|
for (_, aux_id) in aux_tables:
|
||||||
cl.append("T0.%s = T%d.%s" % (id_name, i, aux_id))
|
cl.append("T0.%s = T%d.%s" % (id_name, i, aux_id))
|
||||||
i = i + 1
|
i = i + 1
|
||||||
cond += " and ".join(cl)
|
cond += " and ".join(cl)
|
||||||
|
@ -36,7 +36,7 @@ Created on Fri Sep 9 09:15:05 2016
|
|||||||
@author: barasc
|
@author: barasc
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from pe_tools import *
|
from pe_tools import pe_print, PE_DEBUG
|
||||||
|
|
||||||
import pe_tagtable
|
import pe_tagtable
|
||||||
import pe_semestretag
|
import pe_semestretag
|
||||||
|
@ -44,7 +44,7 @@ from gen_tables import GenTable
|
|||||||
import sco_codes_parcours
|
import sco_codes_parcours
|
||||||
|
|
||||||
import pe_tools
|
import pe_tools
|
||||||
from pe_tools import *
|
from pe_tools import PE_LATEX_ENCODING
|
||||||
import pe_tagtable
|
import pe_tagtable
|
||||||
import pe_semestretag
|
import pe_semestretag
|
||||||
import pe_settag
|
import pe_settag
|
||||||
|
@ -172,7 +172,7 @@ def module_create(context, matiere_id=None, REQUEST=None):
|
|||||||
if tf[0] == 0:
|
if tf[0] == 0:
|
||||||
return "\n".join(H) + tf[1] + context.sco_footer(REQUEST)
|
return "\n".join(H) + tf[1] + context.sco_footer(REQUEST)
|
||||||
else:
|
else:
|
||||||
moduleid = context.do_module_create(tf[2], REQUEST)
|
context.do_module_create(tf[2], REQUEST)
|
||||||
return REQUEST.RESPONSE.redirect(
|
return REQUEST.RESPONSE.redirect(
|
||||||
REQUEST.URL1 + "/ue_list?formation_id=" + UE["formation_id"]
|
REQUEST.URL1 + "/ue_list?formation_id=" + UE["formation_id"]
|
||||||
)
|
)
|
||||||
@ -397,7 +397,6 @@ def edit_module_set_code_apogee(context, id=None, value=None, REQUEST=None):
|
|||||||
modules = context.do_module_list(args={"module_id": module_id})
|
modules = context.do_module_list(args={"module_id": module_id})
|
||||||
if not modules:
|
if not modules:
|
||||||
return "module invalide" # shoud not occur
|
return "module invalide" # shoud not occur
|
||||||
module = modules[0]
|
|
||||||
|
|
||||||
context.do_module_edit({"module_id": module_id, "code_apogee": value})
|
context.do_module_edit({"module_id": module_id, "code_apogee": value})
|
||||||
if not value:
|
if not value:
|
||||||
|
@ -27,11 +27,37 @@
|
|||||||
|
|
||||||
"""Semestres: gestion parcours DUT (Arreté du 13 août 2005)
|
"""Semestres: gestion parcours DUT (Arreté du 13 août 2005)
|
||||||
"""
|
"""
|
||||||
|
from types import FloatType
|
||||||
|
|
||||||
|
import sco_utils as scu
|
||||||
import notesdb as ndb
|
import notesdb as ndb
|
||||||
from notes_log import log
|
from notes_log import log
|
||||||
from scolog import logdb
|
from scolog import logdb
|
||||||
import sco_formsemestre
|
import sco_formsemestre
|
||||||
from sco_codes_parcours import *
|
|
||||||
|
from sco_codes_parcours import (
|
||||||
|
CMP,
|
||||||
|
ADC,
|
||||||
|
ADJ,
|
||||||
|
ADM,
|
||||||
|
AJ,
|
||||||
|
ATT,
|
||||||
|
NO_SEMESTRE_ID,
|
||||||
|
BUG,
|
||||||
|
NEXT,
|
||||||
|
NEXT2,
|
||||||
|
NEXT_OR_NEXT2,
|
||||||
|
REO,
|
||||||
|
REDOANNEE,
|
||||||
|
REDOSEM,
|
||||||
|
RA_OR_NEXT,
|
||||||
|
RA_OR_RS,
|
||||||
|
RS_OR_NEXT,
|
||||||
|
CODES_SEM_VALIDES,
|
||||||
|
NOTES_BARRE_GEN_COMPENSATION,
|
||||||
|
code_semestre_attente,
|
||||||
|
code_semestre_validant,
|
||||||
|
)
|
||||||
from dutrules import DUTRules # regles generees a partir du CSV
|
from dutrules import DUTRules # regles generees a partir du CSV
|
||||||
from sco_exceptions import ScoValueError
|
from sco_exceptions import ScoValueError
|
||||||
|
|
||||||
@ -166,7 +192,7 @@ class SituationEtudParcoursGeneric:
|
|||||||
if rule.conclusion[5] == BUG:
|
if rule.conclusion[5] == BUG:
|
||||||
log("get_possible_choices: inconsistency: state=%s" % str(state))
|
log("get_possible_choices: inconsistency: state=%s" % str(state))
|
||||||
#
|
#
|
||||||
valid_semestre = code_semestre_validant(rule.conclusion[0])
|
# valid_semestre = code_semestre_validant(rule.conclusion[0])
|
||||||
choices.append(
|
choices.append(
|
||||||
DecisionSem(
|
DecisionSem(
|
||||||
code_etat=rule.conclusion[0],
|
code_etat=rule.conclusion[0],
|
||||||
@ -391,7 +417,7 @@ class SituationEtudParcoursGeneric:
|
|||||||
)
|
)
|
||||||
self.moy_gen = self.nt.get_etud_moy_gen(self.etudid)
|
self.moy_gen = self.nt.get_etud_moy_gen(self.etudid)
|
||||||
self.barre_moy_ok = (type(self.moy_gen) == FloatType) and (
|
self.barre_moy_ok = (type(self.moy_gen) == FloatType) and (
|
||||||
self.moy_gen >= (self.parcours.BARRE_MOY - NOTES_TOLERANCE)
|
self.moy_gen >= (self.parcours.BARRE_MOY - scu.NOTES_TOLERANCE)
|
||||||
)
|
)
|
||||||
# conserve etat UEs
|
# conserve etat UEs
|
||||||
ue_ids = [
|
ue_ids = [
|
||||||
|
67
sco_pvpdf.py
67
sco_pvpdf.py
@ -29,24 +29,37 @@
|
|||||||
"""
|
"""
|
||||||
import os
|
import os
|
||||||
import types
|
import types
|
||||||
|
import re
|
||||||
|
import cStringIO
|
||||||
|
import reportlab
|
||||||
|
from reportlab.lib.units import cm, mm
|
||||||
|
from reportlab.lib.enums import TA_LEFT, TA_RIGHT, TA_CENTER, TA_JUSTIFY
|
||||||
|
from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Frame, PageBreak
|
||||||
|
from reportlab.platypus import Table, TableStyle, Image, KeepInFrame
|
||||||
|
from reportlab.platypus.flowables import Flowable
|
||||||
|
from reportlab.platypus.doctemplate import PageTemplate, BaseDocTemplate
|
||||||
|
from reportlab.lib.pagesizes import A4, landscape
|
||||||
|
from reportlab.lib import styles
|
||||||
|
from reportlab.lib.colors import Color
|
||||||
|
|
||||||
from sco_pdf import *
|
|
||||||
import sco_utils as scu
|
import sco_utils as scu
|
||||||
|
import sco_pdf
|
||||||
|
from sco_pdf import SU
|
||||||
import sco_formsemestre
|
import sco_formsemestre
|
||||||
import sco_pvjury
|
import sco_pvjury
|
||||||
import sco_codes_parcours
|
import sco_codes_parcours
|
||||||
from sco_pdf import PDFLOCK
|
from sco_pdf import PDFLOCK
|
||||||
import sco_preferences
|
import sco_preferences
|
||||||
import sco_bulletins_pdf
|
import sco_bulletins_pdf
|
||||||
|
import VERSION
|
||||||
|
|
||||||
|
LOGO_FOOTER_ASPECT = scu.CONFIG.LOGO_FOOTER_ASPECT # XXX A AUTOMATISER
|
||||||
|
LOGO_FOOTER_HEIGHT = scu.CONFIG.LOGO_FOOTER_HEIGHT * mm
|
||||||
|
LOGO_FOOTER_WIDTH = LOGO_FOOTER_HEIGHT * scu.CONFIG.LOGO_FOOTER_ASPECT
|
||||||
|
|
||||||
LOGO_FOOTER_ASPECT = CONFIG.LOGO_FOOTER_ASPECT # XXX A AUTOMATISER
|
LOGO_HEADER_ASPECT = scu.CONFIG.LOGO_HEADER_ASPECT # XXX logo IUTV (A AUTOMATISER)
|
||||||
LOGO_FOOTER_HEIGHT = CONFIG.LOGO_FOOTER_HEIGHT * mm
|
LOGO_HEADER_HEIGHT = scu.CONFIG.LOGO_HEADER_HEIGHT * mm
|
||||||
LOGO_FOOTER_WIDTH = LOGO_FOOTER_HEIGHT * CONFIG.LOGO_FOOTER_ASPECT
|
LOGO_HEADER_WIDTH = LOGO_HEADER_HEIGHT * scu.CONFIG.LOGO_HEADER_ASPECT
|
||||||
|
|
||||||
LOGO_HEADER_ASPECT = CONFIG.LOGO_HEADER_ASPECT # XXX logo IUTV (A AUTOMATISER)
|
|
||||||
LOGO_HEADER_HEIGHT = CONFIG.LOGO_HEADER_HEIGHT * mm
|
|
||||||
LOGO_HEADER_WIDTH = LOGO_HEADER_HEIGHT * CONFIG.LOGO_HEADER_ASPECT
|
|
||||||
|
|
||||||
|
|
||||||
def pageFooter(canvas, doc, logo, preferences, with_page_numbers=True):
|
def pageFooter(canvas, doc, logo, preferences, with_page_numbers=True):
|
||||||
@ -76,7 +89,7 @@ def pageFooter(canvas, doc, logo, preferences, with_page_numbers=True):
|
|||||||
RightFootStyle.fontSize = preferences["SCOLAR_FONT_SIZE_FOOT"]
|
RightFootStyle.fontSize = preferences["SCOLAR_FONT_SIZE_FOOT"]
|
||||||
RightFootStyle.alignment = TA_RIGHT
|
RightFootStyle.alignment = TA_RIGHT
|
||||||
|
|
||||||
p = makeParas(
|
p = sco_pdf.makeParas(
|
||||||
"""<para>%s</para><para>%s</para>"""
|
"""<para>%s</para><para>%s</para>"""
|
||||||
% (preferences["INSTITUTION_NAME"], preferences["INSTITUTION_ADDRESS"]),
|
% (preferences["INSTITUTION_NAME"], preferences["INSTITUTION_ADDRESS"]),
|
||||||
LeftFootStyle,
|
LeftFootStyle,
|
||||||
@ -186,12 +199,12 @@ class CourrierIndividuelTemplate(PageTemplate):
|
|||||||
self.background_image_filename = None
|
self.background_image_filename = None
|
||||||
self.logo_footer = None
|
self.logo_footer = None
|
||||||
self.logo_header = None
|
self.logo_header = None
|
||||||
# Search logos in dept specific dir, then in global config dir
|
# Search logos in dept specific dir, then in global scu.CONFIG dir
|
||||||
for image_dir in (
|
for image_dir in (
|
||||||
SCODOC_LOGOS_DIR + "/logos_" + context.DeptId() + "/",
|
scu.SCODOC_LOGOS_DIR + "/logos_" + context.DeptId() + "/",
|
||||||
SCODOC_LOGOS_DIR + "/", # global logos
|
scu.SCODOC_LOGOS_DIR + "/", # global logos
|
||||||
):
|
):
|
||||||
for suffix in LOGOS_IMAGES_ALLOWED_TYPES:
|
for suffix in scu.LOGOS_IMAGES_ALLOWED_TYPES:
|
||||||
if template_name == "PVJuryTemplate":
|
if template_name == "PVJuryTemplate":
|
||||||
fn = image_dir + "/pvjury_background" + "." + suffix
|
fn = image_dir + "/pvjury_background" + "." + suffix
|
||||||
else:
|
else:
|
||||||
@ -377,7 +390,7 @@ def pdf_lettres_individuelles(
|
|||||||
CourrierIndividuelTemplate(
|
CourrierIndividuelTemplate(
|
||||||
document,
|
document,
|
||||||
context=context,
|
context=context,
|
||||||
author="%s %s (E. Viennet)" % (SCONAME, SCOVERSION),
|
author="%s %s (E. Viennet)" % (VERSION.SCONAME, VERSION.SCOVERSION),
|
||||||
title="Lettres décision %s" % sem["titreannee"],
|
title="Lettres décision %s" % sem["titreannee"],
|
||||||
subject="Décision jury",
|
subject="Décision jury",
|
||||||
margins=margins,
|
margins=margins,
|
||||||
@ -514,7 +527,7 @@ def pdf_lettre_individuelle(sem, decision, etud, params, signature=None, context
|
|||||||
% params
|
% params
|
||||||
)
|
)
|
||||||
sig = _simulate_br(sig, '<para leftindent="%(htab1)s">')
|
sig = _simulate_br(sig, '<para leftindent="%(htab1)s">')
|
||||||
objects += makeParas(
|
objects += sco_pdf.makeParas(
|
||||||
(
|
(
|
||||||
"""<para leftindent="%(htab1)s" spaceBefore="25mm">"""
|
"""<para leftindent="%(htab1)s" spaceBefore="25mm">"""
|
||||||
+ sig
|
+ sig
|
||||||
@ -529,7 +542,7 @@ def pdf_lettre_individuelle(sem, decision, etud, params, signature=None, context
|
|||||||
% params
|
% params
|
||||||
)
|
)
|
||||||
sig = _simulate_br(sig, '<para leftindent="%(htab1)s">')
|
sig = _simulate_br(sig, '<para leftindent="%(htab1)s">')
|
||||||
objects += makeParas(
|
objects += sco_pdf.makeParas(
|
||||||
(
|
(
|
||||||
"""<para leftindent="%(htab1)s" spaceBefore="25mm">"""
|
"""<para leftindent="%(htab1)s" spaceBefore="25mm">"""
|
||||||
+ sig
|
+ sig
|
||||||
@ -650,7 +663,7 @@ def pvjury_pdf(
|
|||||||
PVTemplate(
|
PVTemplate(
|
||||||
document,
|
document,
|
||||||
context=context,
|
context=context,
|
||||||
author="%s %s (E. Viennet)" % (SCONAME, SCOVERSION),
|
author="%s %s (E. Viennet)" % (VERSION.SCONAME, VERSION.SCOVERSION),
|
||||||
title=SU("PV du jury de %s" % sem["titre_num"]),
|
title=SU("PV du jury de %s" % sem["titre_num"]),
|
||||||
subject="PV jury",
|
subject="PV jury",
|
||||||
preferences=context.get_preferences(formsemestre_id),
|
preferences=context.get_preferences(formsemestre_id),
|
||||||
@ -683,7 +696,7 @@ def _pvjury_pdf_type(
|
|||||||
|
|
||||||
sem = dpv["formsemestre"]
|
sem = dpv["formsemestre"]
|
||||||
formsemestre_id = sem["formsemestre_id"]
|
formsemestre_id = sem["formsemestre_id"]
|
||||||
titre_jury, titre_court_jury = _descr_jury(sem, diplome)
|
titre_jury, _ = _descr_jury(sem, diplome)
|
||||||
titre_diplome = pv_title or dpv["formation"]["titre_officiel"]
|
titre_diplome = pv_title or dpv["formation"]["titre_officiel"]
|
||||||
objects = []
|
objects = []
|
||||||
|
|
||||||
@ -708,7 +721,7 @@ def _pvjury_pdf_type(
|
|||||||
bulletStyle.spaceAfter = 5 * mm
|
bulletStyle.spaceAfter = 5 * mm
|
||||||
|
|
||||||
objects += [Spacer(0, 5 * mm)]
|
objects += [Spacer(0, 5 * mm)]
|
||||||
objects += makeParas(
|
objects += sco_pdf.makeParas(
|
||||||
"""
|
"""
|
||||||
<para align="center"><b>Procès-verbal de %s du département %s - Session unique %s</b></para>
|
<para align="center"><b>Procès-verbal de %s du département %s - Session unique %s</b></para>
|
||||||
"""
|
"""
|
||||||
@ -720,7 +733,7 @@ def _pvjury_pdf_type(
|
|||||||
style,
|
style,
|
||||||
)
|
)
|
||||||
|
|
||||||
objects += makeParas(
|
objects += sco_pdf.makeParas(
|
||||||
"""
|
"""
|
||||||
<para align="center"><b><i>%s</i></b></para>
|
<para align="center"><b><i>%s</i></b></para>
|
||||||
"""
|
"""
|
||||||
@ -729,20 +742,20 @@ def _pvjury_pdf_type(
|
|||||||
)
|
)
|
||||||
|
|
||||||
if showTitle:
|
if showTitle:
|
||||||
objects += makeParas(
|
objects += sco_pdf.makeParas(
|
||||||
"""<para align="center"><b>Semestre: %s</b></para>""" % sem["titre"], style
|
"""<para align="center"><b>Semestre: %s</b></para>""" % sem["titre"], style
|
||||||
)
|
)
|
||||||
if context.get_preference("PV_TITLE_WITH_VDI", formsemestre_id):
|
if context.get_preference("PV_TITLE_WITH_VDI", formsemestre_id):
|
||||||
objects += makeParas(
|
objects += sco_pdf.makeParas(
|
||||||
"""<para align="center">VDI et Code: %s</para>""" % (VDICode or ""), style
|
"""<para align="center">VDI et Code: %s</para>""" % (VDICode or ""), style
|
||||||
)
|
)
|
||||||
|
|
||||||
if date_jury:
|
if date_jury:
|
||||||
objects += makeParas(
|
objects += sco_pdf.makeParas(
|
||||||
"""<para align="center">Jury tenu le %s</para>""" % date_jury, style
|
"""<para align="center">Jury tenu le %s</para>""" % date_jury, style
|
||||||
)
|
)
|
||||||
|
|
||||||
objects += makeParas(
|
objects += sco_pdf.makeParas(
|
||||||
"<para>"
|
"<para>"
|
||||||
+ context.get_preference("PV_INTRO", formsemestre_id)
|
+ context.get_preference("PV_INTRO", formsemestre_id)
|
||||||
% {
|
% {
|
||||||
@ -757,7 +770,7 @@ def _pvjury_pdf_type(
|
|||||||
bulletStyle,
|
bulletStyle,
|
||||||
)
|
)
|
||||||
|
|
||||||
objects += makeParas(
|
objects += sco_pdf.makeParas(
|
||||||
"""<para>Le jury propose les décisions suivantes :</para>""", style
|
"""<para>Le jury propose les décisions suivantes :</para>""", style
|
||||||
)
|
)
|
||||||
objects += [Spacer(0, 4 * mm)]
|
objects += [Spacer(0, 4 * mm)]
|
||||||
@ -809,7 +822,7 @@ def _pvjury_pdf_type(
|
|||||||
objects.append(Table(Pt, repeatRows=1, colWidths=widths, style=table_style))
|
objects.append(Table(Pt, repeatRows=1, colWidths=widths, style=table_style))
|
||||||
|
|
||||||
# Signature du directeur
|
# Signature du directeur
|
||||||
objects += makeParas(
|
objects += sco_pdf.makeParas(
|
||||||
"""<para spaceBefore="10mm" align="right">
|
"""<para spaceBefore="10mm" align="right">
|
||||||
Le %s, %s</para>"""
|
Le %s, %s</para>"""
|
||||||
% (
|
% (
|
||||||
@ -822,7 +835,7 @@ def _pvjury_pdf_type(
|
|||||||
# Légende des codes
|
# Légende des codes
|
||||||
codes = sco_codes_parcours.CODES_EXPL.keys()
|
codes = sco_codes_parcours.CODES_EXPL.keys()
|
||||||
codes.sort()
|
codes.sort()
|
||||||
objects += makeParas(
|
objects += sco_pdf.makeParas(
|
||||||
"""<para spaceBefore="15mm" fontSize="14">
|
"""<para spaceBefore="15mm" fontSize="14">
|
||||||
<b>Codes utilisés :</b></para>""",
|
<b>Codes utilisés :</b></para>""",
|
||||||
style,
|
style,
|
||||||
|
@ -28,16 +28,27 @@
|
|||||||
"""Photos: trombinoscopes
|
"""Photos: trombinoscopes
|
||||||
"""
|
"""
|
||||||
|
|
||||||
try:
|
from cStringIO import StringIO
|
||||||
from cStringIO import StringIO
|
|
||||||
except:
|
|
||||||
from StringIO import StringIO
|
|
||||||
from zipfile import ZipFile, BadZipfile
|
from zipfile import ZipFile, BadZipfile
|
||||||
import xml
|
import xml
|
||||||
import tempfile
|
import tempfile
|
||||||
|
import reportlab
|
||||||
|
from reportlab.lib.units import cm, mm
|
||||||
|
from reportlab.lib.enums import TA_LEFT, TA_RIGHT, TA_CENTER, TA_JUSTIFY
|
||||||
|
from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Frame, PageBreak
|
||||||
|
from reportlab.platypus import Table, TableStyle, Image, KeepInFrame
|
||||||
|
from reportlab.platypus.flowables import Flowable
|
||||||
|
from reportlab.platypus.doctemplate import PageTemplate, BaseDocTemplate
|
||||||
|
from reportlab.lib.pagesizes import A4, landscape
|
||||||
|
from reportlab.lib import styles
|
||||||
|
from reportlab.lib.colors import Color
|
||||||
|
from reportlab.lib import colors
|
||||||
|
from PIL import Image as PILImage
|
||||||
|
|
||||||
from notes_log import log
|
from notes_log import log
|
||||||
import sco_utils as scu
|
import sco_utils as scu
|
||||||
|
import sco_pdf
|
||||||
|
from sco_pdf import SU
|
||||||
from sco_exceptions import ScoValueError
|
from sco_exceptions import ScoValueError
|
||||||
from TrivialFormulator import TrivialFormulator
|
from TrivialFormulator import TrivialFormulator
|
||||||
import scolars
|
import scolars
|
||||||
@ -47,11 +58,8 @@ import sco_groups
|
|||||||
import sco_groups_view
|
import sco_groups_view
|
||||||
import sco_portal_apogee
|
import sco_portal_apogee
|
||||||
import htmlutils
|
import htmlutils
|
||||||
from sco_pdf import *
|
|
||||||
import ImportScolars
|
import ImportScolars
|
||||||
import sco_excel
|
import sco_excel
|
||||||
from reportlab.lib import colors
|
|
||||||
from PIL import Image as PILImage
|
|
||||||
|
|
||||||
|
|
||||||
def trombino(
|
def trombino(
|
||||||
@ -368,7 +376,7 @@ def _trombino_pdf(context, groups_infos, REQUEST):
|
|||||||
# Build document
|
# Build document
|
||||||
document = BaseDocTemplate(report)
|
document = BaseDocTemplate(report)
|
||||||
document.addPageTemplates(
|
document.addPageTemplates(
|
||||||
ScolarsPageTemplate(
|
sco_pdf.ScolarsPageTemplate(
|
||||||
document,
|
document,
|
||||||
context=context,
|
context=context,
|
||||||
preferences=context.get_preferences(sem["formsemestre_id"]),
|
preferences=context.get_preferences(sem["formsemestre_id"]),
|
||||||
@ -451,7 +459,7 @@ def _listeappel_photos_pdf(context, groups_infos, REQUEST):
|
|||||||
# Build document
|
# Build document
|
||||||
document = BaseDocTemplate(report)
|
document = BaseDocTemplate(report)
|
||||||
document.addPageTemplates(
|
document.addPageTemplates(
|
||||||
ScolarsPageTemplate(
|
sco_pdf.ScolarsPageTemplate(
|
||||||
document,
|
document,
|
||||||
context,
|
context,
|
||||||
preferences=context.get_preferences(sem["formsemestre_id"]),
|
preferences=context.get_preferences(sem["formsemestre_id"]),
|
||||||
|
@ -26,8 +26,10 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
|
||||||
import pdb, os, sys
|
import pdb
|
||||||
from sco_exceptions import *
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
import notesdb as ndb
|
import notesdb as ndb
|
||||||
from notes_log import retreive_request
|
from notes_log import retreive_request
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user