Skip to main content

Print and concatenate EDI files

Project description

edicat: Print and transform EDI

pypi-version

Why?

EDI often does not include newlines which makes it incompatible with normal UNIX tools that operate on a line-by-line basis. So we do some simple detection of the segment terminator and append newlines as required.

Install

pip3 install -U edicat

Usage

$ edicat --help
usage: edicat [-n] [filenames [filenames ...]]

Print and concatenate EDI.

positional arguments:
  filenames     Filename(s) or - for stdin

optional arguments:
  -n, --lineno  Number the output lines, starting at 1.

Examples

Simple cat:

$ cat edi850_sample.txt
ISA*00*          *00*          *01*0011223456     *01*999999999      *950120*0147*U*00300*000000005*0*P*^~GS*PO*0011223456*999999999*950120*0147*5*X*003040~ST*850*000000001~BEG*00*SA*95018017***950118~N1*SE*UNIVERSAL WIDGETS~N3*375 PLYMOUTH PARK*SUITE 205~N4*IRVING*TX*75061~N1*ST*JIT MANUFACTURING~N3*BUILDING 3B*2001 ENTERPRISE PARK~N4*JUAREZ*CH**MEX~N1*AK*JIT MANUFACTURING~N3*400 INDUSTRIAL PARKWAY~N4*INDUSTRIAL AIRPORT*KS*66030~N1*BT*JIT MANUFACTURING~N2*ACCOUNTS  PAYABLE DEPARTMENT~N3*400 INDUSTRIAL PARKWAY~N4*INDUSTRIAL AIRPORT*KS*66030~PO1*001*4*EA*330*TE*IN*525*VN*X357-W2~PID*F****HIGH PERFORMANCE WIDGET~SCH*4*EA****002*950322~CTT*1*1~SE*20*000000001~GE*1*5~IEA*1*000000005~

EDIcat:

$ edicat edi850_sample.txt
ISA*00*          *00*          *01*0011223456     *01*999999999      *950120*0147*U*00300*000000005*0*P*^~
GS*PO*0011223456*999999999*950120*0147*5*X*003040~
ST*850*000000001~
BEG*00*SA*95018017***950118~
N1*SE*UNIVERSAL WIDGETS~
N3*375 PLYMOUTH PARK*SUITE 205~
N4*IRVING*TX*75061~
N1*ST*JIT MANUFACTURING~
N3*BUILDING 3B*2001 ENTERPRISE PARK~
N4*JUAREZ*CH**MEX~
N1*AK*JIT MANUFACTURING~
N3*400 INDUSTRIAL PARKWAY~
N4*INDUSTRIAL AIRPORT*KS*66030~
N1*BT*JIT MANUFACTURING~
N2*ACCOUNTS  PAYABLE DEPARTMENT~
N3*400 INDUSTRIAL PARKWAY~
N4*INDUSTRIAL AIRPORT*KS*66030~
PO1*001*4*EA*330*TE*IN*525*VN*X357-W2~
PID*F****HIGH PERFORMANCE WIDGET~
SCH*4*EA****002*950322~
CTT*1*1~
SE*20*000000001~
GE*1*5~
IEA*1*000000005~

Run tests

python3 -m unittest

Known Issues:

  • cat /path/* | edicat won't work with documents that are mixed spec/separators (stdin has no hints as to file boundary).
    • Workarounds:
      • edicat /path/*.edi
      • find /path/ -name '*.edi' | xargs edicat
  • No TRADACOMS support
  • No HL7 support

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

edicat-2024.8.2.tar.gz (6.7 kB view hashes)

Uploaded Source

Built Distribution

edicat-2024.8.2-py3-none-any.whl (6.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page