{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "quilt = [\n", "[\"2-louisa-final\",\"Camilo\",\"newest patch_floor_rain\",\"jacopo.otherness.def\"],\n", "[\"kendalpatch\",\"euna\", \"patchericoforthefuture\",\"punctuationflag\"],\n", "[\"euna\",\"punctuationflag\",\"euna\",\"patchericoforthefuture\"],\n", "[\"2-louisa-final\",\"MARTIN_GRADIENTENSE\", \"jacopo.otherness.def\",\"kendalpatch\"],\n", "]\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[['2-louisa-final',\n", " 'Camilo',\n", " 'newest patch_floor_rain',\n", " 'jacopo.otherness.def'],\n", " ['kendalpatch', 'euna', 'patchericoforthefuture', 'punctuationflag'],\n", " ['euna', 'punctuationflag', 'euna', 'patchericoforthefuture'],\n", " ['2-louisa-final',\n", " 'MARTIN_GRADIENTENSE',\n", " 'jacopo.otherness.def',\n", " 'kendalpatch']]" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "quilt" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "line 0 2-louisa-final\n", "line 0 Camilo\n", "line 0 newest patch_floor_rain\n", "line 0 jacopo.otherness.def\n", "line 1 2-louisa-final\n", "line 1 Camilo\n", "line 1 newest patch_floor_rain\n", "line 1 jacopo.otherness.def\n", "line 2 2-louisa-final\n", "line 2 Camilo\n", "line 2 newest patch_floor_rain\n", "line 2 jacopo.otherness.def\n", "line 3 2-louisa-final\n", "line 3 Camilo\n", "line 3 newest patch_floor_rain\n", "line 3 jacopo.otherness.def\n", "line 4 2-louisa-final\n", "line 4 Camilo\n", "line 4 newest patch_floor_rain\n", "line 4 jacopo.otherness.def\n", "line 5 2-louisa-final\n", "line 5 Camilo\n", "line 5 newest patch_floor_rain\n", "line 5 jacopo.otherness.def\n", "line 6 2-louisa-final\n", "line 6 Camilo\n", "line 6 newest patch_floor_rain\n", "line 6 jacopo.otherness.def\n", "line 7 2-louisa-final\n", "line 7 Camilo\n", "line 7 newest patch_floor_rain\n", "line 7 jacopo.otherness.def\n", "line 8 2-louisa-final\n", "line 8 Camilo\n", "line 8 newest patch_floor_rain\n", "line 8 jacopo.otherness.def\n", "line 9 2-louisa-final\n", "line 9 Camilo\n", "line 9 newest patch_floor_rain\n", "line 9 jacopo.otherness.def\n", "line 10 2-louisa-final\n", "line 10 Camilo\n", "line 10 newest patch_floor_rain\n", "line 10 jacopo.otherness.def\n", "line 11 2-louisa-final\n", "line 11 Camilo\n", "line 11 newest patch_floor_rain\n", "line 11 jacopo.otherness.def\n", "line 12 2-louisa-final\n", "line 12 Camilo\n", "line 12 newest patch_floor_rain\n", "line 12 jacopo.otherness.def\n", "line 13 2-louisa-final\n", "line 13 Camilo\n", "line 13 newest patch_floor_rain\n", "line 13 jacopo.otherness.def\n", "line 14 2-louisa-final\n", "line 14 Camilo\n", "line 14 newest patch_floor_rain\n", "line 14 jacopo.otherness.def\n", "line 15 2-louisa-final\n", "line 15 Camilo\n", "line 15 newest patch_floor_rain\n", "line 15 jacopo.otherness.def\n", "line 16 2-louisa-final\n", "line 16 Camilo\n", "line 16 newest patch_floor_rain\n", "line 16 jacopo.otherness.def\n", "line 17 2-louisa-final\n", "line 17 Camilo\n", "line 17 newest patch_floor_rain\n", "line 17 jacopo.otherness.def\n", "line 18 2-louisa-final\n", "line 18 Camilo\n", "line 18 newest patch_floor_rain\n", "line 18 jacopo.otherness.def\n", "line 19 2-louisa-final\n", "line 19 Camilo\n", "line 19 newest patch_floor_rain\n", "line 19 jacopo.otherness.def\n", "line 20 2-louisa-final\n", "line 20 Camilo\n", "line 20 newest patch_floor_rain\n", "line 20 jacopo.otherness.def\n", "line 21 2-louisa-final\n", "line 21 Camilo\n", "line 21 newest patch_floor_rain\n", "line 21 jacopo.otherness.def\n", "line 22 2-louisa-final\n", "line 22 Camilo\n", "line 22 newest patch_floor_rain\n", "line 22 jacopo.otherness.def\n", "line 23 2-louisa-final\n", "line 23 Camilo\n", "line 23 newest patch_floor_rain\n", "line 23 jacopo.otherness.def\n", "line 24 2-louisa-final\n", "line 24 Camilo\n", "line 24 newest patch_floor_rain\n", "line 24 jacopo.otherness.def\n", "line 25 2-louisa-final\n", "line 25 Camilo\n", "line 25 newest patch_floor_rain\n", "line 25 jacopo.otherness.def\n", "line 26 2-louisa-final\n", "line 26 Camilo\n", "line 26 newest patch_floor_rain\n", "line 26 jacopo.otherness.def\n", "line 27 2-louisa-final\n", "line 27 Camilo\n", "line 27 newest patch_floor_rain\n", "line 27 jacopo.otherness.def\n", "line 28 2-louisa-final\n", "line 28 Camilo\n", "line 28 newest patch_floor_rain\n", "line 28 jacopo.otherness.def\n", "line 29 2-louisa-final\n", "line 29 Camilo\n", "line 29 newest patch_floor_rain\n", "line 29 jacopo.otherness.def\n", "line 30 2-louisa-final\n", "line 30 Camilo\n", "line 30 newest patch_floor_rain\n", "line 30 jacopo.otherness.def\n", "line 31 2-louisa-final\n", "line 31 Camilo\n", "line 31 newest patch_floor_rain\n", "line 31 jacopo.otherness.def\n", "line 32 2-louisa-final\n", "line 32 Camilo\n", "line 32 newest patch_floor_rain\n", "line 32 jacopo.otherness.def\n", "line 33 2-louisa-final\n", "line 33 Camilo\n", "line 33 newest patch_floor_rain\n", "line 33 jacopo.otherness.def\n", "line 34 2-louisa-final\n", "line 34 Camilo\n", "line 34 newest patch_floor_rain\n", "line 34 jacopo.otherness.def\n", "line 35 2-louisa-final\n", "line 35 Camilo\n", "line 35 newest patch_floor_rain\n", "line 35 jacopo.otherness.def\n", "line 36 2-louisa-final\n", "line 36 Camilo\n", "line 36 newest patch_floor_rain\n", "line 36 jacopo.otherness.def\n", "line 37 2-louisa-final\n", "line 37 Camilo\n", "line 37 newest patch_floor_rain\n", "line 37 jacopo.otherness.def\n", "line 38 2-louisa-final\n", "line 38 Camilo\n", "line 38 newest patch_floor_rain\n", "line 38 jacopo.otherness.def\n", "line 39 2-louisa-final\n", "line 39 Camilo\n", "line 39 newest patch_floor_rain\n", "line 39 jacopo.otherness.def\n", "line 40 2-louisa-final\n", "line 40 Camilo\n", "line 40 newest patch_floor_rain\n", "line 40 jacopo.otherness.def\n", "line 41 2-louisa-final\n", "line 41 Camilo\n", "line 41 newest patch_floor_rain\n", "line 41 jacopo.otherness.def\n", "line 42 2-louisa-final\n", "line 42 Camilo\n", "line 42 newest patch_floor_rain\n", "line 42 jacopo.otherness.def\n", "line 43 2-louisa-final\n", "line 43 Camilo\n", "line 43 newest patch_floor_rain\n", "line 43 jacopo.otherness.def\n", "line 44 2-louisa-final\n", "line 44 Camilo\n", "line 44 newest patch_floor_rain\n", "line 44 jacopo.otherness.def\n", "line 45 2-louisa-final\n", "line 45 Camilo\n", "line 45 newest patch_floor_rain\n", "line 45 jacopo.otherness.def\n", "line 46 2-louisa-final\n", "line 46 Camilo\n", "line 46 newest patch_floor_rain\n", "line 46 jacopo.otherness.def\n", "line 47 2-louisa-final\n", "line 47 Camilo\n", "line 47 newest patch_floor_rain\n", "line 47 jacopo.otherness.def\n", "line 48 2-louisa-final\n", "line 48 Camilo\n", "line 48 newest patch_floor_rain\n", "line 48 jacopo.otherness.def\n", "line 49 2-louisa-final\n", "line 49 Camilo\n", "line 49 newest patch_floor_rain\n", "line 49 jacopo.otherness.def\n", "line 50 2-louisa-final\n", "line 50 Camilo\n", "line 50 newest patch_floor_rain\n", "line 50 jacopo.otherness.def\n", "line 51 2-louisa-final\n", "line 51 Camilo\n", "line 51 newest patch_floor_rain\n", "line 51 jacopo.otherness.def\n", "line 52 2-louisa-final\n", "line 52 Camilo\n", "line 52 newest patch_floor_rain\n", "line 52 jacopo.otherness.def\n", "line 53 2-louisa-final\n", "line 53 Camilo\n", "line 53 newest patch_floor_rain\n", "line 53 jacopo.otherness.def\n", "line 54 2-louisa-final\n", "line 54 Camilo\n", "line 54 newest patch_floor_rain\n", "line 54 jacopo.otherness.def\n", "line 55 2-louisa-final\n", "line 55 Camilo\n", "line 55 newest patch_floor_rain\n", "line 55 jacopo.otherness.def\n", "line 56 2-louisa-final\n", "line 56 Camilo\n", "line 56 newest patch_floor_rain\n", "line 56 jacopo.otherness.def\n", "line 57 2-louisa-final\n", "line 57 Camilo\n", "line 57 newest patch_floor_rain\n", "line 57 jacopo.otherness.def\n", "line 58 2-louisa-final\n", "line 58 Camilo\n", "line 58 newest patch_floor_rain\n", "line 58 jacopo.otherness.def\n", "line 59 2-louisa-final\n", "line 59 Camilo\n", "line 59 newest patch_floor_rain\n", "line 59 jacopo.otherness.def\n", "line 60 2-louisa-final\n", "line 60 Camilo\n", "line 60 newest patch_floor_rain\n", "line 60 jacopo.otherness.def\n", "line 61 2-louisa-final\n", "line 61 Camilo\n", "line 61 newest patch_floor_rain\n", "line 61 jacopo.otherness.def\n", "line 62 2-louisa-final\n", "line 62 Camilo\n", "line 62 newest patch_floor_rain\n", "line 62 jacopo.otherness.def\n", "line 63 2-louisa-final\n", "line 63 Camilo\n", "line 63 newest patch_floor_rain\n", "line 63 jacopo.otherness.def\n", "line 64 2-louisa-final\n", "line 64 Camilo\n", "line 64 newest patch_floor_rain\n", "line 64 jacopo.otherness.def\n", "line 65 2-louisa-final\n", "line 65 Camilo\n", "line 65 newest patch_floor_rain\n", "line 65 jacopo.otherness.def\n", "line 66 2-louisa-final\n", "line 66 Camilo\n", "line 66 newest patch_floor_rain\n", "line 66 jacopo.otherness.def\n", "line 67 2-louisa-final\n", "line 67 Camilo\n", "line 67 newest patch_floor_rain\n", "line 67 jacopo.otherness.def\n", "line 68 2-louisa-final\n", "line 68 Camilo\n", "line 68 newest patch_floor_rain\n", "line 68 jacopo.otherness.def\n", "line 69 2-louisa-final\n", "line 69 Camilo\n", "line 69 newest patch_floor_rain\n", "line 69 jacopo.otherness.def\n", "line 70 2-louisa-final\n", "line 70 Camilo\n", "line 70 newest patch_floor_rain\n", "line 70 jacopo.otherness.def\n", "line 71 2-louisa-final\n", "line 71 Camilo\n", "line 71 newest patch_floor_rain\n", "line 71 jacopo.otherness.def\n", "line 72 2-louisa-final\n", "line 72 Camilo\n", "line 72 newest patch_floor_rain\n", "line 72 jacopo.otherness.def\n", "line 73 2-louisa-final\n", "line 73 Camilo\n" ] }, { "ename": "IndexError", "evalue": "list index out of range", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mIndexError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mpatch\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrow\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf\"line {linenumber} {patch}\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 7\u001b[0;31m \u001b[0mline\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf\"patches/{patch}.txt\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreadlines\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mlinenumber\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 8\u001b[0m \u001b[0mline\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mline\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrstrip\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"\\n\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mline\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfile\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0moutput\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mend\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m''\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mIndexError\u001b[0m: list index out of range" ] } ], "source": [ "output = open(\"my-fantastic-quilt\", 'w')\n", "for row in quilt:\n", "\n", " for linenumber in range(74):\n", " for patch in row:\n", " print(f\"line {linenumber} {patch}\")\n", " line = open(f\"patches/{patch}.txt\").readlines()[linenumber]\n", " line = line.rstrip(\"\\n\")\n", " print(line, file=output, end='')\n", " print(file=output)\n", "# print(line)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "from reportlab.pdfgen.canvas import Canvas\n", "from reportlab.lib.pagesizes import A4,A0\n", "from reportlab.lib.units import mm\n", "from reportlab.pdfbase.ttfonts import TTFont, pdfmetrics\n", "\n", "pagewidth, pageheight = A0\n", "\n", "c = Canvas(\"quilts/quilt_WFTF.pdf\", pagesize=(pagewidth, pageheight), bottomup=0) \n", "\n", "\n", "fontpath = \"fonts/mplus-1m-regular.ttf\"\n", "font = TTFont('1mregular', fontpath)\n", "pdfmetrics.registerFont(font)\n", "\n", "# To set a font in the PDF\n", "c.setFont('1mregular', 14.4)\n", "\n", "start_y = 5*mm\n", "y = start_y\n", "lineheight = 4*mm\n", "\n", "lines = open(\"my-fantastic-quilt\").readlines()\n", "\n", "for line in lines:\n", " c.drawString(2*mm, y, line)\n", " y += lineheight\n", "\n", "c.save()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.3" } }, "nbformat": 4, "nbformat_minor": 4 }