Splunk Dev

Can I get the current app from Python?

timpgray
Path Finder

I notice there is a method to get the current apps dir from python. There is also a getCurrentApp() available in javascript, but I need the current app from Python.

Does anyone have any suggestions?

Tags (2)
1 Solution

araitz
Splunk Employee
Splunk Employee

Which type of python file? We tend to use python's __file__ attribute. I assume that you have imported os and cherrypy at least.

For example, in the file $SPLUNK_HOME/etc/apps/TA-opseclea/appserver/controllers/:

 app_name = __file__.split('.')[-2]

If I was implementing a controller method where a request was routed to me:

@route('/:app/:action=edit/:name')
@expose_page(must_login=True, methods=['GET']) 
def edit(self, app, action, name, **kwargs):
    host_app = cherrypy.request.path_info.split('/')[3]

For a scripted input in an app's .\bin directory:

app_name = __file__.split(os.sep)[-3]

View solution in original post

0 Karma

araitz
Splunk Employee
Splunk Employee

Which type of python file? We tend to use python's __file__ attribute. I assume that you have imported os and cherrypy at least.

For example, in the file $SPLUNK_HOME/etc/apps/TA-opseclea/appserver/controllers/:

 app_name = __file__.split('.')[-2]

If I was implementing a controller method where a request was routed to me:

@route('/:app/:action=edit/:name')
@expose_page(must_login=True, methods=['GET']) 
def edit(self, app, action, name, **kwargs):
    host_app = cherrypy.request.path_info.split('/')[3]

For a scripted input in an app's .\bin directory:

app_name = __file__.split(os.sep)[-3]
0 Karma

timpgray
Path Finder

I am writing a custom search command. Looks like the last option you presented may be the one. I will give it a shot. Thanks

0 Karma
Got questions? Get answers!

Join the Splunk Community Slack to learn, troubleshoot, and make connections with fellow Splunk practitioners in real time!

Meet up IRL or virtually!

Join Splunk User Groups to connect and learn in-person by region or remotely by topic or industry.

Get Updates on the Splunk Community!

Persistent Queue at TcpOut — One of Splunk's Most Practical Features

Splunk introduced persistent queueing at the tcpout layer as one of the most practical resilience features in ...

Skip the Awkward Silence: Have a .conf-ersation at .conf26

Picture this. You arrive at .conf26 already having your socializing and networking plans mapped out. No ...

Rethinking Zero Trust: From Product Purchases to Logical Control Evidence

Implementing Zero Trust (ZT) across complex environments often falters at the very beginning due to a ...