Hi all,

I'm trying to calculate week number and date from filename using
ExecuteScript processor and Jython. Here is python script.
How can I add calculated attributes week and year to flowfile?

Please help, thank you.
Tom

P.S. Maybe I completely missed with this script. Feel free to correct me.


import json
import java.io
from org.apache.commons.io import IOUtils
from java.nio.charset import StandardCharsets
from org.apache.nifi.processor.io import StreamCallback
from datetime import datetime, timedelta, date

class PyStreamCallback(StreamCallback):
def __init__(self, flowfile):
self.ff = flowfile
pass
def process(self, inputStream, outputStream):
file_name = self.ff.getAttribute("filename")
date_file = file_name.split("_")[6]
date_final = date_file.split(".")[0]
date_obj = datetime.strptime(date_final,'%y%m%d')
date_year = date_obj.year
date_day = date_obj.day
date_month = date_obj.month

week = date(year=date_year, month=date_month, day=date_day).isocalendar()[1]
year = date(year=date_year, month=date_month, day=date_day).isocalendar()[0]

flowFile = session.get()
if (flowFile != None):
session.transfer(flowFile, REL_SUCCESS)
session.commit()

Reply via email to