Skip to content

Commit

Permalink
Implement Command Line Options (#35)
Browse files Browse the repository at this point in the history
* first commit for command line options

* working arg

* support other output format

* make changes to MANIFEST.in

* move cli

* move cli code
  • Loading branch information
duskybomb authored and Manu committed Aug 9, 2018
1 parent b86cbd0 commit 7483e1c
Show file tree
Hide file tree
Showing 9 changed files with 67 additions and 356 deletions.
23 changes: 9 additions & 14 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,16 +1,11 @@
include LICENSE
include README.rst
include requirement.txt
include facturx/xsd/zugferd/ZUGFeRD1p0_urn_un_unece_uncefact_data_standard_ReusableAggregateBusinessInformationEntity_12.xsd
include facturx/xsd/zugferd/ZUGFeRD1p0_urn_un_unece_uncefact_data_standard_QualifiedDataType_12.xsd
include facturx/xsd/zugferd/ZUGFeRD1p0_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_15.xsd
include facturx/xsd/zugferd/ZUGFeRD1p0.xsd
include facturx/xsd/factur-x/FACTUR-X_BASIC-WL_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd
include facturx/xsd/factur-x/FACTUR-X_BASIC-WL_urn_un_unece_uncefact_data_standard_ReusableAggregateBusinessInformationEntity_100.xsd
include facturx/xsd/factur-x/FACTUR-X_BASIC-WL_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd
include facturx/xsd/factur-x/FACTUR-X_BASIC-WL.xsd
include facturx/xsd/factur-x/FACTUR-X_EN16931_urn_un_unece_uncefact_data_standard_QualifiedDataType_100.xsd
include facturx/xsd/factur-x/FACTUR-X_EN16931_urn_un_unece_uncefact_data_standard_ReusableAggregateBusinessInformationEntity_100.xsd
include facturx/xsd/factur-x/FACTUR-X_EN16931_urn_un_unece_uncefact_data_standard_UnqualifiedDataType_100.xsd
include facturx/xsd/factur-x/FACTUR-X_EN16931.xsd
include facturx/xmp/ZUGFeRD_extension_schema.xmp
include facturx/xmp/Factur-X_extension_schema.xmp
include facturx/flavors/*.yml
include facturx/flavors/factur-x/xml/*.xml
include facturx/flavors/factur-x/xmp/*.xmp
include facturx/flavors/factur-x/xsd/*.xsd
include facturx/flavors/zugferd/xml/*.xml
include facturx/flavors/zugferd/xmp/*.xmp
include facturx/flavors/zugferd/xsd/*.xsd
include facturx/tests/sample_invoices/*.pdf
Empty file added bin/__init__.py
Empty file.
47 changes: 47 additions & 0 deletions bin/cli.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
from facturx.facturx import *
from facturx.logger import logger
import logging
import argparse


def main():
parser = argparse.ArgumentParser(
description='PDF invoice with embedded XML' +
' metadata following the Factur-X standard')
subparsers = parser.add_subparsers(
help='sub-command help', dest="sub_command")

parser_dump = subparsers.add_parser(
'dump', help='dump xml meta data to xml|json, takes two arguments')
parser_dump.add_argument('pdf_invoice', type=argparse.FileType('r'),
help='pdf invoice containing embedded xml')
parser_dump.add_argument(
'output_file', type=str, help='name of export file')

parser_validate = subparsers.add_parser(
'validate', help='validate xml meta data from pdf invoice')
parser_validate.add_argument('pdf_invoice', type=argparse.FileType('r'),
help='pdf invoice to validate')

args = parser.parse_args()

if args.sub_command == 'dump':
factx = FacturX(args.pdf_invoice.name)
try:
output_format = args.output_file.split('.')[1]
if output_format == 'json':
factx.write_json(args.output_file)
elif output_format == 'xml':
factx.write_xml(args.output_file)
elif output_format == 'yml':
factx.write_yaml(args.output_file)
except IndexError:
logger.error("No extension to output file provided")

if args.sub_command == 'validate':
factx = FacturX(args.pdf_invoice.name)
factx.is_valid()


if __name__ == '__main__':
main()
95 changes: 0 additions & 95 deletions bin/facturx-pdfextractxml

This file was deleted.

152 changes: 0 additions & 152 deletions bin/facturx-pdfgen

This file was deleted.

Loading

0 comments on commit 7483e1c

Please sign in to comment.