From 5733e086a8cd9078d13c68235c7351dc6d619583 Mon Sep 17 00:00:00 2001 From: franck403 <79372051+franck403@users.noreply.github.com> Date: Wed, 21 Feb 2024 13:51:56 -0500 Subject: [PATCH] testing --- main/pyact/__init__.py | 3 ++ main/pyact/api.py | 55 +++++++++++++++++++++++++++++++++ main/pyact/build.py | 69 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 127 insertions(+) create mode 100644 main/pyact/__init__.py create mode 100644 main/pyact/api.py create mode 100644 main/pyact/build.py diff --git a/main/pyact/__init__.py b/main/pyact/__init__.py new file mode 100644 index 0000000..d3ef40d --- /dev/null +++ b/main/pyact/__init__.py @@ -0,0 +1,3 @@ +# api for the html element for pycharm for exemple +from pyact.api import * +from pyact.build import * \ No newline at end of file diff --git a/main/pyact/api.py b/main/pyact/api.py new file mode 100644 index 0000000..199edaa --- /dev/null +++ b/main/pyact/api.py @@ -0,0 +1,55 @@ +class window: + def __init__(self): + self._data = {} + + def __getattr__(self, name): + return self._data.get(name) + + def __setattr__(self, name, value): + self._data[name] = value + +class Dataset: + def __init__(self, element): + self.element = element + + def __getattr__(self, name): + return self.element.getAttribute('data-' + name) + + def __setattr__(self, name, value): + self.element.setAttribute('data-' + name, value) + +class Element: + + def __init__(self, tag): + self.tag = tag + self.children = [] + self.dataset = Dataset(self) + self.attributes = {} + + def appendChild(self, element): + self.children.append(element) + + def setAttribute(self, name, value): + self.attributes[name] = value + + def getAttribute(self, name): + return self.attributes.get(name) + +class Document: + def __init__(self): + self._data = {} + self._id = {} + + def __getattr__(self, name): + return self._data.get(name) + + def __setattr__(self, name, value): + self._data[name] = value + + def createElement(self, tag,id): + self._data[id] = tag + self._id[id] = Element(tag) + return self._data.get(id) + + def getElementById(self, element_id): + return self._id.get(element_id) \ No newline at end of file diff --git a/main/pyact/build.py b/main/pyact/build.py new file mode 100644 index 0000000..0df4237 --- /dev/null +++ b/main/pyact/build.py @@ -0,0 +1,69 @@ +import os +import requests +import threading + +class build: + def __init__(self,filename): + code = open('build.pyon','r').read() + try: + os.mkdir('JSbuild/') + print('building') + except: + print('rebuilding') + #os.chdir('JSbuild/') + self.builder(filename) + def builder(self,filepath): + directory = filepath + files_and_dirs = os.listdir(directory) + for file in files_and_dirs: + file_path = os.path.join(directory, file) + if os.path.isfile(file_path): + if file_path.endswith(".pyact") or file_path.endswith(".py"): + print(file_path) + self.buildFile(file_path) + else: + self.BuildFolder().start() + def BuildFolder(): + class folderT(threading): + def __init__(self,builderT): + super() + self.builderT = builderT + def run(self,folderPath): + directory = folderPath + builderT = self.builderT + files_and_dirs = os.listdir(directory) + for file in files_and_dirs: + file_path = os.path.join(directory, file) + if os.path.isfile(file_path): + if file_path.endswith(".pyact") or file_path.endswith(".py"): + print(file_path) + buildFile(file_path) + else: + builderT(builderT).start() + folderT(folderT).run() + + + def buildFile(self,path): + url = "https://api.extendsclass.com/convert/python/es6" + headers = { + "Content-Type": "text/plain;charset=UTF-8", + "sec-fetch-dest": "empty", + "sec-fetch-mode": "cors", + "sec-fetch-site": "same-site", + } + file = open(path,'r').read() + data = { + "body": file + } + response = requests.post(url, headers=headers, data=data) + if response.ok: + data = response.json() + js = data['stdout'] + else: + print("Error fetching data:", response.status_code, response.reason) + try: + n = open(path.split('/')[1:-1],'w') + except: + n = open(path.split('\\')[1:-1],'w') + n.write(js) + n.close() \ No newline at end of file