diff --git a/.gitignore b/.gitignore
index a4c9a30..4c7ab4c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,4 +6,5 @@ covers/
finals/
chapters/
images/
+tests/
diff --git a/make_zine2.py b/make_zine2.py
deleted file mode 100644
index 7d98106..0000000
--- a/make_zine2.py
+++ /dev/null
@@ -1,138 +0,0 @@
-from fpdf import FPDF
-"""
-A script for generating A5 size pdf zines
-with a text-file input, under development,
-GPL3 Licence, Mara Karagianni 22 March 2021
-"""
-
-# Variables
-header_font = 'helvetica'
-header_font_size = 14
-text_font = 'helvetica'
-text_font_size = 10
-
-top_margin = 15
-left_margin = 20
-right_margin = 20
-max_left_margin = 160
-
-max_height = 166
-current_x = 20
-current_y = 30
-max_y = 166
-max_x = 160
-cell_width = 120
-cell_header_height = 16
-cell_height = 8
-
-pdf = FPDF(orientation="L", unit="mm", format="A4")
-pdf.set_font(header_font, 'B', header_font_size)
-pdf.set_margins(top=top_margin, left=left_margin, right=right_margin)
-
-pdf.add_page()
-
-# Header
-title = 'Painful Mailman Migrations'
-pdf.cell(cell_width, cell_header_height, title, 0, ln=1, align='C')
-pdf.dashed_line(
- current_x, current_y, current_x+cell_width, current_y,
- dash_length=3, space_length=3)
-
-# set font for all text
-pdf.set_font(text_font, size=text_font_size)
-
-# file to get the text
-filename = "./notes_sample"
-text = open(filename).readlines()
-
-# start x and y position
-pdf.set_xy(current_x, current_y+9)
-
-class Zine(FPDF):
- def __init__(self):
- super().__init__()
- self.cur_x = current_x
- self.cur_y = current_y
- self.max_x = max_left_margin
- self.max_y = max_height
- self.w_cell = cell_width
- self.text = text
-
- def new_signature(self):
- # create new page/signature
- self.add_page()
- self.set_xy(self.cur_x, self.cur_.y)
- self.set_margins(top=15, left=20, right=20)
- print('NEW SIGNATURE')
-
- def new_page(self):
- print('*****')
- print("BOTTOM OF PAGE, height is {}".format(pdf.get_y()))
- print('*****')
- self.set_xy(self.x, self.y)
- self.set_margins(
- top=15, left=160, right=20)
-
- def create_pages(self):
- index = 0
- for line in self.text:
- # check current page height and if we are in the right side of page
- if self.get_y() >= self.max_y and self.get_x() == self.max_x:
- self.new_signature()
-
- if self.get_y() >= self.max_y:
- self.new_page()
-
- self.multi_cell(
- self.w_cell, 166, self.text[index], 0, align='L')
- index += 1
-
-# def create_pages(self):
-# index = 0
-# for line in self.text:
-# # check current page height and if we are in the right side of page
-# if pdf.get_y() >= self.max_y and pdf.get_x() == self.max_x:
-# self.new_signature()
-#
-# if pdf.get_y() >= self.max_y:
-# self.new_page()
-#
-# pdf.multi_cell(
-# self.w_cell, cell_height, self.text[index], 0, align='L')
-# index += 1
-
-zine = Zine()
-zine.create_pages()
-pdf.output('new_trial.pdf')
-
-
-# index = 0
-# for line in text:
-# # check current page height
-# if pdf.get_y() >= max_height and pdf.get_x() == max_left_margin:
-# # create new page/signature
-# pdf.add_page()
-# pdf.set_xy(current_x, current_y)
-# pdf.set_margins(top=top_margin, left=left_margin, right=right_margin)
-# print('NEW SIGNATURE')
-#
-# if pdf.get_y() >= max_height:
-# print('*****')
-# print("BOTTOM OF PAGE, height is {}".format(pdf.get_y()))
-# print('*****')
-#
-# pdf.set_xy(max_left_margin, current_y)
-# pdf.set_margins(
-# top=top_margin, left=max_left_margin, right=right_margin)
-#
-# if line == "\n":
-# # debug if empty lines are detected
-# print('EMPTY LINE {}'.format(line))
-#
-# print("x {}, y {}".format(pdf.get_x(), pdf.get_y()))
-# print('============')
-#
-# pdf.multi_cell(cell_width, cell_height, text[index], 0, align='L')
-# index += 1
-
-# save pdf file
diff --git a/make_zine3.py b/make_zine3.py
deleted file mode 100644
index 3c3aa0e..0000000
--- a/make_zine3.py
+++ /dev/null
@@ -1,127 +0,0 @@
-from fpdf import FPDF
-"""
-A script for generating A5 size pdf zines
-with a text-file input, under development,
-GPL3 Licence, Mara Karagianni April 2021
-"""
-
-# Variables
-header_font = 'helvetica'
-header_font_size = 14
-text_font = 'helvetica'
-text_font_size = 10
-
-top_margin = 15
-left_margin = 20
-right_margin = 20
-left_max_margin = 160
-
-max_height = 166
-left_x = 20
-top_y = 30
-cell_width = 120
-cell_header_height = 16
-cell_height = 8
-
-# Image variables
-img_x = 20
-img_y = 80
-img_len = 120
-
-# file to get the text
-filename = "./notes_sample"
-
-
-class Zine(FPDF):
-
- def add_new_signature(self, top_margin, left_margin, right_margin):
- # create new page/signature
- self.add_page()
- self.set_margins(top_margin, left_margin, right_margin)
- self.set_xy(left_margin, top_margin)
- print('NEW SIGNATURE')
-
- def move_to_page_right(self, top_margin, left_max_margin, right_margin):
- print('*****')
- print("BOTTOM OF PAGE, height is {}".format(self.get_y()))
- print('*****')
- self.set_margins(top_margin, left_max_margin, right_margin)
- self.set_xy(left_max_margin, top_margin)
-
- def position_img(self, img_filename, img_x, img_y):
- import subprocess
- img_size = subprocess.run(
- ["identify", "-format",
- "%[fx:w/72] by %[fx:h/72] inches",
- "./%s" % img_filename],
- stdout=subprocess.PIPE, text=True)
-
- img_height_inches = img_size.stdout.split(' ')[2]
- img_width_inches = img_size.stdout.split(' ')[0]
- img_height_mm = float(img_height_inches) * float(24.5)
- img_width_mm = float(img_width_inches) * float(24.5)
-
- previous_y = self.get_y()
- self.image(img_filename, img_x, img_y, img_width_mm)
- # use identify to get the image height and move page height
- # to bottom of the image
- self.set_xy(self.get_x(), previous_y+img_height_mm)
-
- def create_pages(self, filename, max_height, left_margin,
- left_max_margin, top_margin, right_margin,
- cell_width, cell_height):
- index = 0
- text = open(filename).readlines()
- for line in text:
- if index > len(text)-1:
- break
-
- try:
- # check if we have an image
- if "" in line:
- img_filename = line.split("
")[1]
- self.position_img(img_filename, self.get_x(), self.get_y())
-
- # Ommit the image line from writing it as text input
- index += 1
-
- # check current page height and if we are in the right side of page
- if self.get_y() >= max_height and self.get_x() == left_max_margin:
- print("ADD SIGNATURE")
- self.add_new_signature(top_margin, left_margin, right_margin)
-
- if self.get_y() >= max_height:
- self.move_to_page_right(top_margin, left_max_margin, right_margin)
-
- except AttributeError:
- # first page
- print("FIRST PAGE")
- self.set_margins(top=top_margin, left=left_margin,
- right=right_margin)
- self.set_xy(left_margin, top_margin+9)
- self.add_page()
-
- variable_x = self.get_x()
- self.multi_cell(cell_width, cell_height, text[index], 0, align='L')
- self.set_xy(variable_x, self.get_y())
- index += 1
-
-
-# set font for all text
-zine = Zine(orientation="L", unit="mm", format="A4")
-
-# TODO move to a head function the below lines
-# Header
-title = 'Python Mailman Migrations'
-#zine.set_font(header_font, 'B', header_font_size)
-#zine.cell(cell_width, cell_header_height, title, 0, ln=1, align='C')
-#zine.dashed_line(
-# left_x, top_y, left_x+cell_width, top_y,
-# dash_length=3, space_length=3)
-
-zine.set_font(text_font, size=text_font_size)
-
-zine.create_pages(filename, max_height, left_margin, left_max_margin,
- top_margin, right_margin, cell_width, cell_height)
-
-zine.output('latest_trial.pdf')
diff --git a/make_zine6.py b/make_zine6.py
deleted file mode 100644
index 8da0b48..0000000
--- a/make_zine6.py
+++ /dev/null
@@ -1,308 +0,0 @@
-#!/bin/python
-"""
-A script for generating A5 size pdf zines
-with a text-file input, under development,
-GPL3 Licence, Mara Karagianni May 2021
-"""
-import glob
-import re
-import sys
-import subprocess
-from fpdf import FPDF
-# ref https://pyfpdf.readthedocs.io/en/latest/
-
-# Variables
-header_font = 'helvetica'
-header_font_size = 14
-text_font_size = 12
-
-top_margin = 20
-left_margin = 20
-right_margin = 20
-left_max_margin = 160
-
-max_height = 190
-left_x = 20
-top_y = 30
-cell_width = 110
-cell_header_height = 16
-cell_height = 6
-
-# Image variables
-img_x = 20
-img_y = 80
-img_len = 120
-
-# file to get the text
-if len(sys.argv) > 1:
- filename = sys.argv[1]
-else:
- filename = "./notes_sample"
-
-
-class Zine(FPDF):
-
- def add_new_signature(self, top_margin, left_margin, right_margin):
- # create new page/signature
- self.add_page()
- self.set_margins(left_margin, top_margin, right_margin)
- self.set_xy(left_margin, top_margin)
- print('NEW SIGNATURE')
-
- def move_to_page_right(self, top_margin, left_max_margin, right_margin):
- print('*****')
- print("BOTTOM OF LEFT PAGE, height is {}".format(self.get_y()))
- print('*****')
- self.set_margins(top_margin, left_max_margin, right_margin)
- self.set_xy(left_max_margin, top_margin)
-
- def position_img(self, img_filename, img_x, img_y, **kwargs):
- img_size = subprocess.run(
- ["identify", "-format",
- "%[fx:w/72] by %[fx:h/72] inches",
- "./%s" % img_filename],
- stdout=subprocess.PIPE, text=True)
-
- img_height_inches = img_size.stdout.split(' ')[2]
- img_width_inches = img_size.stdout.split(' ')[0]
- img_height_mm = float(img_height_inches) * float(24.5)
- img_width_mm = float(img_width_inches) * float(24.5)
-
- if kwargs:
- max_height = kwargs["max_height"]
- left_margin = kwargs["left_margin"]
- top_margin = kwargs["top_margin"]
-
- if self.get_y() + img_height_mm >= max_height:
- self.add_page()
- self.set_xy(left_margin, top_margin)
- img_y = top_margin
-
- previous_y = self.get_y()
- # center image
- img_x = (150 - img_width_mm) / 2
- self.image(img_filename, img_x, img_y, img_width_mm)
-
- # move y at the bottom of the image
- # TODO check if get_y() would do the same job
- self.set_xy(self.get_x(), previous_y+img_height_mm)
-
- def shuffle_chapters(self, pdfinput):
- subprocess.run(
- ["pdfseparate", "./%s" % pdfinput, "./%02d_chapter.pdf"],
- stdout=subprocess.PIPE, text=True)
- pages = glob.glob("./*_chapter.pdf")
- pages.sort()
- print("CHAPTERS {}".format(pages))
- shuffled_list = []
- count = 0
- while count < (len(pages))/2:
- shuffled_list.append(pages[-(count+1)])
- shuffled_list.append(pages[count])
- count += 1
- # reverse
- if count != len(pages)/2:
- shuffled_list.append(pages[count])
- shuffled_list.append(pages[-(count+1)])
- count += 1
- return shuffled_list
-
- def create_pages(self, filename, max_height, left_margin,
- left_max_margin, top_margin, right_margin,
- cell_width, cell_height, cell_header_height,
- header_font, text_font):
- chapter = 0
- lines = open(filename).readlines()
- print(filename)
-
- # first page
- print("FIRST PAGE")
- self.set_margins(left_margin, top_margin,
- right_margin)
- self.set_xy(left_margin, top_margin)
- self.add_page()
-
- for line in lines:
-
- if ">>" in line:
- self.set_font(text_font, '', size=16)
- self.cell(cell_width, cell_height, line,
- 0, ln=1, align='L')
- self.set_font(text_font, '', size=text_font_size)
-
- # check if we have an image
- elif line.startswith("
"):
- img_filename = line.split("
")[1]
- kwargs = {
- "max_height": max_height,
- "left_margin": left_margin,
- "top_margin": top_margin
- }
- self.position_img(
- img_filename, self.get_x(), self.get_y(), **kwargs)
-
- # check if we have a title
- elif line.startswith("