diff --git a/inexDataProcessing.py b/inexDataProcessing.py index e17b08b..b38cff4 100644 --- a/inexDataProcessing.py +++ b/inexDataProcessing.py @@ -17,6 +17,7 @@ def processData(data, template, **kwargs): continue userType = identifyUserType(row.get('user_type')) + userHome = parseHomefolder(row.get('Actor'),row.get('VirtualFolderName')) try: processedData.append(template(identifyUtypecommand,\ prd_ext_tenant_name=kwargs.get('prd_ext_tenant_name'),\ @@ -45,7 +46,7 @@ def processData(data, template, **kwargs): duration=row.get('TransferTime'),\ user_type=userType,\ user_name=row.get('Actor'),\ - user_home_directory=row.get('VirtualFolderName'),\ + user_home_directory=userHome,\ utype=identifyUtypecommand)) except UnboundLocalError: print(f'Problem row GUID:{row.get("TransactionGUID")} ::: TransactionObject:{row.get("TransactionObject")} Command: {row.get("Command")}') @@ -80,7 +81,7 @@ def processData(data, template, **kwargs): user_uid=row.get('TransactionID'),\ user_type=userType,\ user_name=row.get('Actor'),\ - user_home_directory=row.get('PhysicalFolderName'),\ + user_home_directory=userHome,\ utype=identifyUtypetransactionObject\ )) transactionLoginid.append(row.get('TransactionGUID')) @@ -100,6 +101,14 @@ def identifyUserType(obj): else: return None +def parseHomefolder(user, virtualfolder): + if user: + userSplit = f'/{user}/' + if virtualfolder: + if userSplit in virtualfolder: + home = virtualfolder.split(userSplit)[0] + userSplit + return home if home else None + def identifyUtype(obj): """Process Type of transaction based on string that passed in. Return transaction type.""" diff --git a/test.py b/test.py index 4be6116..ecac145 100644 --- a/test.py +++ b/test.py @@ -15,8 +15,6 @@ def builddict(keys,*args,**kwargs): dict[key] = kwargs.get(key) print(dict) -testfolder = '/Usr/a/asdf/asf' -user = 'a' def identifyUtype(obj): """Process Type of transaction based on string that passed in. @@ -37,6 +35,14 @@ def identifyUtype(obj): else: return "other" -transactionType = 'file_uploaded' -print(transactionType.split("_")[1].rstrip("d").rstrip("e")) \ No newline at end of file +testfolder = '/Usr/a/asdf/asf/asdfas/asdfasdf/' +user = 'a' + +def parsehomefolder(user, virtualfolder): + userSplit = f'/{user}/' + home = virtualfolder.split(userSplit)[0] + userSplit + print(home) + return home + +a = parsehomefolder(user, testfolder) \ No newline at end of file