Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MC-754][MC-838][MC-839][MC-840] PDF Reader plugin - Fix Extract Text action #1038

Merged
merged 9 commits into from
Dec 14, 2021
10 changes: 5 additions & 5 deletions plugins/pdf_reader/.CHECKSUM
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
{
"spec": "032f61826d1ac192a09f96cd5edb3dda",
"manifest": "f0248c3c049406b59ed105c138c74f0a",
"setup": "3cafeb8492493912376dca6c2e3a18d8",
"spec": "a081c10928cf560b109b01f0c6e3e201",
"manifest": "afe7a3a3d929385fa0013ee9b605714b",
"setup": "b3ddc65f7ceb6a228693f9c434f82102",
"schemas": [
{
"identifier": "extract_text/schema.py",
"hash": "5643b10a9793d0fd402d7d5514937986"
"hash": "51cc611ba8d27bf904f9251f8512db10"
},
{
"identifier": "connection/schema.py",
"hash": "cb60c2b5b62fafb9634d667a8ad96277"
"hash": "da5382221ca2a33a2f854e17b068d502"
}
]
}
10 changes: 3 additions & 7 deletions plugins/pdf_reader/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,10 +1,4 @@
FROM komand/python-pypy3-plugin:2
# The three supported python parent images are:
# - komand/python-2-plugin
# - komand/python-3-plugin
# - komand/python-pypy3-plugin
#
# Update the tag to a full semver version
FROM rapid7/insightconnect-python-3-38-plugin:4

# Add any custom package dependencies here
# NOTE: Add pip packages to requirements.txt
Expand All @@ -22,4 +16,6 @@ RUN if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
# Install plugin
RUN python setup.py build && python setup.py install

USER nobody

ENTRYPOINT ["/usr/local/bin/komand_pdf_reader"]
42 changes: 28 additions & 14 deletions plugins/pdf_reader/bin/komand_pdf_reader
Original file line number Diff line number Diff line change
@@ -1,30 +1,44 @@
#!/usr/bin/env python
# GENERATED BY KOMAND SDK - DO NOT EDIT
import komand
from komand_pdf_reader import connection, actions, triggers
import os
import json
from sys import argv

Name = "PDF Reader"
Vendor = "rapid7"
Version = "1.0.2"
Description = "Tools for extracting text from a PDF"

Name = 'PDF Reader'
Vendor = 'rapid7'
Version = '1.0.1'
Description = 'Tools for extracting text from a PDF'


class ICONPdfReader(komand.Plugin):
def __init__(self):
super(self.__class__, self).__init__(
def main():
if 'http' in argv:
if os.environ.get("GUNICORN_CONFIG_FILE"):
with open(os.environ.get("GUNICORN_CONFIG_FILE")) as gf:
gunicorn_cfg = json.load(gf)
if gunicorn_cfg.get("worker_class", "sync") == "gevent":
from gevent import monkey
monkey.patch_all()
elif 'gevent' in argv:
from gevent import monkey
monkey.patch_all()

import insightconnect_plugin_runtime
from komand_pdf_reader import connection, actions, triggers

class ICONPdfReader(insightconnect_plugin_runtime.Plugin):
def __init__(self):
super(self.__class__, self).__init__(
name=Name,
vendor=Vendor,
version=Version,
description=Description,
connection=connection.Connection()
)
self.add_action(actions.ExtractText())
)
self.add_action(actions.ExtractText())


def main():
"""Run plugin"""
cli = komand.CLI(ICONPdfReader())
cli = insightconnect_plugin_runtime.CLI(ICONPdfReader())
cli.run()


Expand Down
29 changes: 21 additions & 8 deletions plugins/pdf_reader/help.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,41 +1,37 @@
import komand
from .schema import ExtractTextInput, ExtractTextOutput
import insightconnect_plugin_runtime
from .schema import ExtractTextInput, ExtractTextOutput, Input, Output, Component

# Custom imports below
import PyPDF2
from insightconnect_plugin_runtime.exceptions import PluginException
import pdfplumber
from pdfminer.pdfparser import PDFSyntaxError
import base64
import io


class ExtractText(komand.Action):
class ExtractText(insightconnect_plugin_runtime.Action):
def __init__(self):
super(self.__class__, self).__init__(
name="extract_text",
description="Extract text from PDF file",
description=Component.DESCRIPTION,
input=ExtractTextInput(),
output=ExtractTextOutput(),
)

def run(self, params={}):
pdf_text = ""
try:
if params.get("contents"):
pdfFile = base64.b64decode(params.get("contents"))
else:
raise Exception("File contents missing!")
except Exception as e:
self.logger.error("File contents missing: ", e)
raise
try:
with open("temp.pdf", "wb") as temp_pdf:
temp_pdf.write(pdfFile)
pdfReader = PyPDF2.PdfFileReader(open("temp.pdf", "rb"))
pdftext = ""
for page in range(pdfReader.numPages):
pageObj = pdfReader.getPage(page)
pdftext += pageObj.extractText().replace("\n", "")
except Exception as e:
self.logger.info("An error occurred while extracting text: ", e)
raise
return {"output": pdftext}

def test(self):
return {"output": "successful"}
with io.BytesIO(base64.b64decode(params.get(Input.CONTENTS))) as f:
pdf_file = pdfplumber.open(f)
try:
pages = pdf_file.pages
for page in enumerate(pages):
pdf_text += page[1].extract_text().replace("\n", " ")
finally:
pdf_file.close()
except PDFSyntaxError:
raise PluginException(
cause="The provided content is not from the PDF file.",
dsliwinski-r7 marked this conversation as resolved.
Show resolved Hide resolved
assistance="Please check that the input is correct and try again.",
)
return {Output.OUTPUT: pdf_text}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# GENERATED BY KOMAND SDK - DO NOT EDIT
import komand
import insightconnect_plugin_runtime
import json


Expand All @@ -15,7 +15,7 @@ class Output:
OUTPUT = "output"


class ExtractTextInput(komand.Input):
class ExtractTextInput(insightconnect_plugin_runtime.Input):
schema = json.loads("""
{
"type": "object",
Expand All @@ -40,7 +40,7 @@ def __init__(self):
super(self.__class__, self).__init__(self.schema)


class ExtractTextOutput(komand.Output):
class ExtractTextOutput(insightconnect_plugin_runtime.Output):
schema = json.loads("""
{
"type": "object",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import komand
import insightconnect_plugin_runtime
from .schema import ConnectionSchema

# Custom imports below


class Connection(komand.Connection):
class Connection(insightconnect_plugin_runtime.Connection):
def __init__(self):
super(self.__class__, self).__init__(input=ConnectionSchema())

Expand Down
4 changes: 2 additions & 2 deletions plugins/pdf_reader/komand_pdf_reader/connection/schema.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# GENERATED BY KOMAND SDK - DO NOT EDIT
import komand
import insightconnect_plugin_runtime
import json


class Input:
pass

class ConnectionSchema(komand.Input):
class ConnectionSchema(insightconnect_plugin_runtime.Input):
schema = json.loads("""
{}
""")
Expand Down
5 changes: 3 additions & 2 deletions plugins/pdf_reader/plugin.spec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ products: [insightconnect]
name: pdf_reader
title: PDF Reader
description: Tools for extracting text from a PDF
version: 1.0.1
version: 1.0.2
vendor: rapid7
support: community
status: []
Expand All @@ -17,7 +17,7 @@ tags:
- Extract
hub_tags:
use_cases: [data_utility]
keywords: [PDF, Reader, Extract]
keywords: [pdf, reader, extraction]
features: []
actions:
extract_text:
Expand All @@ -29,6 +29,7 @@ actions:
description: PDF file to extract text from
type: bytes
required: true
example: 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Zy9QYWdlcyA0IDAgUgovT3BlbkFjdGlvblsxIDAgUiAvWFlaIG51bGwgbnVsbCAwXQovTGFuZyhwbC1QTCkKPj4KZW5kb2JqCgoxMyAwIG9iago8PC9DcmVhdG9yPEZFRkYwMDU3MDA3MjAwNjkwMDc0MDA2NTAwNzI+Ci9Qcm9kdWNlcjxGRUZGMDA0QzAwNjkwMDYyMDA3MjAwNjUwMDRGMDA2NjAwNjYwMDY5MDA2MzAwNjUwMDIwMDAzNjAwMkUwMDM0PgovQ3JlYXRpb25EYXRlKEQ6MjAyMTExMjgyMjQ5NDIrMDEnMDAnKT4+CmVuZG9iagoKeHJlZgowIDE0CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwNjAwOSAwMDAwMCBuIAowMDAwMDAwMDE5IDAwMDAwIG4gCjAwMDAwMDAxOTcgMDAwMDAgbiAKMDAwMDAwNjE3OCAwMDAwMCBuIAowMDAwMDAwMjE3IDAwMDAwIG4gCjAwMDAwMDUyMDMgMDAwMDAgbiAKMDAwMDAwNTIyNCAwMDAwMCBuIAowMDAwMDA1NDE5IDAwMDAwIG4gCjAwMDAwMDU3MzkgMDAwMDAgbiAKMDAwMDAwNTkyMiAwMDAwMCBuIAowMDAwMDA1OTU0IDAwMDAwIG4gCjAwMDAwMDYyNzcgMDAwMDAgbiAKMDAwMDAwNjM3NCAwMDAwMCBuIAp0cmFpbGVyCjw8L1NpemUgMTQvUm9vdCAxMiAwIFIKL0luZm8gMTMgMCBSCi9JRCBbIDw2RDVGRjZBMERFNDcxNUEyRUZCOURGN0E3MjNFRUFFQT4KPDZENUZGNkEwREU0NzE1QTJFRkI5REY3QTcyM0VFQUVBPiBdCi9Eb2NDaGVja3N1bSAvNDkzMUY3MDAzRjc4RDhBMERENzk2RjlDMTE5RTlDOEQKPj4Kc3RhcnR4cmVmCjY1NDkKJSVFT0YK
blaxminarayan-r7 marked this conversation as resolved.
Show resolved Hide resolved
output:
output:
title: PDF Text
Expand Down
3 changes: 2 additions & 1 deletion plugins/pdf_reader/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# List third-party dependencies here, separated by newlines.
# All dependencies must be version-pinned, eg. requests==1.2.0
# See: https://pip.pypa.io/en/stable/user_guide/#requirements-files
PyPDF2==1.26.0
pdfplumber==0.5.28
parameterized==0.8.1
14 changes: 7 additions & 7 deletions plugins/pdf_reader/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
from setuptools import setup, find_packages


setup(name='pdf_reader-rapid7-plugin',
version='1.0.1',
description='Tools for extracting text from a PDF',
author='rapid7',
author_email='',
url='',
setup(name="pdf_reader-rapid7-plugin",
version="1.0.2",
description="Tools for extracting text from a PDF",
author="rapid7",
author_email="",
url="",
packages=find_packages(),
install_requires=['komand'], # Add third-party dependencies to requirements.txt, not here!
install_requires=['insightconnect-plugin-runtime'], # Add third-party dependencies to requirements.txt, not here!
scripts=['bin/komand_pdf_reader']
)
Empty file.
Loading