/_tools/get_started.py |
---|
1,4 → 1,4 |
#!/bin/python3 |
#!/usr/bin/python3 |
# Copyright Magomed Kostoev |
# Published under MIT license |
7,14 → 7,14 |
def log(s, end = "\n"): |
print(s, end = end, flush = True) |
def install_python_script(src, dst, tools_lib): |
def install_python_script(src, dst, tools): |
log(f"Copying {src}... ", end = "") |
with open(src) as src_file: |
script = src_file.read() |
tools_lib_escaped = tools_lib.replace("\\", "\\\\") |
repl_from = "path_to_lib = '../lib'" |
repl_to = f"path_to_lib ='{tools_lib_escaped}'" |
tools = tools.replace("\\", "\\\\") |
repl_from = "path_to_tools = '..'" |
repl_to = f"path_to_tools ='{tools}'" |
script = script.replace(repl_from, repl_to, 1) |
with open(dst, "w") as dst_file: |
dst_file.write(script) |
24,11 → 24,10 |
if __name__ == "__main__": |
tools_get_started_py = os.path.abspath(__file__) |
tools = os.sep.join(tools_get_started_py.split(os.sep)[:-1]) |
tools_lib = os.sep.join([tools, "lib"]) |
tools_workspace = os.sep.join([tools, "workspace"]) |
# Copy scripts from _tools/workspace to current folder, but let them know |
# where the _tools/lib is (change their value of tools_lib variable) |
# where the _tools/lib is (change their value of tools variable) |
tools_workspace_run_py = os.sep.join([tools_workspace, "run.py"]) |
tools_workspace_build_py = os.sep.join([tools_workspace, "build.py"]) |
install_python_script(tools_workspace_run_py, "run.py", tools_lib) |
install_python_script(tools_workspace_build_py, "build.py", tools_lib) |
install_python_script(tools_workspace_run_py, "run.py", tools) |
install_python_script(tools_workspace_build_py, "build.py", tools) |
/_tools/lib/logging.py |
---|
0,0 → 1,4 |
def log(s, end = "\n"): |
print(s, end = end, flush = True) |
/_tools/lib/network.py |
---|
0,0 → 1,8 |
import urllib.request |
def download(link, path): |
log(f"Downloading {path}... ", end = "") |
urllib.request.urlretrieve(link, path) |
log("Done.") |
/_tools/lib/platform.py |
---|
0,0 → 1,16 |
import os |
import sys |
def path(*args): |
return os.sep.join(args) |
def is_win32(): |
return True if sys.platform == "win32" else False |
def is_linux(): |
return True if sys.platform == "linux" or sys.platform == "linux2" else False |
def is_osx(): |
return True if sys.platform == "darwin" else False |
/_tools/workspace/build.py |
---|
1,10 → 1,10 |
import sys |
import os |
path_to_lib = '../lib' |
sys.path.append(path_to_lib) |
path_to_tools = '..' |
sys.path.append(path_to_tools) |
import tupfile_parser |
from lib.tupfile_parser import parse as parse_tupfile |
def build(): |
if not os.path.exists("Tupfile.lua"): |
11,7 → 11,7 |
print("No Tupfile.lua, can't build anything") |
exit() |
tup_rules = tupfile_parser.parse("Tupfile.lua") |
tup_rules = parse_tupfile("Tupfile.lua") |
program_files = [] |
for rule in tup_rules: |
# TODO: Manage source dependencies |
/_tools/workspace/run.py |
---|
7,10 → 7,13 |
import build |
path_to_lib = '../lib' |
sys.path.append(path_to_lib) |
path_to_tools = '..' |
sys.path.append(path_to_tools) |
from makeflop import Floppy |
from lib.makeflop import Floppy |
from lib.platform import is_win32, path |
from lib.logging import log |
from lib.network import download |
# TODO: Move into _tools/lib |
def get_file_directory(path): |
24,32 → 27,6 |
return "." # Just a filename, let's return current folder |
# TODO: Move into _tools/lib |
def is_win32(): |
return True if sys.platform == "win32" else False |
# TODO: Move into _tools/lib |
def is_linux(): |
return True if sys.platform == "linux" or sys.platform == "linux2" else False |
# TODO: Move into _tools/lib |
def is_osx(): |
return True if sys.platform == "darwin" else False |
# TODO: Move into _tools/lib |
def log(s, end = "\n"): |
print(s, end = end, flush = True) |
# TODO: Move into _tools/lib |
def download(link, path): |
log(f"Downloading {path}... ", end = "") |
urllib.request.urlretrieve(link, path) |
log("Done.") |
# TODO: Move into _tools/lib |
def path(*args): |
return os.sep.join(args) |
# TODO: Move into _tools/lib |
def run_qemu(start_dir = "workspace"): |
qemu_command = f"qemu-system-i386" |
flags = "" |