summaryrefslogtreecommitdiffstats
path: root/catalog/groups.py
diff options
context:
space:
mode:
authorSantosh Sivaraj <santosiv@in.ibm.com>2015-04-28 20:40:13 +0530
committerSantosh Sivaraj <santosiv@in.ibm.com>2016-11-09 19:42:34 +0530
commit3b21283808f3cf6685c01f754fd1d270a06e6d7d (patch)
treef070771d4d23eb8f2ed447922774ab0525d02e7b /catalog/groups.py
parent9d1bd89a8c1f98da49588d174c691c0257b5d24e (diff)
downloadima-catalog-3b21283808f3cf6685c01f754fd1d270a06e6d7d.tar.gz
ima-catalog-3b21283808f3cf6685c01f754fd1d270a06e6d7d.zip
Some folder structure re-arrangement
Signed-off-by: Santosh Sivaraj <santosiv@in.ibm.com>
Diffstat (limited to 'catalog/groups.py')
-rw-r--r--catalog/groups.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/catalog/groups.py b/catalog/groups.py
new file mode 100644
index 0000000..7818733
--- /dev/null
+++ b/catalog/groups.py
@@ -0,0 +1,46 @@
+from struct import *
+import csv
+from common import *
+
+def group_pack(group):
+ header = pack(">xxIBxHHBB", group['flag'], group['domain'], \
+ group['event group offset'], group['event group length'], \
+ group['schema index'], group['event count'])
+
+ indexes = pack(">16H", *eval(group['event indexes']))
+
+ g = header + indexes + pack_text(group['name']) + pack_text(group['description'])
+ return pad16(g)
+
+def pack_groups(groups_csv):
+ groups = ""
+
+ with open(groups_csv) as csvfile:
+ reader = csv.DictReader(csvfile)
+ group = {}
+ count = 0
+ for row in reader:
+ count += 1
+ group['flag'] = int(row['flag'])
+ group['domain'] = int(row['domain'])
+ group['event group offset'] = int(row['event group offset'])
+ group['event group length'] = int(row['event group length'])
+ group['schema index'] = int(row['schema index'])
+ group['event count'] = int(row['event count'])
+ group['event indexes'] = row['event indexes']
+ group['name'] = row['name']
+ group['description'] = row['description']
+
+ groups += group_pack(group)
+
+ return pad_page(groups, PAGE_SIZE), count
+
+if __name__ == "__main__":
+ groups = pack_groups('groups.csv')
+ if len(groups) == 0:
+ print "Error in generating groups binary dump"
+
+ f = open('groups.bin', 'w')
+ f.write(groups)
+ f.close()
+ hexdump(groups, " ", 16)
OpenPOWER on IntegriCloud