Commit 09ad910c authored by Miguel Angel Reina Ortega's avatar Miguel Angel Reina Ortega
Browse files

Adding generation of tracked changes docx to the process

parent 0a04e26e
Loading
Loading
Loading
Loading
+8 −7
Original line number Diff line number Diff line
@@ -19,16 +19,17 @@ stages:
    
Build pythonForPandocFilter docker image:
  stage: build
  before_script: cd pandocFilter
  script: docker build --tag pandocfilter:latest -f dockerfile .
  before_script: cd generateChangemarks
  script: docker build --tag generatechangemarks:latest -f dockerfile .
  rules:
    - if: $CI_COMMIT_BRANCH
      changes:
        - pandocFilter/dockerfile
        - pandocFilter/setup.py
        - pandocFilter/requirements.txt
        - pandocFilter/pandocFilter.py
        - pandocFilter/changemarks.py
        - generateChangemarks/dockerfile
        - generateChangemarks/setup.py
        - generateChangemarks/requirements.txt
        - generateChangemarks/pandocFilter.py
        - generateChangemarks/changemarks.py
        - generateChangemarks/addTrackedChanges.py
        
Word CR text:
  stage: generation
+14 −5
Original line number Diff line number Diff line
@@ -9,9 +9,11 @@
#

from typing import Optional
import argparse, tempfile, zipfile
import argparse, tempfile, zipfile, sys
import lxml.etree as ET

from changemarks import MR

wns = '{http://schemas.openxmlformats.org/wordprocessingml/2006/main}'


@@ -132,8 +134,7 @@ def convertChanges(fn:str,
		for fn in originalFileList:
			zip.write(f'{tmpDir}/{fn}', fn, compress_type = zipfile.ZIP_DEFLATED , compresslevel = 9)


if __name__ == '__main__':
def main(args=None):

	# Parse command line arguments
	parser = argparse.ArgumentParser(formatter_class = argparse.ArgumentDefaultsHelpFormatter)
@@ -142,11 +143,19 @@ if __name__ == '__main__':
	parser.add_argument('--date', '-d', action = 'store', dest = 'date', default = None, metavar = '<date>',  help = 'specify the date of the changes (e.g. "2023-07-21T14:09:02")')
	parser.add_argument('--colourOnly', '-c', action = 'store_true', dest = 'colourOnly', default = False,  help = 'only set the colour of the changes, but do not convert them to tracked changes')
	parser.add_argument('document',  help = 'document to parse')
	parser.add_argument('rootURL', help="Forge root URL")
	parser.add_argument('projectID', help="Forge project ID")
	parser.add_argument('mergeID', help="Merge IID")
	args = parser.parse_args()

	mr = MR(args.projectID, args.mergeID, args.rootURL)

	# Convert the changes
	convertChanges(args.document,
				   args.outfile, 
				   author = args.author, 
				   date = args.date, 
				   author = mr.author,
				   date = mr.date,
				   colourOnly = args.colourOnly)

if __name__ == '__main__':
	sys.exit(main())
+1 −0
Original line number Diff line number Diff line
@@ -124,6 +124,7 @@ class MR:
        self.web_url = self.raw_project_details['web_url']
        self.raw_mr_details = fetch_json(self.api_url(f'/merge_requests/{self.mr_id}'))
        self.author = self.raw_mr_details['author']['name']
        self.date = self.raw_mr_details['updated_at']
        self.target_branch = self.raw_mr_details['target_branch']
        self.source_branch = self.raw_mr_details['source_branch']
        self.title = self.raw_mr_details['title']
+7 −0
Original line number Diff line number Diff line
FROM python:3.9-slim-bullseye

ADD . /pandocFilter/
ADD . /generateChangemarks/
RUN apt-get update -y && \
    rm -rf /var/lib/apt/lists/* &&\
    pip install -e pandocFilter/ &&\
	pip install -r pandocFilter/requirements.txt
    pip install -e generateChangemarks/ &&\
	pip install -r generateChangemarks/requirements.txt
Loading