Skip to content
This repository was archived by the owner on Jun 17, 2024. It is now read-only.

Commit 555a7c8

Browse files
Merge branch 'development'
2 parents e3a8cb2 + 8be09aa commit 555a7c8

File tree

6 files changed

+18
-11
lines changed

6 files changed

+18
-11
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
11
.github
2+
build
3+
*.egg-info

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) [2022] [David José Araújo Ferreira]
3+
Copyright (c) [2022-2023] [David José Araújo Ferreira]
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

capparser/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
from .element import *
2+
from .enums import *
3+
from .capparser import *

capparser/capparser.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import element
2-
import enums
1+
from . import element
2+
from . import enums
33
import xml.etree.ElementTree as ET
44
import inspect
55

@@ -55,9 +55,10 @@ def writeAlertToFile(alert, filePath):
5555
with open(filePath, "wb") as files:
5656
tree.write(files)
5757

58-
def _recursiveDeparser(obj, outputFilePath=None):
58+
def _recursiveDeparser(obj):
5959
root = ET.Element(str(obj))
6060
attrs = _filterOrderAttributes(inspect.getmembers(obj))
61+
6162
for attr in attrs:
6263
if attr[0] == "xmlns":
6364
root.set(attr[0], attr[1][0])
@@ -67,13 +68,14 @@ def _recursiveDeparser(obj, outputFilePath=None):
6768
root.append(_recursiveDeparser(item))
6869
else:
6970
child = ET.SubElement(root, attr[0])
70-
child.text = item
71+
child.text = str(item)
7172
else:
7273
if isinstance(attr[1][0], element.Alert) or isinstance(attr[1][0], element.Info) or isinstance(attr[1][0], element.EventCode) or isinstance(attr[1][0], element.Parameter) or isinstance(attr[1][0], element.Resource) or isinstance(attr[1][0], element.Area) or isinstance(attr[1][0], element.Geocode):
7374
root.append(_recursiveDeparser(attr[1][0]))
7475
else:
7576
child = ET.SubElement(root, attr[0])
76-
child.text = attr[1][0]
77+
child.text = str(attr[1][0])
78+
7779
return root
7880

7981

capparser/element.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
from . import enums
12
from datetime import datetime, timezone
2-
import enums
33
import random
44
import re
55

@@ -17,7 +17,7 @@ def __init__(self, identifier=None, sender="CAPParser", sent=None, status=enums.
1717
raise Exception("Identifier must be a string")
1818
if not isinstance(sender, str):
1919
raise Exception("Sender must be a string")
20-
if not isinstance(sent, datetime) and sent != None:
20+
if not isinstance(sent, str) and sent != None:
2121
raise Exception("Sent must be a datetime object")
2222
if not isinstance(status, enums.Status):
2323
raise Exception("Status must be a enums.Status object")
@@ -146,7 +146,7 @@ def addAddress(self, address):
146146
self.addresses = ("", 9)
147147

148148
if ' ' in address:
149-
address = "\"" + address.strips() + "\""
149+
address = "\"" + address.strip() + "\""
150150

151151
if "\"CAP Default Address\"" in self.addresses[0]:
152152
self.addresses = (self.addresses[0].replace("\"CAP Default Address\"", ""),9)
@@ -292,7 +292,7 @@ def __init__(self, category=[enums.Category.Other], event="CAPParser Default Eve
292292
raise Exception("Certainty must be an enums.Certainty object")
293293

294294
self.language = (None, 0)
295-
self.category = ([], 1)
295+
self.category = (category, 1)
296296
self.event = (event, 2)
297297
self.responseType = ([], 3)
298298
self.urgency = (urgency, 4)

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
setuptools.setup(
77
name="capparser",
8-
version="1.0.5",
8+
version="2.0.0",
99
author="David Araújo",
1010
author_email="david2araujo5@gmail.com",
1111
description="Common Alerting Protocol (CAP) parser",

0 commit comments

Comments
 (0)