X-Git-Url: https://git.ayoreis.com/rushbound.git/blobdiff_plain/1b5cabd4c4713f767e274ace122d71c0dfbc7700..251bbce67c7b110e3f6df974ec01ed445b5bba6a:/addons/godot_super-wakatime/utils.gd diff --git a/addons/godot_super-wakatime/utils.gd b/addons/godot_super-wakatime/utils.gd new file mode 100644 index 0000000..4366986 --- /dev/null +++ b/addons/godot_super-wakatime/utils.gd @@ -0,0 +1,71 @@ +func plugin_print(msg) -> void: + """Print message from plugin""" + print("[Godot_Super-Wakatime]: %s" % msg) + +func plugin_print_err(err) -> void: + """Inform about error from plugin""" + push_error("[Godot_Super-Wakatime]: %s" % err) + +func set_platform(): + """Set currently used platform""" + var platform: String = "linux" + var architecture: String = "arm64" + + if OS.has_feature("windows") or OS.has_feature("uwp"): + platform = "windows" + elif OS.has_feature("linux"): + platform = "linux" + elif OS.has_feature("macos"): + platform = "darwin" + elif OS.has_feature("android"): + platform = "android" + elif OS.has_feature("ios"): + platform = "ios" + + if OS.has_feature("x86_64"): + architecture = "amd64" + elif OS.has_feature("x86_32"): + architecture = "amd32" + elif OS.has_feature("arm64"): + architecture = "arm64" + elif OS.has_feature("arm32"): + architecture = "arm32" + + return [platform, architecture] + +func get_waka_build(platform: String, architecture: String) -> String: + """Return wakatime build for current OS""" + return "wakatime-cli-%s-%s" % [platform, architecture] + +func get_ouch_build(system_platform: String) -> String: + """Get build for ouch (compression and decompression tool)""" + var platform: String = "linux-musl" + if system_platform == "windows": + platform = "pc-windows-msvc" + elif system_platform == "darwin": + platform = "apple-darwin" + + return "ouch-%s-%s" % ["x86_64", platform] + +func home_directory(platform: String, plugin_path: String) -> String: + """Get home directory from """ + var home = null + for env in ["WAKATIME_HOME", "USERPROFILE", "HOME"]: + home = OS.get_environment(env) + if home: + if platform == "windows": + home = home.replace("\\", '/') + return home + return plugin_path + +func config_filepath(platform: String, plugin_path: String) -> String: + """Get path to wakatime configuration file""" + return "%s/.wakatime.cfg" % home_directory(platform, plugin_path) + +func wakatime_cli_exists(wakatime_cli) -> bool: + """Return if wakatime cli tool exists already""" + return FileAccess.file_exists(wakatime_cli) + +func wakatime_zip_exists(wakatime_zip: String) -> bool: + "Check if wakatime zip file exists" + return FileAccess.file_exists(wakatime_zip)