[[
it:extract_epuap
]]
Narzędziownik
Ślad:
Pokaż stronę
Administracja
Ostatnie zmiany
Indeks
Zaloguj
Szukaj
Zobacz także
bip.gov.pl
inspektoraty_sanitarne
opp
sady
urzedy_skarbowe
uniki
bzdury
doreczenie-elektroniczne
faq
old-long
podpis_elektroniczny
zapytanie-o-bip
wnioski
ministerstwa-o-rejestry-umow
archiwum
procedura
prokuratura
baza
okregowe
opracowanie
do_wojewodow_o_decyzje_tuska
epuap-baza
kgp-art-269b
wykaz-rejestry-umow
2013
2014
2015
2016
uchwaly
1001-tez
bip
etpc
plan-nadzoru
poradnik
rzecznicy-prasowi
slownik
sprawnosc
statutu-i-akty-generalne
szkola
to-do
zarzadzenia
zaskarzanie-bip
Ostatnie zmiany
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
Extract_ePUAP - narzędzie zgodne do szybkiej ekstrakcji z pobranych (całych) dokumentów załączników. Nie wpływa na treść. Przydatny zwłaszcza przy wielu załącznikach. KISS. ====== Użycie ====== <code bash> $ extract_epuap --help usage: extract_epuap [-h] file [file ...] Extract files from ePUAP docs positional arguments: file optional arguments: -h, --help show this help message and exit $ extract_epuap koperta* koperta_2.xml --> KW_398768_DKSiW-WSWiA_plik2.DOC as KW_398768_DKSiW-WSWiA_plik2_1.DOC (0/2) koperta_2.xml --> KW_398768_DKSiW-WSWiA_plik2.DOC.XAdES as KW_398768_DKSiW-WSWiA_plik2.DOC_1.XAdES (1/2) koperta.xml --> KW_398768_DKSiW-WSWiA_plik2.DOC as KW_398768_DKSiW-WSWiA_plik2_2.DOC (0/2) koperta.xml --> KW_398768_DKSiW-WSWiA_plik2.DOC.XAdES as KW_398768_DKSiW-WSWiA_plik2.DOC_2.XAdES (1/2) </code> ====== Kod ====== <code python> #!/usr/bin/python import os import sys import argparse from xml.etree import ElementTree from base64 import b64decode from urllib2 import unquote ATTACH_LIST_PATH = './/{http://crd.gov.pl/xml/schematy/struktura/2009/11/16/}Zalacznik' DATA_PATH = '{http://crd.gov.pl/xml/schematy/struktura/2009/11/16/}DaneZalacznika' def unique_file(filename): counter = 1 filename_parts = os.path.splitext(filename) # returns ('/path/file', '.ext') while 1: try: fd = os.open(filename, os.O_CREAT | os.O_EXCL | os.O_RDWR) return os.fdopen(fd,'w'), filename except OSError: pass filename = filename_parts[0] + '_' + str(counter) + filename_parts[1] counter += 1 parser = argparse.ArgumentParser(description='Extract files from ePUAP docs') parser.add_argument('file', nargs='+', type=argparse.FileType('r'), default=sys.stdin) args = parser.parse_args() for fd in args.file: document = ElementTree.parse(fd) root = document.getroot() attachment_list = root.findall(ATTACH_LIST_PATH) for i, att in enumerate(attachment_list): data = att.find(DATA_PATH).text if att.attrib['kodowanie'] == 'base64': data = b64decode(data) else: data = unquote(urllib2) filename = att.attrib.get('nazwaPliku') or 'unknown.bin' fp, filename_new = unique_file(filename) fp.write(data) fp.close() print "%s --> %s as %s (%s/%s)" % (fd.name, filename, filename_new, i, len(attachment_list)) </code> ~~DISCUSSION~~
it/extract_epuap.txt
· ostatnio zmienione: 2014/02/11 23:36 przez
naczelnik
Pokaż stronę
Poprzednie wersje
Menadżer multimediów
Do góry