forked from akretion/factur-x
-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Implement Command Line Options (#35)
* 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
Showing
9 changed files
with
67 additions
and
356 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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() |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.