diff options
| author | Santosh Sivaraj <santosiv@in.ibm.com> | 2015-04-28 20:40:13 +0530 |
|---|---|---|
| committer | Santosh Sivaraj <santosiv@in.ibm.com> | 2016-11-09 19:42:34 +0530 |
| commit | 3b21283808f3cf6685c01f754fd1d270a06e6d7d (patch) | |
| tree | f070771d4d23eb8f2ed447922774ab0525d02e7b /catalog/groups.py | |
| parent | 9d1bd89a8c1f98da49588d174c691c0257b5d24e (diff) | |
| download | ima-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.py | 46 |
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) |

