diff --git a/pages/index.tsx b/pages/index.tsx
index c3cb299..b0014c0 100644
--- a/pages/index.tsx
+++ b/pages/index.tsx
@@ -108,9 +108,15 @@ export default function Home() {
Regular PDF
Something to geek out on
-
- This site and the following files are generated from resume.clintp.json which conforms to JSON Resume
-
+
+ This following files are also available
{/*
diff --git a/resume/build/clintp-qrcode.gif b/resume/build/clintp-qrcode.gif
new file mode 100644
index 0000000..dab48a7
Binary files /dev/null and b/resume/build/clintp-qrcode.gif differ
diff --git a/resume/build/clintp.gif b/resume/build/clintp.gif
new file mode 100644
index 0000000..950261c
Binary files /dev/null and b/resume/build/clintp.gif differ
diff --git a/resume/examples/__init__.py b/resume/examples/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/resume/examples/transform.py b/resume/examples/transform.py
index 2400fa5..5e91a42 100644
--- a/resume/examples/transform.py
+++ b/resume/examples/transform.py
@@ -16,7 +16,7 @@ def output(self):
return luigi.LocalTarget(self.output_file)
-class ConvertProfileImage(luigi.Task):
+class FetchAndConvertProfileImage(luigi.Task):
def requires(self):
return {
'resume': ExtractResume()
@@ -26,27 +26,21 @@ def run(self):
resume = json.load(open(self.input()['resume'].path))
profile_image = urlopen(resume['basics']['image'])
- with open('clintp.jpg', 'wb') as f:
- f.write(profile_image.read())
-
- image = Image.open('clintp.jpg').quantize(
+ image = Image.open(profile_image).quantize(
colors=256, method=2).convert('RGB')
-
- image_tiny = image.resize((40, 40))
- # resizing the smaller image to the original size
- pixelated = image_tiny.resize(image.size, Image.NEAREST)
+ pixelated = image.resize((40, 40)).resize(image.size, Image.NEAREST)
pixelated.save(self.output().path)
def output(self):
- return luigi.LocalTarget("clintp.gif")
+ return luigi.LocalTarget("build/clintp.gif")
-class TaskA(luigi.Task):
+class GenerateQrCode(luigi.Task):
def requires(self):
return {
'resume': ExtractResume(),
- 'profile_image': ConvertProfileImage()
+ 'profile_image': FetchAndConvertProfileImage()
}
def run(self):
@@ -66,54 +60,9 @@ def run(self):
target=self.output().path, scale=5)
def output(self):
- return luigi.LocalTarget("clintp-qrcode.gif")
-
-
-class TaskB(luigi.Task):
- def requires(self):
- return TaskA()
-
- def run(self):
- # TaskB logic here
- vcard_data = open(self.input().path).read()
-
- qr = qrcode.QRCode(
- version=1,
- error_correction=qrcode.constants.ERROR_CORRECT_L,
- box_size=10,
- border=4,
- )
- qr.add_data(vcard_data)
- qr.make(fit=True)
-
- img = qr.make_image(fill_color="#61418E", back_color="transparent")
-
- img.save(self.output().path)
-
- print("TaskB completed")
-
- def output(self):
- return luigi.LocalTarget("clintp.png")
-
-
-# class TaskC(luigi.Task):
-# def requires(self):
-# return TaskA()
-
-# def run(self):
-# # TaskC logic here
-# print("TaskC completed")
-
-
-# class TaskD(luigi.Task):
-# def requires(self):
-# return [TaskB(), TaskC()]
-
-# def run(self):
-# # TaskD logic here
-# print("TaskD completed")
+ return luigi.LocalTarget("build/clintp-qrcode.gif")
if __name__ == "__main__":
# luigi.build([TaskD()], workers=1, local_scheduler=True)
- luigi.build([TaskA()], workers=1, local_scheduler=True)
+ luigi.build([GenerateQrCode()], workers=1, local_scheduler=True)