diff --git a/box.py b/box.py index fd439b9..b610dd6 100755 --- a/box.py +++ b/box.py @@ -13,9 +13,9 @@ import requests # Bipbipzizic import from modules.rfid_reader.Reader import Reader from modules.card_memory.CardMemory import CardMemory -from modules.cards_bdd.Card import Card -from modules.cards_bdd.AppConfig import AppConfig -from modules.cards_bdd.DbManager import DbManager +from modules.bipbipzizik_database.Card import Card +from modules.bipbipzizik_database.AppConfig import AppConfig +from modules.bipbipzizik_database.DbManager import DbManager from modules.tools import get_serial @@ -24,7 +24,7 @@ def main(): UPDATE_PERIOD = 60 reader = Reader() - database = DbManager('https://bipbipzizik.firebaseio.com/', 'prod', 'modules/cards_bdd/serviceAccountKey.json') + database = DbManager('https://bipbipzizik.firebaseio.com/', 'prod', 'modules/bipbipzizik_database/serviceAccountKey.json') app_serial = get_serial() cfg = database.get_config(app_serial) diff --git a/modules/cards_bdd/AppConfig.py b/modules/bipbipzizik_database/AppConfig.py similarity index 84% rename from modules/cards_bdd/AppConfig.py rename to modules/bipbipzizik_database/AppConfig.py index a31adfe..1dc2c44 100644 --- a/modules/cards_bdd/AppConfig.py +++ b/modules/bipbipzizik_database/AppConfig.py @@ -59,12 +59,14 @@ class AppConfig: """ print("Application config:") - print(self.cfg_application_id) - print(self.cfg_sonos_server_ip) - print(self.cfg_sonos_server_port) - print(self.cfg_room_name) - print(self.cfg_multi_read_mode) - print(self.cfg_card_timeout) + print(" - " + self.cfg_app_name) + print(" - " + self.cfg_app_owner) + print(" - " + self.cfg_application_id) + print(" - " + self.cfg_sonos_server_ip) + print(" - " + self.cfg_sonos_server_port) + print(" - " + self.cfg_room_name) + print(" - " + self.cfg_multi_read_mode) + print(" - " + str(self.cfg_card_timeout)) # For test purpose diff --git a/modules/cards_bdd/Card.py b/modules/bipbipzizik_database/Card.py similarity index 100% rename from modules/cards_bdd/Card.py rename to modules/bipbipzizik_database/Card.py diff --git a/modules/cards_bdd/DbCreatorCard.py b/modules/bipbipzizik_database/DbCreatorCard.py similarity index 99% rename from modules/cards_bdd/DbCreatorCard.py rename to modules/bipbipzizik_database/DbCreatorCard.py index 85ff825..8a98bc4 100644 --- a/modules/cards_bdd/DbCreatorCard.py +++ b/modules/bipbipzizik_database/DbCreatorCard.py @@ -1,7 +1,7 @@ # Script that fill the database with all cards -from modules.cards_bdd.DbManager import DbManager +from modules.bipbipzizik_database.DbManager import DbManager data_base = DbManager('https://bipbipzizik.firebaseio.com/', 'prod', 'WriteKey.json') data_base.delete('cards_prod') diff --git a/modules/cards_bdd/DbCreatorConfig.py b/modules/bipbipzizik_database/DbCreatorConfig.py similarity index 93% rename from modules/cards_bdd/DbCreatorConfig.py rename to modules/bipbipzizik_database/DbCreatorConfig.py index 03bfe34..eac5a35 100644 --- a/modules/cards_bdd/DbCreatorConfig.py +++ b/modules/bipbipzizik_database/DbCreatorConfig.py @@ -1,7 +1,7 @@ # Script that fill the database with all configs -from modules.cards_bdd.DbManager import DbManager +from modules.bipbipzizik_database.DbManager import DbManager data_base = DbManager('https://bipbipzizik.firebaseio.com/', 'prod', 'WriteKey.json') data_base.delete('config_prod') diff --git a/modules/cards_bdd/DbManager.py b/modules/bipbipzizik_database/DbManager.py similarity index 100% rename from modules/cards_bdd/DbManager.py rename to modules/bipbipzizik_database/DbManager.py diff --git a/modules/cards_bdd/DbReader.py b/modules/bipbipzizik_database/DbReader.py similarity index 94% rename from modules/cards_bdd/DbReader.py rename to modules/bipbipzizik_database/DbReader.py index 91141e4..6ff4b77 100644 --- a/modules/cards_bdd/DbReader.py +++ b/modules/bipbipzizik_database/DbReader.py @@ -6,8 +6,9 @@ from firebase import firebase -from .Card import Card -from .AppConfig import AppConfig + +from modules.bipbipzizik_database.Card import Card +from modules.bipbipzizik_database.AppConfig import AppConfig class DbReader: @@ -37,7 +38,8 @@ class DbReader: """ self.config_db_python = self.database.get('/' + self.config_bdd_name, None) - self.cards_db_python = self.database.get('/' + self.config_bdd_name, None) + self.cards_db_python = self.database.get('/' + self.card_bdd_name, None) + def count_cards(self): """ diff --git a/modules/cards_bdd/ReadKey.json b/modules/bipbipzizik_database/ReadKey.json similarity index 100% rename from modules/cards_bdd/ReadKey.json rename to modules/bipbipzizik_database/ReadKey.json diff --git a/modules/cards_bdd/WriteKey.json b/modules/bipbipzizik_database/WriteKey.json similarity index 100% rename from modules/cards_bdd/WriteKey.json rename to modules/bipbipzizik_database/WriteKey.json diff --git a/modules/cards_bdd/__init__.py b/modules/bipbipzizik_database/__init__.py similarity index 100% rename from modules/cards_bdd/__init__.py rename to modules/bipbipzizik_database/__init__.py diff --git a/modules/cards_bdd/CardsWrite_test.py b/modules/bipbipzizik_database/test_CardsWrite.py similarity index 97% rename from modules/cards_bdd/CardsWrite_test.py rename to modules/bipbipzizik_database/test_CardsWrite.py index 67f3444..2681486 100644 --- a/modules/cards_bdd/CardsWrite_test.py +++ b/modules/bipbipzizik_database/test_CardsWrite.py @@ -6,8 +6,7 @@ import unittest -from modules.cards_bdd.Card import Card -from modules.cards_bdd.DbManager import DbManager +from modules.bipbipzizik_database.DbManager import DbManager class CardsWrite(unittest.TestCase): diff --git a/modules/bipbipzizik_database/test_DatabaseRead.py b/modules/bipbipzizik_database/test_DatabaseRead.py new file mode 100644 index 0000000..17cdba1 --- /dev/null +++ b/modules/bipbipzizik_database/test_DatabaseRead.py @@ -0,0 +1,61 @@ +# +# BIPBIPZIZIK +# Unit test for Card and FirebaseBdd classes +# It test the read of cards on production database with a public key +# + +import unittest + +from modules.bipbipzizik_database.DbReader import DbReader + + +class DatabaseReadTest(unittest.TestCase): + + @classmethod + def setUpClass(cls): + + cls.database = DbReader('https://bipbipzizik.firebaseio.com/', 'prod') + + # def setUp(self): + # nothing yet + + def test_read_card(self): + card_expected = {"user": "user", + "name": "name", + "comment": "comment", + "ids": "template", + "mode": "mode", + "action": "action", + "data": "data"} + + card = self.database.get_card("template") + + self.assertEqual(card.parameters, card_expected) + + def test_read_config(self): + card_expected = {"app_name": "For test purpose", + "app_owner": "axel", + "app_id": "template", + "sonos_server_ip": "HHH.UUU.GGG.OOO", + "sonos_server_port": "2017", + "room_name": "Ginette", + "multi_read_mode": "none", + "card_timeout": "42"} + + config = self.database.get_config("template") + + self.assertEqual(config.cfg_app_name, card_expected.get("app_name")) + self.assertEqual(config.cfg_app_owner, card_expected.get("app_owner")) + self.assertEqual(config.cfg_application_id, card_expected.get("app_id")) + self.assertEqual(config.cfg_sonos_server_ip, card_expected.get("sonos_server_ip")) + self.assertEqual(config.cfg_sonos_server_port, card_expected.get("sonos_server_port")) + self.assertEqual(config.cfg_room_name, card_expected.get("room_name")) + self.assertEqual(config.cfg_multi_read_mode, card_expected.get("multi_read_mode")) + self.assertEqual(config.cfg_card_timeout, int(card_expected.get("card_timeout"))) + + +if __name__ == '__main__': + + unittest.main() + + diff --git a/modules/cards_bdd/CardsRead_test.py b/modules/cards_bdd/CardsRead_test.py deleted file mode 100644 index 76dac85..0000000 --- a/modules/cards_bdd/CardsRead_test.py +++ /dev/null @@ -1,40 +0,0 @@ -# -# BIPBIPZIZIK -# Unit test for Card and FirebaseBdd classes -# It test the read of cards on production database with a public key -# - -import unittest - -from modules.cards_bdd.Card import Card -from modules.cards_bdd.DbManager import DbManager - - -class CardsRead(unittest.TestCase): - - @classmethod - def setUpClass(cls): - - cls.bdd = DbManager('https://bipbipzizik.firebaseio.com/', 'prod', 'ReadKey.json') - - # def setUp(self): - # nothing yet - - def test_read_card(self): - card_expected = {"user": "user", - "name": "name", - "comment": "comment", - "ids": "template", - "mode": "mode", - "action": "action", - "data": "data"} - - card = self.bdd.get_card("template") - - self.assertEqual(card.parameters, card_expected) - - -if __name__ == '__main__': - - unittest.main() - diff --git a/modules/cards_bdd/ConfigRead_test.py b/modules/cards_bdd/ConfigRead_test.py deleted file mode 100644 index c9bce3f..0000000 --- a/modules/cards_bdd/ConfigRead_test.py +++ /dev/null @@ -1,42 +0,0 @@ -# -# BIPBIPZIZIK -# Unit test for Card and FirebaseBdd classes -# It test the read of cards on production database with a public key -# - -import unittest - -from modules.cards_bdd.Card import Card -from modules.cards_bdd.DbManager import DbManager - - -class ConfigRead(unittest.TestCase): - - @classmethod - #def setUpClass(cls): - - #cls.bdd = DbManager('https://bipbipzizik.firebaseio.com/', 'prod', 'ReadKey.json') - - # def setUp(self): - # nothing yet - - def test_read_config(self): - card_expected = {"app_name": "For test purpose", - "app_owner": "axel", - "app_id": "template", - "sonos_server_ip": "HHH.UUU.GGG.OOO", - "sonos_server_port": "2017", - "room_name": "Ginette", - "multi_read_mode": "none", - "card_timeout": "42"} - self.database = DbManager('https://bipbipzizik.firebaseio.com/', 'prod', 'ReadKey.json') - config = self.database.get_config("template") - config.print() - self.assertEqual(config.cfg_sonos_server_port, "2017") - self.assertEqual(config.cfg_app_name, "For test purpose") - - -if __name__ == '__main__': - - unittest.main() - diff --git a/requirements.txt b/requirements.txt index 645aaff..4e91c39 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,14 @@ -requests -evdev==1.2.0 +# For firebase read only +firebase +python_jwt +gcloud +sseclient +requests-toolbelt +pycryptodome +# For firebase read/write firebase_admin==3.1.0 +requests cryptography==2.8 -urllib3==1.25.6 \ No newline at end of file +urllib3==1.25.7 +# For usb read, not avaiable on windows +evdev==1.2.0 \ No newline at end of file