Skip to content

Instantly share code, notes, and snippets.

@joellobo
Last active April 17, 2019 12:29
Show Gist options
  • Save joellobo/b8699cd11d0e05d942efd16f0ff8b6ba to your computer and use it in GitHub Desktop.
Save joellobo/b8699cd11d0e05d942efd16f0ff8b6ba to your computer and use it in GitHub Desktop.
copy-python
BO.DIV.ARQ.02200800.23032019.00483144000146.120190050869. R462.XML
BO.DIV.ARQ.06200800.25102018.03240967000139.120180001138.000000001.R462.XML
BO.DIV.ARQ.02200800.23032019.00483144000146.120190050869. R462.PET.PDF
BO.DIV.ARQ.06200800.25102018.03240967000139.120180001138.000000001.R462.PET.PDF
BO.DIV.ARQ.02200800.23032019.00483144000146.120190050869 .R462.PEC.PDF
BO.DIV.ARQ.21200821.25102018.68384494000199.120180001984.451543009.R462.CDA.PDF
import os
import xml.etree.ElementTree as ET
import shutil
import logging
BASE_PATH = "/home/64943127304/dev/playground/python"
OLD_BASE_PATH = BASE_PATH + "/old-files"
NEW_BASE_PATH = BASE_PATH + "/new-files"
OLD_XML_PATH = OLD_BASE_PATH + "/xml"
OLD_PET_PATH = OLD_BASE_PATH + "/pet"
OLD_CDA_PATH = OLD_BASE_PATH + "/cda"
NEW_XML_PATH = NEW_BASE_PATH + "/xml"
NEW_PET_PATH = NEW_BASE_PATH + "/pet"
NEW_CDA_PATH = NEW_BASE_PATH + "/cda"
def main():
logger = logging.getLogger('dataprev')
hdlr = logging.FileHandler('/home/64943127304/dev/playground/python/dataprev.log')
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
hdlr.setFormatter(formatter)
logger.addHandler(hdlr)
logger.setLevel(logging.WARNING)
logger.info('OLD_XML_PATH:' + OLD_XML_PATH)
clear_new_dir()
summary('Antes da execucao')
for filename in os.listdir(OLD_XML_PATH):
src = OLD_XML_PATH + '/' + filename
print(src)
root = ET.parse(src).getroot()
before_name, after_name = split_name(filename)
for numero_lote in root.findall('NumeroLote'):
xml_str = ET.tostring(numero_lote).decode()
value_numero_lote = numero_lote.get('NumeroLote')
#print(xml_str)
#print(value_numero_lote)
#for peticao in root.findall('Peticao'):
counter_cda_files = counter_cda(root)
rename_xml(filename, before_name, after_name, counter_cda_files)
copiar_cda(root, before_name, after_name)
#copiar_pet()
summary('Depois da execucao')
def split_name(file_name):
fn = file_name.split('.')
before_name = fn[0] + '.' + fn[1] + '.' + fn[2] + '.' + fn[3] + '.' + fn[4] + '.' + fn[5] + '.' + fn[6] + '.'
after_name = '.' + fn[7] + '.' + fn[8]
#print('before_name: ' + before_name + ' after_name: ' + after_name)
return before_name, after_name
def rename_xml(old_xml, before_name, after_name, counter_cda_files):
new_xml = before_name + counter_cda_files + after_name
print('old_xml:' + OLD_XML_PATH + '/' + old_xml + ' new_xml:' + NEW_XML_PATH + '/' + new_xml)
shutil.copyfile(OLD_XML_PATH + '/' + old_xml, NEW_XML_PATH + '/' + new_xml)
def counter_cda(root):
cda = root.findall('Peticao/CDA')
counter = len(cda)
cda_counter = "{0:0>12}".format(counter)
return cda_counter
def copiar_cda(root, before_name, after_name):
cda = root.findall('Peticao/CDA')
counter = len(cda)
cda_counter = "{0:0>12}".format(counter)
new_cda = before_name + cda_counter + after_name
#print('new_cda: ' + new_cda)
def copiar_pet():
print('copiar pet')
def summary(label):
print('===================================================')
print(label)
print('---------------------------------------------------')
old_xml = os.listdir(OLD_XML_PATH)
print ('Total Old XML:' + str(len(old_xml)))
new_xml = os.listdir(NEW_XML_PATH)
print ('Total New XML:' + str(len(new_xml)))
def clear_new_dir():
shutil.rmtree(NEW_BASE_PATH)
os.makedirs(NEW_XML_PATH)
os.makedirs(NEW_CDA_PATH)
os.makedirs(NEW_PET_PATH)
# Driver Code
if __name__ == '__main__':
# Calling main() function
main()
@joellobo
Copy link
Author

nome dos arquivos

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment