# Which scope is my code running in?

**URL:** <https://forum.inductiveautomation.com/t/which-scope-is-my-code-running-in/15540>\
**Category:** Ignition\
**Created:** [October 2, 2017, 11:11pm UTC](https://forum.inductiveautomation.com/t/which-scope-is-my-code-running-in/15540 "2017-10-02T23:11:25Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![cmisztur2](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/cmisztur2/32/4243_2.png) [@cmisztur2](https://forum.inductiveautomation.com/u/cmisztur2)\
**Post date:** [October 2, 2017, 11:11pm UTC](https://forum.inductiveautomation.com/t/which-scope-is-my-code-running-in/15540/1 "2017-10-02T23:11:25Z")

</div>

How can I test whether the executing code is running in client, gw, or designer?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [October 2, 2017, 11:21pm UTC](https://forum.inductiveautomation.com/t/which-scope-is-my-code-running-in/15540/2 "2017-10-02T23:21:17Z")

</div>

Hmm. Something like this (untested):

```python
from com.inductiveautomation.ignition.common.model import ApplicationScope

scope = ApplicationScope.getGlobalScope()

if (ApplicationScope.isClient(scope)):
	...

if (ApplicationScope.isDesigner(scope)):
	...

if (ApplicationScope.isGateway(scope)):
	...

```

---

<div class="post-metadata">

**Author:** ![Kyle\_Chase](https://avatars.discourse-cdn.com/v4/letter/k/9de0a6/32.png) [@Kyle\_Chase](https://forum.inductiveautomation.com/u/Kyle_Chase)\
**Post date:** [October 2, 2017, 11:37pm UTC](https://forum.inductiveautomation.com/t/which-scope-is-my-code-running-in/15540/3 "2017-10-02T23:37:27Z")

</div>

This would also work, but I like Kevin’s solution.

```auto
def getLocation():
	try:
		if system.util.getSystemFlags() & system.util.CLIENT_FLAG:
			location = 1
		elif system.util.getSystemFlags() & system.util.DESIGNER_FLAG:
			location = 2
	except:
		location = 0
	return location

```

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [October 3, 2017, 12:03am UTC](https://forum.inductiveautomation.com/t/which-scope-is-my-code-running-in/15540/4 "2017-10-03T00:03:02Z")

</div>

> [@Kyle\_Chase](#):
>
> This would also work

The problem with `getSystemFlags()` is that it only exists in C/D scope. It would error out in G scope.

edit: Durh, your code accounts for that.

---

<div class="post-metadata">

**Author:** ![Kyle\_Chase](https://avatars.discourse-cdn.com/v4/letter/k/9de0a6/32.png) [@Kyle\_Chase](https://forum.inductiveautomation.com/u/Kyle_Chase)\
**Post date:** [October 3, 2017, 2:55am UTC](https://forum.inductiveautomation.com/t/which-scope-is-my-code-running-in/15540/5 "2017-10-03T02:55:48Z")

</div>

I iz smrt Kevin!!

More characters…
