From e1d5053db143cccc9fdaee86240243e0c911fbd2 Mon Sep 17 00:00:00 2001
From: Wainer Vandelli <Wainer.Vandelli@cern.ch>
Date: Mon, 26 Jul 2010 19:25:30 +0000
Subject: [PATCH] First implementation of parser for L1Calo

---
 Script/L1CFileNameParser.py | 40 +++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)
 create mode 100644 Script/L1CFileNameParser.py

diff --git a/Script/L1CFileNameParser.py b/Script/L1CFileNameParser.py
new file mode 100644
index 0000000..6c36454
--- /dev/null
+++ b/Script/L1CFileNameParser.py
@@ -0,0 +1,40 @@
+
+__version__='$Revision$'
+
+
+#.data --> Standard file --> Projecttag  
+#.tgz --> L1CaloRateArchive_yyyymmdd.tgz --> projecttag = l1calo_ratearchive
+
+
+from BaseFileNameParser import BaseFileNameParser
+from SFOFileNameParser import SFOFileNameParser
+from Constants import needed_parser_symbols
+import os.path
+
+class L1CFileNameParser(BaseFileNameParser):
+
+    def __init__(self,filename):
+
+        BaseFileNameParser.__init__(self, filename)
+
+        file = os.path.basename(filename)
+        ext = os.path.splitext(file)[1]
+
+        if ext == '.data':
+            self.parser = SFOFileNameParser(filename)
+            self.project = self.parser.ProjectTag()
+        elif ext == '.tgz':
+            self.parser = BaseFileNameParser(filename)
+            self.project = 'l1calo_ratearchive'
+        else:
+            self.project = ''
+            
+        
+        for sym in needed_parser_symbols:
+            if not sym is 'ProjectTag':
+                setattr(self, sym, getattr(self.parser, sym))
+
+
+    def ProjectTag(self):
+        return self.project
+        
-- 
GitLab