async def start(self): class CONNEXION(POST): id = random.randint(0, 100000) class TEST(POST): pass réponse = txtcr.encode(CONNEXION) + txtcr.encode(TEST) while True: if réponse: await self.ws.send(réponse) réponse = await reqclt.recv(await self.ws.recv())
def test_inherit_reprClass_print_name(self): class TestClass(txtcr.Param.REPR["{N#}"]): pomme = "rouge" test = txtcr.decode(txtcr.encode(TestClass)) self.assertEqual("TestClass", repr(test))
def test_inheritance_dateClass_print_full_class(self): date = str(datetime.datetime.today()) class TestClass(txtcr.Param.DATE[date]): test = 10 test = txtcr.encode(TestClass) self.assertEqual('<N#TestClass T#"' + date + '" I#{test 10}>', test)
def test_inherit_reprClass_print_content(self): class TestClass(txtcr.Param.REPR["{I#.pomme}"]): pomme = "rouge" nombre = 10 fraise = ["rouge", "blanche"] test = txtcr.decode(txtcr.encode(TestClass)) self.assertEqual("rouge", repr(test))
async def modif_phrase(requete, client, *, phrase: str = None): print(INFO.phrase, '->', phrase) INFO.phrase = phrase class PHRASE(RESPONSE[200]): phrase = INFO.phrase reponse = txtcr.encode(PHRASE) for user in INFO.users.values(): await user.send(reponse)
def test_inherit_print_fully_embedded_class(self): class ToBeInherited(txtcr.Param.STR["{N#}"]): pomme = "rouge" nombre = 10 fraise = ["rouge", "blanche"] class TestClass(txtcr.Param.STR["<{I#.pouf}>"]): pouf = ToBeInherited patapouf = True test = txtcr.encode(TestClass) self.assertEqual( '<N#TestClass S#"<{I#.pouf}>" I#{pouf <N#ToBeInherited S#"{N#}" ' 'I#{pomme rouge nombre 10 fraise ' '[rouge blanche]}> patapouf True}>', test)
async def run_prog(): print("Ecrivez n'importe quel texte, cela l'envera au serveur." + "\nEcrivez 'GET' pour récupérer le dernier texte envoyé.") while client.ws: texte = await ainput() if not client.ws: break if texte == 'GET': class PHRASE(GET): pass else: class PHRASE(POST): phrase = texte await client.ws.send(txtcr.encode(PHRASE))
def test_str(self): test = "This is a string" self.assertEqual(f'"{test}"', tcr.encode(test))
def test_tuple(self): self.assertEqual('(3 4 5)', tcr.encode((3, 4, 5)))
def test_list(self): self.assertEqual('[0 1 2]', tcr.encode([0, 1, 2]))
def test_dict(self): test = {1: "test", 2: {"test": True}} self.assertEqual('{1 test 2 {test True}}', tcr.encode(test))
def test_int_float(self): self.assertEqual("4", tcr.encode(4), msg="Int") self.assertEqual("3.14", tcr.encode(3.14), msg="Float")
def test_inherit_reprClass_print_full_class(self): class TestClass(txtcr.Param.REPR["<{I#.pouf}>"]): test = 10 test = txtcr.encode(TestClass) self.assertEqual('<N#TestClass R#"<{I#.pouf}>" I#{test 10}>', test)
def test_bools(self): self.assertEqual('False', tcr.encode(False), msg="Builtin bool False") self.assertEqual('True', tcr.encode(True), msg="Builtin bool True")
def test_bytes(self): test = b'test' self.assertEqual(f"'test'", tcr.encode(test))
print("-" * 30) class Pouf(txtcr.Param.S["{N#}"]): pomme = "rouge" nombre = 10 fraise = ["rouge", "blanche"] class Pouet(txtcr.Param.S["<{I#.pouf}>"]): pouf = Pouf patapouf = True # Avec et sans indent r = txtcr.encode(Pouet) print(r) r = txtcr.encode(Pouet, indent=4) print(r) print("-" * 30) r = txtcr.decode(r) print(r) print("-" * 30) class Exemple: uid = 1234 nom = "pouet"
def test_nones(self): self.assertEqual('None', tcr.encode(None), msg="Builtin None")
} """ #or texte = """|;#|;|N#MiniExemple|;|I#{"exemple:"patapouf}""" exemple = txtcr.decode(texte) print(exemple.exemple) #Fichier --------------------------------- fichier = open('exemple.txtcr') exemple = txtcr.decode(fichier=fichier) fichier.close() print(exemple.exemple) fichier = open('exemple.txtcr', 'w') txtcr.encode(exemple, fichier=fichier) fichier.close() #Autre méthode with txtcr.fichier('exemple.txtcr', 'w') as exemple: print(exemple.exemple) exemple.exemple = 'plouf' #Les modifications sont enregistrées automatiquement à la fin #Format 2 simplifié --------------------- exemple = txtcr.decode("""|;# |;|N#FormatSimplifier |;|I#{ "exemple: { "Texte_in_liste:["|arbre;pomme;poire;];