aboutsummaryrefslogtreecommitdiffstats
path: root/acispy
diff options
context:
space:
mode:
authorAaron LI <aaronly.me@outlook.com>2017-02-19 16:29:00 +0800
committerAaron LI <aaronly.me@outlook.com>2017-02-19 16:29:00 +0800
commit8c8e2b2fc8d88cfe8e130b2c693d01686f126d18 (patch)
treedbe5777dfad5e8dc399c3fd809ebb1f7e19c00cc /acispy
parent2aaf7d8106e7d596654c9ae1cf0fa75fd642f3eb (diff)
downloadchandra-acis-analysis-8c8e2b2fc8d88cfe8e130b2c693d01686f126d18.tar.bz2
Split 'analyze_path.py' to two parts for 'acispy'
Diffstat (limited to 'acispy')
-rw-r--r--acispy/analyze_path.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/acispy/analyze_path.py b/acispy/analyze_path.py
new file mode 100644
index 0000000..578a6db
--- /dev/null
+++ b/acispy/analyze_path.py
@@ -0,0 +1,53 @@
+#!/usr/bin/env python3
+#
+# Copyright (c) 2017 Weitian LI <liweitianux@live.com>
+# MIT license
+#
+# Weitian LI
+# 2017-02-06
+
+"""
+Extract the object name and observation ID from the directory path.
+
+The root directory of the object data has the format:
+ <name>_oi<obsid>
+"""
+
+import re
+
+
+RE_DATA_DIR = re.compile(r"^.*/(?P<name>[^/_]+)_oi(?P<obsid>\d+).*$")
+
+
+def get_name(path):
+ """
+ Extract the object name from the directory path.
+
+ Parameters
+ ----------
+ path : str
+ Path to the data directory
+
+ Returns
+ -------
+ objname : str
+ The name part of the data directory
+ """
+ return RE_DATA_DIR.match(path).group("name")
+
+
+def get_obsid(path):
+ """
+ Extract the observation ID from the directory path.
+
+ Parameters
+ ----------
+ path : str
+ Path to the data directory
+
+ Returns
+ -------
+ obsid : int
+ The observation ID of the data
+ """
+ return int(RE_DATA_DIR.match(path).group("obsid"))