コード例 #1
0
ファイル: pdf_test.py プロジェクト: ehx/RecibosCoop
 def test_get_stream_single(self):
     first_html = "<h1>Hola Mundo</h1>"
     pdf = Pdf(first_html)
     fh = open('tests/fixtures/hola_mundo.pdf', 'rb')
     data = fh.read()
     fh.close()
     output = pdf.get_stream()
     self.assertPdfEquals(output, data)
コード例 #2
0
ファイル: pdf_test.py プロジェクト: gcoop-libre/RecibosCoop
 def test_get_stream_single(self):
     first_html = "<h1>Hola Mundo</h1>"
     pdf = Pdf(first_html)
     fh = open('tests/fixtures/hola_mundo.pdf', 'rb')
     data = fh.read()
     fh.close()
     output = pdf.get_stream()
     self.assertPdfEquals(output, data)
コード例 #3
0
ファイル: pdf_test.py プロジェクト: ehx/RecibosCoop
 def test_get_stream(self):
     first_html = "<h1>Hola Mundo</h1>"
     second_html = "<h2>This is sparta</h2>"
     pdf = Pdf(first_html)
     pdf.append(second_html)
     fh = open('tests/fixtures/stream.pdf', 'rb')
     data = fh.read()
     fh.close()
     output = pdf.get_stream()
     self.assertPdfEquals(output, data)
コード例 #4
0
ファイル: pdf_test.py プロジェクト: gcoop-libre/RecibosCoop
 def test_get_stream(self):
     first_html = "<h1>Hola Mundo</h1>"
     second_html = "<h2>This is sparta</h2>"
     pdf = Pdf(first_html)
     pdf.append(second_html)
     fh = open('tests/fixtures/stream.pdf', 'rb')
     data = fh.read()
     fh.close()
     output = pdf.get_stream()
     self.assertPdfEquals(output, data)
コード例 #5
0
ファイル: app.py プロジェクト: gcoop-libre/RecibosCoop
def generar_pdf_concatenado():
    id_retiros = request.form.to_dict(False).get('recibo')
    if id_retiros:
        retiros = models.Retiro.select().where(id__in = id_retiros)
        to_text = Traductor().to_text
        pdf = Pdf()

        for retiro in retiros:
            html = render_template("recibo.html", cooperativa=retiro.socio.cooperativa, retiro=retiro, monto_como_cadena=to_text(retiro.monto))
            pdf.append(html)

        titulo = "recibos_agrupados_%s.pdf" % (retiro.fecha_como_string())

        nombre_archivo = os.path.join(app.config['UPLOAD_FOLDER'], titulo)
        archivo_temporal = open(nombre_archivo, 'wb')
        archivo_temporal.write(pdf.get_stream())
        archivo_temporal.close()

        return jsonify(name=titulo)
    else:
        abort(404)
コード例 #6
0
ファイル: app.py プロジェクト: ehx/RecibosCoop
def generar_zip_contenedor():
    archivos_pdf_generados = []
    id_retiros = request.form.to_dict(False).get('recibo')

    if id_retiros:
        retiros = models.Retiro.select().where(id__in=id_retiros)
        to_text = Traductor().to_text

        for retiro in retiros:
            pdf = Pdf()
            html = render_template("recibo.html",
                                   cooperativa=retiro.socio.cooperativa,
                                   retiro=retiro,
                                   monto_como_cadena=to_text(retiro.monto))
            pdf.append(html)

            titulo = models.Retiro.obtener_nombre_por_id(retiro.id)
            nombre_archivo = os.path.join(app.config['UPLOAD_FOLDER'],
                                          titulo + ".pdf")

            archivos_pdf_generados.append(nombre_archivo)
            archivo_temporal = open(nombre_archivo, 'wb')
            archivo_temporal.write(pdf.get_stream())
            archivo_temporal.close()

        import zipfile

        nombre = "recibos_agrupados_%s.zip" % (retiro.fecha_como_string())
        nombre_archivo = os.path.join(app.config['UPLOAD_FOLDER'], nombre)
        zip = zipfile.ZipFile(nombre_archivo, mode='w')

        for nombre_pdf in archivos_pdf_generados:
            print "zipeando", [nombre_pdf]
            zip.write(nombre_pdf)

        zip.close()

        return jsonify(name=nombre)
    else:
        abort(404)
コード例 #7
0
ファイル: app.py プロジェクト: gcoop-libre/RecibosCoop
def generar_zip_contenedor():
    archivos_pdf_generados = []
    id_retiros = request.form.to_dict(False).get('recibo')

    if id_retiros:
        retiros = models.Retiro.select().where(id__in=id_retiros)
        to_text = Traductor().to_text

        for retiro in retiros:
            pdf = Pdf()
            html = render_template("recibo.html", cooperativa=retiro.socio.cooperativa, retiro=retiro, monto_como_cadena=to_text(retiro.monto))
            pdf.append(html)

            titulo = models.Retiro.obtener_nombre_por_id(retiro.id)
            nombre_archivo = os.path.join(app.config['UPLOAD_FOLDER'], titulo + ".pdf")

            archivos_pdf_generados.append(nombre_archivo)
            archivo_temporal = open(nombre_archivo, 'wb')
            archivo_temporal.write(pdf.get_stream())
            archivo_temporal.close()

        import zipfile

        nombre = "recibos_agrupados_%s.zip" %(retiro.fecha_como_string())
        nombre_archivo = os.path.join(app.config['UPLOAD_FOLDER'], nombre)
        zip = zipfile.ZipFile(nombre_archivo, mode='w')

        for nombre_pdf in archivos_pdf_generados:
          print "zipeando", [nombre_pdf]
          zip.write(nombre_pdf)

        zip.close()

        return jsonify(name=nombre)
    else:
        abort(404)
コード例 #8
0
ファイル: app.py プロジェクト: ehx/RecibosCoop
def generar_pdf_concatenado():
    id_retiros = request.form.to_dict(False).get('recibo')
    if id_retiros:
        retiros = models.Retiro.select().where(id__in=id_retiros)
        to_text = Traductor().to_text
        pdf = Pdf()

        for retiro in retiros:
            html = render_template("recibo.html",
                                   cooperativa=retiro.socio.cooperativa,
                                   retiro=retiro,
                                   monto_como_cadena=to_text(retiro.monto))
            pdf.append(html)

        titulo = "recibos_agrupados_%s.pdf" % (retiro.fecha_como_string())

        nombre_archivo = os.path.join(app.config['UPLOAD_FOLDER'], titulo)
        archivo_temporal = open(nombre_archivo, 'wb')
        archivo_temporal.write(pdf.get_stream())
        archivo_temporal.close()

        return jsonify(name=titulo)
    else:
        abort(404)